Tools
Atlascloud Provider
OpenClaw video generation provider for Atlas Cloud (Kling, Veo, Seedance, Wan, Vidu, Sora, Hailuo) — third-party plugin for ClawHub/npm
Install
npm install
npm
Configuration Example
{
"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 }
}
}
}
}
}
README
# @atlascloud/openclaw-atlascloud-provider
OpenClaw video generation provider for [Atlas Cloud](https://atlascloud.ai). 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 `/uploadMedia` and 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](https://github.com/openclaw/openclaw/blob/main/VISION.md), [CONTRIBUTING.md](https://github.com/openclaw/openclaw/blob/main/CONTRIBUTING.md), and the [plugin docs](https://docs.openclaw.ai/plugins/building-plugins)).
## Install
This is a code plugin. Install it with the OpenClaw CLI.
From ClawHub (recommended):
```bash
openclaw plugins install clawhub:AtlasCloudAI/openclaw-atlascloud-provider
```
From npm (also supported during the launch cutover):
```bash
openclaw plugins install npm:@atlascloud/openclaw-atlascloud-provider
```
Verify it loaded:
```bash
openclaw plugins inspect atlascloud --runtime --json
```
Update later with `openclaw plugins update atlascloud`.
## Configure the API key
The provider authenticates with an Atlas Cloud API key. Get one from the [Atlas Cloud dashboard](https://atlascloud.ai), 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):
```bash
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):
```bash
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`.
## Usage
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-video`
- `atlascloud/google/veo3.1/image-to-video`
- `atlascloud/kwaivgi/kling-v3.0-pro/text-to-video`
- `atlascloud/bytedance/seedance-v1.5-pro/text-to-video`
- `atlascloud/alibaba/wan-2.7/text-to-video`
- `atlascloud/vidu/q3/reference-to-video`
- `atlascloud/openai/sora-2/text-to-video`
- `atlascloud/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.
## Per-model `extraParams` config
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.
```jsonc
{
"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 }
}
}
}
}
}
```
## Local development
```bash
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 OpenClaw
```
`npm run build` is required before publishing: installed plugins load the built `dist/index.js` via `openclaw.runtimeExtensions`.
## Credits
The provider implementation was contributed upstream as the OpenClaw Atlas Cloud video provider proposal — issue [openclaw/openclaw#62456](https://github.com/openclaw/openclaw/issues/62456) and PR [#62457](https://github.com/openclaw/openclaw/pull/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.
## License
MIT. See [LICENSE](./LICENSE).
tools
Comments
Sign in to leave a comment