Install
openclaw skills install @adsturbo/adsturbo-video-generation从零造画面:文生视频、图生视频、首尾帧补全、多参考素材生成,以及对已有视频做延长和局部编辑。
openclaw skills install @adsturbo/adsturbo-video-generationGenerate video footage from scratch, and extend or locally edit existing video.
Use it when the user says "text-to-video," "image-to-video," "generate a video," "start/end frame," "extend video," "continue video," or "change the background in the video."
To make a character speak, use adsturbo-digital-human; to replicate a reference video, use adsturbo-ad-clone.
ADSTURBO_API_KEY (see below for how to get one)ADSTURBO_BASE_URL, defaults to https://adsturbo.ai/klian/novartapiexport ADSTURBO_API_KEY=<your key>Every plan can call the API with an API key, and usage is billed in credits; if you run out, top up or upgrade at https://adsturbo.ai/pricing. 1080p+ video and 4K images need a subscription (credit packs alone don't count), and creating a custom digital human needs a Pro plan.
If the user has no key yet: when ADSTURBO_API_KEY is not set, or a script reports a missing key or a 401, do not keep retrying. First finish everything that doesn't need the API (clarify the brief, draft the script or prompt, settle aspect ratio, duration, model and other parameters, prepare the exact command), then tell the user they need an AdsTurbo API key and give them the three steps above; once they have it, run the prepared command. Without a key the scripts print "error": "api_key_required" and the steps on stdout. Keep the key in the environment variable and never echo it back in a reply.
# Text-to-video
python3 scripts/video_generation.py generate --prompt "Sunset over the ocean, camera slowly pushing in"
# Image-to-video / start-end frame
python3 scripts/video_generation.py generate --prompt "Product rotating on display" \
--start-frame https://.../product.jpg
# Extend (seedance-2.0 only)
python3 scripts/video_generation.py extend --video-url https://.../clip.mp4 --duration 10
# Local edit (seedance-2.0 only)
python3 scripts/video_generation.py edit --video-url https://.../clip.mp4 \
--prompt "Replace the background with an office" --mask-url https://.../mask.png
duration / resolution / ratio / reference-asset limits differ per model — veo-3.1 only supports 4/6/8 seconds, seedance-2.0 supports 4-15 seconds, and grok doesn't support start-end frames.
Before building a request for the user, check the model comparison table in references/video_generation.md. When a non-default model is specified, verify duration, ratio, and resolution individually. Omitting --model falls back to the server default, which is the simplest option.
extend and edit only support seedance-2.0 — don't recommend other models for these.
--start-frame, --end-frame, --reference-images, --reference-videos, and --video-url do not accept local file paths:
python3 scripts/upload.py image ./frame.jpg
python3 scripts/upload.py file ./clip.mp4
See references/upload.md for details.
All three commands are asynchronous; by default the script submits the job and polls automatically until a result is ready.
query --workspace-id <id> to keep waiting — do not resubmit, the task is still running and resubmitting will incur duplicate charges--no-wait--idempotency-key — the same key will not create a duplicate taskSee references/work.md for details.
| User wants | Use |
|---|---|
| Digital human voiceover / lip sync | adsturbo-digital-human |
| Replicate a reference video | adsturbo-ad-clone |
| Watermark removal / 4K / subtitles | adsturbo-video-enhance |
| Character swap / translation / motion control | adsturbo-video-transform |
| Generate images | adsturbo-image |
从零生成视频画面,以及对已有视频做延长和局部编辑。
用户说「文生视频」「图生视频」「生成一段视频」「首尾帧」「视频延长」「续写视频」「改视频里的背景」时用它。
要让人物说话用 adsturbo-digital-human;要照着一条参考视频复刻用 adsturbo-ad-clone。
ADSTURBO_API_KEY 里,获取方法见下ADSTURBO_BASE_URL,默认 https://adsturbo.ai/klian/novartapiexport ADSTURBO_API_KEY=<你的 Key>任何套餐都能用 API Key 调用,按用量扣积分;积分不够时到 https://adsturbo.ai/pricing 充值或升级。1080p 及以上视频、4K 图片需要订阅(只买积分包不算),创建自定义数字人需要 Pro 套餐。
用户还没有 Key 时:ADSTURBO_API_KEY 没设置、脚本报 Key 缺失或 401 时,不要反复重试。先把不需要调接口就能做的部分做完(理清需求,写好文案或提示词,定好画幅、时长、模型等参数,拼好要执行的完整命令),再告诉用户需要 AdsTurbo API Key,把上面三步发给他;拿到 Key 后直接执行准备好的命令。脚本缺 Key 时会在 stdout 输出 "error": "api_key_required" 和获取步骤。Key 只放在环境变量里,回复里不要回显。
# 文生视频
python3 scripts/video_generation.py generate --prompt "海边日落,镜头缓慢推进"
# 图生视频 / 首尾帧
python3 scripts/video_generation.py generate --prompt "产品旋转展示" \
--start-frame https://.../product.jpg
# 延长(仅 seedance-2.0)
python3 scripts/video_generation.py extend --video-url https://.../clip.mp4 --duration 10
# 局部编辑(仅 seedance-2.0)
python3 scripts/video_generation.py edit --video-url https://.../clip.mp4 \
--prompt "把背景换成办公室" --mask-url https://.../mask.png
duration / resolution / ratio / 参考素材上限每个模型都不一样——veo-3.1 只能 4/6/8 秒,seedance-2.0 是 4~15 秒,grok 不支持首尾帧。
为用户构造请求前,先查 references/video_generation.md 里的模型对照表,指定了非默认 model 时必须逐项核对 duration、ratio、resolution。不传 --model 就走服务端默认,最省事。
extend 和 edit 只支持 seedance-2.0,不要给用户推荐其他模型。
--start-frame --end-frame --reference-images --reference-videos --video-url 都不接受本地文件路径:
python3 scripts/upload.py image ./frame.jpg
python3 scripts/upload.py file ./clip.mp4
三个命令都是异步的,脚本默认提交后自动轮询到出结果。
query --workspace-id <id> 接着等,不要重新提交——任务还在跑,重交会重复扣费--no-wait--idempotency-key,同一个 key 不会重复建任务| 用户想要 | 该用 |
|---|---|
| 数字人口播 / 对口型 | adsturbo-digital-human |
| 照着参考视频复刻 | adsturbo-ad-clone |
| 去水印 / 4K / 字幕 | adsturbo-video-enhance |
| 换角色 / 翻译 / 动作控制 | adsturbo-video-transform |
| 生成图片 | adsturbo-image |