Install
openclaw skills install @adsturbo/adsturbo-ad-clone看中一条广告就照着做一条:自动拉片得出分镜与提示词,再生成同款结构的新视频。也可只做视频分析不生成。
openclaw skills install @adsturbo/adsturbo-ad-cloneFound an ad you like the structure of? Build your own following that same structure.
Use it when the user says "clone this video," "make one like this," "replicate it," "same-style video," "shot-by-shot breakdown," or "analyze this ad."
For generating from scratch without referencing any video, use adsturbo-video-generation.
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.
# 1. Analyze the reference video (synchronous, seconds to 2 minutes)
python3 scripts/ad_clone.py analyze --video-url https://.../reference.mp4
# 2. Generate the new video using the prompt from the analysis
python3 scripts/ad_clone.py generate --prompt "<prompt from previous step>" \
--video-url https://.../reference.mp4 --ratio 9:16
These two steps must be used together — the generate prompt is the output of analyze. In between, you can tweak a few lines of the prompt based on what the user wants — this is the most effective way to adjust the clone's outcome, and it's cheaper than repeatedly rerunning generation.
Each clip has a 12-second cap; for longer videos, trim a segment first with --clip-start / --clip-end.
If you just want to understand a video without generating anything, use inspect. Full parameter reference: references/ad_clone.md.
When the user wants to change the original dialogue, replace the on-screen person or product with their own, or know the credit cost up front, switch to the draft flow:
# 1. Create a draft and wait for the analysis (the trimmed source must not exceed 15 seconds)
python3 scripts/ad_clone.py draft-create --video-url https://.../reference.mp4
# 2. See the edited prompt and the quote -- no charge
python3 scripts/ad_clone.py draft-preview --clone-id <clone_id> \
--line "L1=New line" --ref "person@subject_1=https://.../me.jpg"
# 3. Generate once the user confirms -- this charges credits; keep the edits identical to step 2
python3 scripts/ad_clone.py draft-submit --clone-id <clone_id> \
--line "L1=New line" --ref "person@subject_1=https://.../me.jpg"
draft-submit charges credits: tell the user the quote from draft-preview and submit only after they confirm. See references/ad_clone.md.
--video-url does not accept local file paths:
python3 scripts/upload.py file ./reference.mp4
See references/upload.md for details.
analyze is synchronous — you get the result directly. generate / inspect are asynchronous; the script polls automatically by default until the 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-waitSee references/work.md for details.
analyze can be described to the user so they can confirm whether adjustments are needed before moving on to generateThe finished clone often needs further processing, which belongs to other skills:
| User wants | Use |
|---|---|
| Replace the person in the cloned video with themselves | adsturbo-video-transform |
| Translate the clone into another language for overseas ads | adsturbo-video-transform |
| Remove the original watermark before cloning | adsturbo-video-enhance |
| Generate from scratch with no reference video | adsturbo-video-generation |
| Digital human voiceover | adsturbo-digital-human |
看中一条广告,照着它的结构做一条自己的。
用户说「复刻这条视频」「照着这个拍一个」「仿制」「同款视频」「拉片」「分析这条广告」时用它。
要凭空生成不参考任何视频用 adsturbo-video-generation。
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 只放在环境变量里,回复里不要回显。
# 1. 分析参考视频(同步,秒级到 2 分钟)
python3 scripts/ad_clone.py analyze --video-url https://.../reference.mp4
# 2. 用分析出的 prompt 生成新片
python3 scripts/ad_clone.py generate --prompt "<上一步的 prompt>" \
--video-url https://.../reference.mp4 --ratio 9:16
这两步必须连用,generate 的 prompt 就是 analyze 的产出。中间可以按用户需求改几句 prompt——这是调整复刻效果最有效的地方,比反复重跑生成划算。
单个片段上限 12 秒,长视频用 --clip-start / --clip-end 先裁一段。
只想读懂一条视频、不生成,用 inspect。完整参数见 references/ad_clone.md。
用户想在生成前改掉原片台词、把出镜人物或产品换成自己的、或者先知道要花多少积分,就改用草稿流程:
# 1. 建草稿并等分析完(源片段截取后不能超过 15 秒)
python3 scripts/ad_clone.py draft-create --video-url https://.../reference.mp4
# 2. 看改完的 prompt 和报价,不扣费
python3 scripts/ad_clone.py draft-preview --clone-id <clone_id> \
--line "L1=新台词" --ref "person@subject_1=https://.../me.jpg"
# 3. 用户确认后生成,扣积分;编辑参数和第 2 步保持一致
python3 scripts/ad_clone.py draft-submit --clone-id <clone_id> \
--line "L1=新台词" --ref "person@subject_1=https://.../me.jpg"
draft-submit 会扣积分:先把 draft-preview 的报价讲给用户,确认了再提交。详见 references/ad_clone.md。
--video-url 不接受本地文件路径:
python3 scripts/upload.py file ./reference.mp4
analyze 是同步的,直接拿结果。generate / inspect 是异步的,脚本默认自动轮询到出结果。
query --workspace-id <id> 接着等,不要重新提交——任务还在跑,重交会重复扣费--no-waitanalyze 出来的分镜和提示词可以讲给用户听、请他确认要不要调整,再进 generate复刻出的成片常常还要再加工,那属于别的 skill:
| 用户想要 | 该用 |
|---|---|
| 把复刻结果里的人换成自己 | adsturbo-video-transform |
| 复刻后翻译成外语投海外 | adsturbo-video-transform |
| 去掉原片水印再复刻 | adsturbo-video-enhance |
| 不参考任何视频,凭空生成 | adsturbo-video-generation |
| 数字人口播 | adsturbo-digital-human |