商品短视频广告 Product Video Ad
商品短视频广告。卖点 → 分镜脚本 → 分段生成 → 拼接加字幕成片。当用户说「做条广告」「短视频」「投流素材」「分镜脚本」「带货视频」时使用。 Skill: 商品短视频广告 Product Video Ad Owner: dlazyai Summary: 商品短视频广告。卖点 → 分镜脚本 → 分段生成 → 拼接加字幕成片。当用户说「做条广告」「短视频」「投流素材」「分镜脚本」「带货视频」时使用。 Tags: latest:1.0.16 Version history: v1.0.16 | 2026-10-10T01:55:35.451Z | user 例行版本更新 2026-10-10 v1.0.15 | 2026-10-08T01:47:14.929Z | user 例行版本更新 2026-10-08 v1.0.14 | 2026-10-04T01:47:01.083Z | user 例行版本更新 2026-10-04 v1.0.13 | 2026-10-02T05:18:49.314Z | user 例行版本更新 2026-10-02 v1.0.12 | 2026
Rank
62
Safety
84
Downloads
1.1k
Updated
Oct 11, 2026
Version
1.0.16
Source
CLAWHUB
About
What it does, and when to use it.
Capability contract not published. No trust telemetry is available yet. 1.1K downloads reported by the source. Last updated 10/11/2026.
Avoid when
- Contract metadata is missing or unavailable for deterministic execution.
Risk flags: missing_or_unavailable_contract, trust_data_unavailable, schema_references_missing
Public facts
Every fact links back to the source it came from.
- Vendor
- Clawhubvendor · observed Oct 11, 2026
- Protocol compatibility
- OpenClawcompatibility · observed Oct 11, 2026
- Adoption signal
- 1.1K downloadsadoption · observed Oct 11, 2026
- Latest release
- 1.0.16release · observed Oct 10, 2026
- Handshake status
- UNKNOWNsecurity
Install and run
Setup complexity: low.
clawhub skill install s170j1ymymrxasgd00dsk7tckx84cf45:product-video-ad- Setup complexity is classified as HIGH. You must provision dedicated cloud infrastructure or an isolated VM. Do not run this directly on your local workstation.
- Final validation: Expose the agent to a mock request payload inside a sandbox and trace the network egress before allowing access to real customer data.
Contract: missing
curl -s "https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-product-video-ad/snapshot"
Documentation
CLAWHUB
147,866 characters of source documentation, loaded on request.
Extracted files
5 files captured from the source.
SKILL.md
---
name: product-video-ad
version: 1.0.16
description: 商品短视频广告。卖点 → 分镜脚本 → 分段生成 → 拼接加字幕成片。当用户说「做条广告」「短视频」「投流素材」「分镜脚本」「带货视频」时使用。
---
# product-video-ad — 商品短视频广告
从卖点到成片:写分镜 → 逐镜生成 → 拼接 → 上字幕。
和 [main-image-video](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/main-image-video/skill.md) 的分工:那个是主图位的 3 秒单镜,
这个是**多镜串联的完整广告**,15–30 秒,用于投流。
---
## 一、能力边界
| 能做 | 说明 |
| --- | --- |
| 分镜脚本 | 卖点 → 镜头序列,含时长、画面、字幕 |
| 逐镜生成 | 每个镜头独立生成,失败只重跑那一个 |
| 自动拼接 | ffmpeg 串成成片,编码不一致时自动重编码 |
| 字幕 | 按分镜时长自动生成 SRT,烧录或封装 |
| 品牌一致 | `--brand` 让全片色调运镜统一 |
| 不能做 | 说明 |
| --- | --- |
| 配音配乐 | 脚本给文案,配音配乐请用剪辑软件 |
| 精确卡点 | 生成模型的时长是档位,卡音乐点请后期调 |
| 真人口播 | 用 [ugc-testimonial](https://github.com/dlazy-ai/ecommerce-skills/blob/main/skills/ugc-testimonial/skill.md) |
---
## 二、分镜结构
15 秒带货视频的通用骨架,四段:
| 段 | 时长 | 干什么 | 画面 |
| --- | --- | --- | --- |
| 钩子 | 0–3s | 让人停下来 | 最强视觉冲击:使用场景、痛点对比、意外角度 |
| 卖点 | 3–9s | 说清为什么买 | 2–3 个特写,一个卖点一个镜头 |
| 场景 | 9–13s | 让人代入 | 真实使用场景,模特或环境 |
| 落点 | 13–15s | 给行动理由 | 商品全貌 + 价格/优惠字幕 |
**一个镜头只讲一件事。** 一个镜头塞两个卖点,两个都记不住。
---
## 三、分镜文件
```json
{
"shots": [
{ "id": "s1", "seconds": 3, "image": "docs/flat-lay/example-output.jpg",
"prompt": "Slow push-in on the model wearing the olive cable-knit sweater, cold morning light, breath visible.",
"caption": "零下十度,只穿了这一件" },
{ "id": "s2", "seconds": 3, "image": "docs/flat-lay/garment-flatlay.jpg",
"prompt": "Macro pan across the cable knit texture, fibers catch the light.",
"caption": "粗棒针织,三层锁温" },
{ "id": "s3", "seconds": 4, "image": "docs/flat-lay/example-output.jpg",
"prompt": "The model walks through a city street, sweater moves naturally with the body.",
"caption": "通勤、约会、周末都能穿" },
{ "id": "s4", "seconds": 3, "image": "docs/flat-lay/garment-flatlay.jpg",
"prompt": "Product laid flat on light wood, slow top-down pull-back, clean and calm.",
"caption": "现在下单立减 50" }
]
}
```
`caption` 会按 `seconds` 累加自动排时间轴生成 SRT,不用手对时间码。
---
## 四、工具调用
```bash
export DLAZY_VIDEO_MODEL=<你账号里可用的视频模型 ID>
node scripts/video.mjs --mode storyboard --task product-video-ad \
--board examples/board.json --outdir out/ad --subtitles --brand examples/brand.yaml
# 先看计划,不计费
node scripts/video.mjs --mode storyboard --task product-video-ad \
--board examples/board.json --outdir out/ad --dry-run
```
产出:
```
out/ad/s1.mp4 … s4.mp4 每个镜头
out/ad/captions.srt 字幕
out/ad/concat.txt 拼接清单
out/ad/final.mp4 成片
out/ad/final-sub.mp4 带字幕成片
```
某个镜头失败不影响其他镜头——重跑那一个,再手动拼一次即可。
---
## 五、执行流程
1. **先要卖点,不要直接写分镜**。问用户:主推什么、给谁看、投哪个平台。
2. **写分镜给用户确认**。文字确认比生成完再改便宜一个数量级。
3. **`--dry-run` 看一遍**。确认每镜的 prompt 和参考图对得上。
4. **跑**。逐镜生成,失败的单独补。
5. **看成片**。不满意就改单个镜头重跑,别整条重来。
---
## 六、Prompt 写法
每镜遵循:**运镜 + 主体 + 环境 + 保真约束**
```
<Camera move>. <Subject action>. <Environment>.
Keep the product identical to the reference image.
No text overlay in the frame, no watermark. Photorealistic, cinematic.
```
**关键:`No text overlay in the frame`。** 字幕是_meta.json
{
"ownerId": "kn7c5wgeajfcfvdfb5ceemvdb984cjpd",
"slug": "product-video-ad",
"version": "1.0.16",
"publishedAt": 1791597335451
}references/provider-cli.md
<!-- 由 scripts/build-skills.mjs 从 shared/references/provider-cli.md 同步生成,不要直接改这里。 --> # 后端调用参考 技能正文只写「要生成什么」。认证、计费、错误码、输出结构这些每个技能都一样的东西放在这里, **用到时再读**,不占技能的常驻上下文。 --- ## 一、认证 ### 默认后端 dLazy ```bash dlazy login # 设备码流程,远程 shell 也能用,自动写入本地配置 dlazy auth set <KEY> # 已有 key 时直接写入 ``` key 存在用户配置目录(macOS/Linux `~/.dlazy/config.json`,Windows `%USERPROFILE%\.dlazy\config.json`), 权限限本机用户。也可以每次调用用环境变量 `DLAZY_API_KEY` 传入。 手动获取:登录 [dlazy.com](https://dlazy.com) → [API Key 页面](https://dlazy.com/dashboard/organization/api-key)。 key 按组织隔离,可随时轮换或吊销。 ### 其他后端 本技能库不锁定单一厂商。配好任意一家的 key 即可跑: | 后端 | 环境变量 | 说明 | | --- | --- | --- | | `dlazy` | `dlazy login` 或 `DLAZY_API_KEY` | 默认,最省事 | | `openai` | `OPENAI_API_KEY` | 走 `/v1/images/edits` 与 `/v1/images/generations` | | `gemini` | `GEMINI_API_KEY` | Nano Banana 系列 | | `fal` | `FAL_KEY` | | | `replicate` | `REPLICATE_API_TOKEN` | | | `ark` | `ARK_API_KEY` + `ARK_MODEL` | 火山方舟,模型 ID 需按开通情况填 | 选路优先级:`--provider` 参数 > `PROVIDER` 环境变量 > 第一个配了 key 的 > `dlazy`。 ```bash node scripts/gen.mjs --doctor # 看当前哪个后端可用 ``` 各后端的模型 ID 可用 `GEN_MODEL_OPENAI` / `GEN_MODEL_GEMINI` / `GEN_MODEL_FAL` / `GEN_MODEL_REPLICATE` / `GEN_MODEL_ARK` 覆盖。**厂商目录会变,以各家最新文档为准。** --- ## 二、两种调用方式 ### 方式 A:统一入口(推荐) ```bash node scripts/gen.mjs --task <技能名> --prompt '...' --images a.jpg b.jpg --save out.jpg ``` 它负责:后端选路、默认尺寸档位、失败重试(429/5xx 指数退避)、落盘建目录、成本估算。 ```bash node scripts/gen.mjs --task flat-lay --prompt '...' --dry-run # 不调用不计费,只看要发什么 node scripts/gen.mjs --help ``` ### 方式 B:直接用 dLazy CLI 不想引入 Node 依赖时,技能正文里的 `dlazy ...` 命令可以原样执行,效果等价。 ```bash npx @dlazy/[email protected] <command> # 不装全局二进制 ``` - CLI 源码:[github.com/dlazy-ai/cli](https://github.com/dlazy-ai/cli) · npm 包 `@dlazy/cli` --- ## 三、数据流向 调用 dLazy 时:提示词与参数发往 `api.dlazy.com`;传入的本地图片会上传到 `files.dlazy.com` 供模型读取;产出 URL 同样托管在 `files.dlazy.com`。这是云端生成 API 的通用形态。 换成其他后端时,数据流向对应厂商,不经过 dLazy。 --- ## 四、输出结构 `gen.mjs`(加 `--json`): ```json { "ok": true, "task": "flat-lay", "provider": "dlazy", "model": "gpt-image-2", "files": ["docs/flat-lay/output-sku001.jpg"], "texts": [], "estimatedCredits": 60, "elapsedMs": 58213 } ``` dLazy CLI 原生: ```json { "ok": true, "result": { "tool": "gpt-image-2", "data": { "urls": ["https://files.dlazy.com/data/ai/....jpg"] }, "savedPath": "docs/flat-lay/example-output.jpg" } } ``` 加 `--no-wait` 的异步任务不返回 `data`,返回 `task: { generateId, status }`, 用 `dlazy status <generateId> --wait` 轮询。 文本类模型(如质检)产出在 `result.data.texts[0]`: ```bash dlazy claude-sonnet-5 --prompt '...' --images x.jpg \ | python3 -c 'import sys,json;print(json.load(sys.stdin)["result"]["data"]["texts"][0])' ``` --- ## 五、错误处理 | Code | 类型 | 示例 | | --- | --- | --- | | 401 | 未授权 / 无 key | `ok: false, code: "unauthorized"` | | 501 | 缺必填参数 | `error: required option '--prompt <prompt>' not specified` | | 502 | 本地文件读不到 | `Error: Image file not found: ...` | | 503 | 余额不足 | `ok: false, code: "insufficient_balance"` | | 503 | 服务端错误 | `HTT
references/video-backends.md
<!-- 由 scripts/build-skills.mjs 从 shared/references/video-backends.md 同步生成,不要直接改这里。 -->
# 视频后端配置
图像模型的默认值写死在 `lib/tasks.json` 里,视频模型没有——**因为各家的视频模型
ID 差异大、更新快,写死只会误导**。所以视频技能要求你显式指定。
## 指定模型
```bash
export DLAZY_VIDEO_MODEL=<你账号里可用的视频模型 ID>
# 或每次调用时
node scripts/video.mjs --mode clip --task main-image-video --model <id> ...
```
没设会直接报错,不会拿一个猜的模型名去跑。
## 各后端
| 后端 | 怎么配 | 说明 |
| --- | --- | --- |
| `dlazy` | `DLAZY_VIDEO_MODEL` | 用 `dlazy --help` 看当前账号可用的视频工具 |
| `fal` | `FAL_KEY` + `GEN_MODEL_FAL=<视频模型路径>` | 产出在 `videos[]` 或 `video.url` |
| `replicate` | `REPLICATE_API_TOKEN` + `GEN_MODEL_REPLICATE=<owner/model>` | 产出为 URL |
图生视频时参考图走 `--images`,与图像技能一致。
## 合成依赖
拼接与字幕需要 ffmpeg:
```bash
brew install ffmpeg # macOS
apt install ffmpeg # Debian/Ubuntu
```
没装也能跑——片段照常生成,脚本会输出 `concat.txt`,装好后一条命令补拼。
## 字幕的三级降级
1. **烧录进画面**:需要 ffmpeg 带 libass。很多发行版的预编译包没有。
2. **软字幕轨**:`-c:s mov_text` 封进 MP4,播放器可开关。几乎总能成。
3. **都不行**:`.srt` 留在产物目录旁边,可导入剪辑软件。
脚本自动逐级尝试,不用你判断。查本机是否支持烧录:
```bash
ffmpeg -hide_banner -filters | grep ' subtitles '
```
## 分镜文件
```json
{
"shots": [
{ "id": "s1", "seconds": 3, "image": "main.jpg",
"prompt": "Slow push-in on the product, soft light sweeps across the surface.",
"caption": "三层加厚,零下也不怕" }
]
}
```
`caption` 会按 `seconds` 累加时间轴自动生成 SRT,不用手对时间码。scripts/lib/tasks.json
{
"_note": "技能 → 默认模型与参数。dlazy 列为默认后端的模型名;其他后端走 providers.mjs 的通用映射,可用 GEN_MODEL_<PROVIDER> 覆盖。",
"_credits": { "gpt-image-2": 60, "seedream-5.0": 30, "seedream-5.0-pro": 45, "banana-pro": 25, "claude-sonnet-5": 3 },
"tasks": {
"flat-lay": { "model": "gpt-image-2", "size": "1024x1536", "quality": "high", "format": "jpeg" },
"wear-everything": { "model": "gpt-image-2", "size": "1024x1536", "quality": "medium", "format": "jpeg" },
"image-fusion": { "model": "seedream-5.0", "size": "3:4", "resolution": "2k" },
"one-shot": { "model": "gpt-image-2", "size": "1024x1536", "quality": "medium", "format": "jpeg" },
"fission-pattern": { "model": "gpt-image-2", "size": "1024x1536", "quality": "medium", "format": "jpeg" },
"item-detail": { "model": "seedream-5.0-pro", "size": "3:4", "resolution": "2k" },
"creative-scene": { "model": "banana-pro", "size": "1024x1536", "format": "jpeg" },
"batch-image": { "model": "seedream-5.0", "size": "3:4", "resolution": "2k" },
"to-3d": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"clothing-extraction": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"fabric-on-body": { "model": "gpt-image-2", "size": "1024x1536", "quality": "high", "format": "jpeg" },
"clothing-detail": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"clothing-grass-planting": { "model": "gpt-image-2", "size": "1024x1536", "quality": "medium", "format": "jpeg" },
"item-selling-point": { "model": "seedream-5.0-pro", "size": "1:1", "resolution": "2k" },
"item-change-background": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"remove-watermark": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"material-enhancement": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"item-repair": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"detect-task": { "model": "claude-sonnet-5", "text": true },
"listing-optimizer": { "model": "gpt-image-2", "size": "1024x1024", "quality": "high", "format": "jpeg" },
"cross-border-localize": { "model": "seedream-5.0-pro", "size": "1:1", "resolution": "2k" },
"brand-kit": { "model": "gpt-image-2", "size": "1024x1536", "quality": "high", "format": "jpeg" },
"platform-compliance": { "model": "claude-sonnet-5", "text": true },
"main-image-video": { "model": "$DLAZY_VIDEO_MODEL", "video": true },
"product-AionUi
Free, local, open-source 24/7 Cowork app and OpenClaw for Gemini CLI, Claude Code, Codex, OpenCode, Qwen Code, Goose CLI, Auggie, and more | 🌟 Star if you like it!
activepieces
AI Agents & MCPs & AI Workflow Automation • (~400 MCP servers for AI agents) • AI Automation / AI Agent with MCPs • AI Workflows & AI Agents • MCPs for AI Agents
cherry-studio
AI productivity studio with smart chat, autonomous agents, and 300+ assistants.
CopilotKit
The Frontend for Agents & Generative UI. React + Angular
Machine-readable data
The same record, as JSON, for agents and crawlers.
{
"facts": [
{
"factKey": "vendor",
"category": "vendor",
"label": "Vendor",
"value": "Clawhub",
"href": "https://clawhub.ai/dlazyai/skills/product-video-ad",
"sourceUrl": "https://clawhub.ai/dlazyai/skills/product-video-ad",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T07:07:23.882Z",
"isPublic": true
},
{
"factKey": "protocols",
"category": "compatibility",
"label": "Protocol compatibility",
"value": "OpenClaw",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-product-video-ad/contract",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-product-video-ad/contract",
"sourceType": "contract",
"confidence": "medium",
"observedAt": "2026-10-11T07:07:23.882Z",
"isPublic": true
},
{
"factKey": "traction",
"category": "adoption",
"label": "Adoption signal",
"value": "1.1K downloads",
"href": "https://clawhub.ai/dlazyai/product-video-ad",
"sourceUrl": "https://clawhub.ai/dlazyai/product-video-ad",
"sourceType": "profile",
"confidence": "medium",
"observedAt": "2026-10-11T07:07:23.882Z",
"isPublic": true
},
{
"factKey": "latest_release",
"category": "release",
"label": "Latest release",
"value": "1.0.16",
"href": "https://clawhub.ai/dlazyai/product-video-ad",
"sourceUrl": "https://clawhub.ai/dlazyai/product-video-ad",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-10T01:55:35.451Z",
"isPublic": true
},
{
"factKey": "handshake_status",
"category": "security",
"label": "Handshake status",
"value": "UNKNOWN",
"href": "https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-product-video-ad/trust",
"sourceUrl": "https://www.xpersona.co/api/v1/agents/clawhub-dlazyai-product-video-ad/trust",
"sourceType": "trust",
"confidence": "medium",
"observedAt": null,
"isPublic": true
}
],
"events": [
{
"eventType": "release",
"title": "Release 1.0.16",
"description": "例行版本更新 2026-10-10",
"href": "https://clawhub.ai/dlazyai/product-video-ad",
"sourceUrl": "https://clawhub.ai/dlazyai/product-video-ad",
"sourceType": "release",
"confidence": "medium",
"observedAt": "2026-10-10T01:55:35.451Z",
"isPublic": true
}
]
}Record generated Oct 11, 2026.
