OpenClaw video generation provider for Atlas Cloud. Adds a single atlascloud provider that generates video across the major hosted families — Kling, Veo, Seedance, Wan, Vidu, Sora, and Hailuo — through one OpenClaw video-generation contract.
- Text-to-video, image-to-video (incl. start/end-frame), reference-to-video, and video-to-video.
- Schema-driven per-model request mapping (correct field names, value ranges, separators, and defaults per family).
- Automatic large-asset upload (buffers >= 2 MiB are POSTed to Atlas Cloud
/uploadMediaand referenced by URL; smaller assets stay inline as base64). - SSRF-guarded HTTP via the OpenClaw plugin SDK runtime.
This is a third-party plugin maintained by Atlas Cloud and published to ClawHub / npm. It is not bundled in the OpenClaw core repository, per OpenClaw's plugin policy (VISION.md, CONTRIBUTING.md, and the plugin docs).
This is a code plugin. Install it with the OpenClaw CLI.
From ClawHub (recommended):
openclaw plugins install clawhub:AtlasCloudAI/openclaw-atlascloud-providerFrom npm (also supported during the launch cutover):
openclaw plugins install npm:@atlascloud/openclaw-atlascloud-providerVerify it loaded:
openclaw plugins inspect atlascloud --runtime --jsonUpdate later with openclaw plugins update atlascloud.
The provider authenticates with an Atlas Cloud API key. Get one from the Atlas Cloud dashboard, then either run the onboarding wizard or set the environment variable.
Wizard (sets a sensible default video model on first add, without overwriting an existing choice):
openclaw onboard
# choose "Atlas Cloud API key" under the Atlas Cloud group, or pass it directly:
openclaw onboard --atlascloud-api-key sk-...Environment variable (either name is accepted):
export ATLASCLOUD_API_KEY="sk-..."
# legacy alias also recognized:
# export ATLAS_CLOUD_API_KEY="sk-..."The default video model applied on first onboarding is atlascloud/google/veo3.1-fast/text-to-video.
Once configured, Atlas Cloud is available as a video generation provider. Reference a model as atlascloud/<vendor-model-path>, for example:
atlascloud/google/veo3.1/text-to-videoatlascloud/google/veo3.1/image-to-videoatlascloud/kwaivgi/kling-v3.0-pro/text-to-videoatlascloud/bytedance/seedance-v1.5-pro/text-to-videoatlascloud/alibaba/wan-2.7/text-to-videoatlascloud/vidu/q3/reference-to-videoatlascloud/openai/sora-2/text-to-videoatlascloud/minimax/hailuo-2.3/text-to-video
Unknown model ids fall back to the matching family baseline, so newly released models in a known family work without a plugin update.
Generic request fields (aspect ratio, resolution, size, duration, audio, input images/videos) are translated to each family's real body fields automatically. Unsupported values are rejected with a clear error listing the allowed options for that model.
Any model-specific knob that the generic request fields do not cover (e.g. cfg_scale, seed, negative_prompt, URL audio) can be passed through verbatim with models.providers.atlascloud.extraParams. Keys are either an exact model id or a prefix ending in /. Resolution order (later wins): longest matching prefix, then exact id, then anything the request itself derived — so extraParams always has the final say.
npm install
npm run build # tsc -> dist/ (ESM .js + .d.ts)
npm test # vitest run (offline body-builder unit tests)
openclaw plugins install --link ./ # try the local checkout in OpenClawnpm run build is required before publishing: installed plugins load the built dist/index.js via openclaw.runtimeExtensions.
The provider implementation was contributed upstream as the OpenClaw Atlas Cloud video provider proposal — issue openclaw/openclaw#62456 and PR #62457 by @divolleggett. This repository packages that implementation as a standalone, separately published third-party plugin maintained by Atlas Cloud, following OpenClaw's guidance to ship vendor-specific providers through ClawHub / npm rather than the core repo.
MIT. See LICENSE.
{ "models": { "providers": { "atlascloud": { // optional: override the API base URL // "baseUrl": "https://api.atlascloud.ai", "extraParams": { // applies to every kling-v3.0-pro model (prefix match) "kwaivgi/kling-v3.0-pro/": { "cfg_scale": 0.7 }, // applies to exactly this model and overrides the prefix above "kwaivgi/kling-v3.0-pro/text-to-video": { "seed": 42 } } } } } }