---
name: 电商广告视频创作
description: 电商产品广告/带货/种草/商品口播/主图详情视频的一站式生成技能。当用户要求为某个产品（提供实拍产品图、仅给文字描述、给成品配音、或给竞品爆款视频链接）生成产品展示视频、促销广告、带货讲解、模特试用或多分镜广告片时使用。自动完成素材角色判定、缺图批量补图、广告分镜规划、原生口播/成品音频驱动两种声音路线选择、长内容切分、尾帧+产品主图双锚点续作、多段拼接与 BGM 混音，并内置广告法合规审查与成片质检，输出嘴型同步、产品不漂移、口播合规的电商成片。
metadata:
    tools: [generateVideo, generateImages, videoEditor, hearing, videoDownloader]
---

# 电商广告视频创作

## 0. 工具角色与硬约束

| 工具 | 职责 | 关键硬约束 |
|---|---|---|
| generateVideo | **唯一视频生成入口**，自带口播语音生成，返回成片路径与**尾帧** | 7 参数必传；model 固定 `'minimax-h3'`；duration 为 *4–15 整数**；ratio 仅 `'9:16'`（默认）/`'16:9'`；referenceImages ≤9；referenceAudios ≤3 且**合计 ≤15s**；空集传 `[]` |
| generateImages | 批量并发生成补图（产品概念图/模特图/场景图/细节图），统一返回并区分成败 | 入参为 imageRequests 数组，**每项 6 字段必传**：savePath、prompt、model、aspectRatio、imageSize、referImagesPath（无参考传 `[]`）；model 默认 `'image-2'`，**仅当用户明确要求"高质量/image-2-pro"时才用 `'image-2-pro'`**；imageSize 默认 `'1K'`（微距特写可 2K）；referImagesPath ≤14；**aspectRatio 必须与成片 ratio 一致**（视频只支持 9:16/16:9，补图比例必须收敛到这两个，禁止生成 1:1 等视频装不下的比例） |
| videoEditor | FFmpeg 透传：统一规格、拼接、抽帧、抽音轨、替换/混合音轨 | cmdArgs 不含 ffmpeg、-i、输出路径；多输入时 input 传路径数组 |
| hearing | 转写文本、逐句时间戳、时长、发音人；用于音频切分与成片回听质检 | 文件 <1200M |
| videoDownloader | 仅用于下载网络对标视频/音频 URL | type：`video_hd`/`video`/`audio` |

**三条铁律：**
1. **全片声音路线只能二选一且全段统一**（见 1.3）：要么全段原生口播，要么全段成品音频驱动，禁止混用导致音色跳变。
2. **真实商品信息（品牌、包装、价格、折扣、参数、认证、功效）只能来自用户输入**，任何工具都不得臆造；AI 补图只补场景/模特/氛围，不补品牌标识。
3. **本技能不包含 TTS/声音克隆类工具**：口播优先由 generateVideo 原生生成；需要逐字精确的指定配音时，要求用户提供成品音频文件走 R2，禁止寻找或调用任何 TTS 工具。

---

## 1. 输入识别与路由（开工第一步）

### 1.1 解析六要素（缺项一次性向用户问清，不逐项追问）

①产品：名称、外观/SKU、实拍图；②核心卖点（≤3 个）；③口播文案（没有则按卖点起草后经用户确认）；④促销信息（价格/折扣/时限，无真实依据不写）；⑤投放渠道与比例（默认 9:16）；⑥素材清单：图片/成品配音/对标视频 URL/BGM 文件。

### 1.2 素材图角色判定（逐张判定，按分镜分配，禁止每段塞全部图）

| 图像类型 | 角色 | 使用规则 |
|---|---|---|
| 产品正面/包装清晰图 | **产品主图（一致性锚点）** | **每一段都必须带**，prompt 锁定外观/颜色/包装/logo/文字 |
| 质地/细节/局部特写 | 细节图 | 仅在对应卖点分镜传入 |
| 模特上身/使用图 | 模特图 | 仅在模特分镜传入；同时作人物形象锚点 |
| 使用环境/布景 | 场景图 | 仅在对应场景分镜传入 |
| 竞品/对标截图 | 参考分镜 | 只参考构图节奏，**不进 referenceImages**，避免产品被带偏 |

referenceImages 排序：`[上段尾帧(续作段), 产品主图, 本分镜专用图...]`，总数 ≤9。

### 1.3 声音路线决策（二选一，全片统一）

| 路线 | 触发条件 | 做法 |
|---|---|---|
| **R1 原生口播（默认）** | 短广告、无外部配音、文案简单 | 台词写进 generateVideo 的 prompt，referenceAudios 传 `[]` |
| **R2 成品音频驱动** | 用户直接给了专业录音/成品配音，或要求逐字精确念读指定音频 | hearing 校验并按 ≤15s 切段，作为 referenceAudios 驱动对嘴，prompt 不写台词，成片用原音频 remux |

### 1.4 输入组合路由矩阵

| 用户输入 | 走向 |
|---|---|
| 产品图 + 文案 | 流程 A（R1 原生；用户另给成品配音则转 R2） |
| 仅文字/想法，无任何图 | 流程 B 补图 → 用户确认 → 流程 A |
| 产品图但缺模特/场景/细节图 | 流程 B（generateImages 的 referImagesPath 带实拍主图，保证产品一致）→ A |
| 图 + 成品配音音频 | R2：hearing 切分 → 流程 A 的内容驱动变体 |
| 对标视频 URL（±图±文案） | 流程 C 二创翻拍 |
| 本地视频素材混剪 | 不经下载器，videoEditor 直接抽帧/抽音轨后汇入 |
| 需要 BGM | 用户提供合规 BGM 文件 → 流程 D 混音；禁止编造 BGM 来源，模型本身不生成 BGM |
| 多个不同分镜 | 第 2 节分镜规划 → 逐段生成 → 流程 D 拼接 |

---

## 2. 广告分镜规划（生成前必须先出分镜表）

### 2.1 黄金结构（按顺序选 3–6 个分镜）

1. **3 秒钩子**：视觉冲击/痛点提问/效果悬念，抓住停留；
2. **痛点/场景**：目标用户使用场景与需求；
3. **卖点演示**（可多段）：每段只讲 1 个卖点，口播说到哪、画面展示到哪；
4. **信任背书/对比**：细节、材质、参数（仅用户提供的真实信息；对比仅用真实素材）；
5. **CTA 行动指令**：优惠信息 + 引导下单（优惠必须有真实依据）。

### 2.2 分镜表（随执行更新，时间戳从 0 开始）

| 段号 | 结构角色 | 画面/运镜 | 口播文案 | 参考图 | 配音文件 | duration | 尾帧 | 成片 | 校验 |
|---|---|---|---|---|---|---|---|---|---|

### 2.3 时长与文案预算

- 单段 duration 为 4–15 整数，**电商建议 5–10s**；中文口播 4–5 字/秒，单段文案 ≤70 字，只在语义停顿处切；
- R2 路线以 hearing 测出的音频实际时长为准，`duration = 向上取整(音频秒数)`；
- 常见规格：15s 成片 = 2–3 段，30s = 4–6 段；段数超出时合并同卖点镜头，不硬塞。

### 2.4 电商镜头语言库

| 目的 | 景别/运镜 |
|---|---|
| 钩子定格 | 快推特写、高对比光、产品旋转入场 |
| 外观展示 | 缓慢 360° 环绕、旋转台、正反两面 |
| 质地卖点 | 微距推近、慢动作流动/拉丝/回弹/滴落 |
| 功能演示 | 第一视角操作、步骤特写、开合/安装 |
| 模特试用 | 胸像/全身中景，自然试用动作与表情 |
| 效果对比 | 固定机位左右分屏（**仅真实素材**） |
| CTA | 产品居中、手势引导；字幕价格后期叠加 |

### 2.5 品类模板速查

- **服饰**：挂拍全貌 → 模特上身 → 面料微距 → 走动动态；讲版型/面料/搭配/尺码；
- **美妆护肤**：瓶身 → 质地特写 → 上脸手法 → 肤感妆效（效果必须真实素材，不演示"疗效"）；
- **食品**：包装 → 开盖 → 质地/拉丝/热气微距 → 食用满足感；
- **3C 家电**：外观全貌 → 接口细节 → 功能操作 → 参数字幕（参数只来自用户资料）；
- **家居日用**：场景全貌 → 使用过程 → 材质细节 → 尺寸/收纳。

### 2.6 渠道与比例

抖音/快手/视频号/小红书竖屏 → 9:16；天猫京东详情页、横版投放 → 16:9。**工具不支持 1:1 主图视频**，用户要求正方形时明确说明并改走 9:16/16:9。补图比例与成片严格一致。

---

## 3. 通用工程规则

### 3.1 项目目录（禁止文件平铺散落）

```
./projects/<task_id>/
├── images/      # 用户图、抽帧、generateImages 补图
├── audio/       # 成品配音切段、BGM
├── frames/      # 各段尾帧 tail_00N.jpg
├── segments/    # 各段视频 seg_00N.mp4
└── final/       # 拼接成片、完整音轨
```

### 3.2 尾帧 + 产品主图双锚点（防产品漂移的核心）

1. 首段 referenceImages = `[产品主图, 本分镜专用图...]`；
2. 第 N 段（N≥2）= `[第 N-1 段返回尾帧, 产品主图, 本分镜专用图...]`，**只传尾帧不传主图会导致包装/颜色逐段变形**；
3. 续作 prompt 开头写"参考图 1 为上一秒画面，无缝继续；产品与参考图 2 完全一致"，只描述本段新动作/新台词，不复述上段；
4. 某段返工：从该段起重跑其后全部尾帧链段落。

### 3.3 规格统一

拼接前每段经 6.1 统一为：9:16→768×1344，16:9→1344×768，30fps、yuv420p、AAC，杜绝花屏/音轨丢失/黑边。

---

## 4. 执行工作流

### 流程 A：实拍图直出（主流程）

1. 按第 1 节解析与路由、第 2 节出分镜表并与用户确认文案（含合规扫描，见第 7 节）。
2. 逐段 generateVideo：model `'minimax-h3'`；R1 时 referenceAudios `[]`、台词写入 prompt（模板 5.1）；R2 时 referenceAudios 放本段配音、prompt 只写画面；referenceImages 按 3.2 组织；duration 按 2.3；savePath 落 segments/。
3. 每段返回尾帧存 frames/ 并更新分镜表。
4. 进入流程 D 统一规格、拼接、（R2）音轨 remux，再做第 8 节质检。

### 流程 B：缺图批量补图（generateImages）

1. 对照分镜表盘点缺口（模特图/场景图/细节图/概念图），**一次性并发**提交全部 imageRequests，不分张串行等待。
2. 每项参数：savePath 落 images/；prompt 用 5.2 结构；model 默认 `'image-2'`（用户明确说高质量才 `'image-2-pro'`）；aspectRatio = 成片比例；imageSize 默认 1K（微距/质地特写用 2K）；**referImagesPath 传入用户实拍产品图（≤14）做产品锚定**，纯概念且无实拍时传 `[]`。
3. 返回后区分成功/失败项，**只抽取失败项重试**，不整批重跑。
4. 含产品/模特/包装的关键图必须经用户确认后，才允许进入视频生成；未确认图只作备选。
5. 回到流程 A，按 1.2 把确认图分配进各分镜。

### 流程 C：对标视频二创翻拍

1. videoDownloader：要画面参考用 `video_hd`、只扒口播用 `audio`，存项目目录；本地文件跳过下载。
2. videoEditor 抽音轨（6.6）→ hearing 转写逐句文案与时间戳；抽 1–3 帧参考构图（6.7），**抽帧不进 referenceImages**（避免产品被带偏，仅作分镜参考）。
3. 文案洗稿：保留钩子结构与卖点逻辑，全部换表达、换语序、口语化，禁止逐句搬运；同步过第 7 节合规扫描。
4. 用户产品图作产品主图，汇入流程 A 生成（二创新片默认 R1 原生口播；用户提供成品配音时走 R2）。

### 流程 D：拼接、混音与字幕

1. 每段经 6.1 统一规格后按 6.2 concat 拼接。
2. R2：按 6.4 拼完整配音轨并用 6.5 替换成片音轨。
3. 加 BGM（用户提供合规音频）：按 6.8 把 BGM 压到约 -18dB 与配音 amix（人声始终清晰，不被盖住），再 6.5 挂回成片。
4. 字幕/价格贴纸/促销标签**一律用 videoEditor 后期叠加（drawtext），禁止让视频模型生成画面内文字**（AI 生成文字几乎必然乱码）；无中文字体条件时改为交付字幕文件并说明。

---

## 5. Prompt 模板

### 5.1 generateVideo 七段式（直接套用）

```
【主体一致性】参考图1为上一秒尾帧，从该画面无缝继续（首段删除此句）；参考图2为产品主图，产品的外观、颜色、形状、包装、logo与文字标识必须与主图完全一致，不变形、不改字、不换款式。
【产品场景】<产品名+材质质感+场景+光线，如：雾面玻璃瓶身的精华液，置于米白浴室台面，柔和窗边自然光>
【机位运镜】<取自2.4，如：微距镜头缓慢推近瓶口，镜头稳定不晃>
【产品动作】<如：滴管吸起精华、乳白色液体缓慢滴落、瓶身旋转展示标签>
【人物】<无模特删此行；如：年轻女性手持产品对镜微笑，将产品举至胸前展示正面>
【声音】R1原生：用热情有感染力、节奏明快的促销语气自然播报："<本段文案>" ／ R2成品驱动：人物/旁白口型严格同步参考音频，不发出参考音频以外的任何声音
【约束】全程只有一个产品且与主图一致，包装文字清晰不乱码，不出现多余肢体/手指，无错误logo，不自行出现字幕、水印、价格牌，画面稳定流畅。
```

### 5.2 generateImages 补图结构

```
<产品锚定>严格参考 referImagesPath 中产品图的外观、颜色、包装、logo，不得更改产品任何细节；
<画面内容>如：同一位年轻亚洲女性模特在明亮卧室穿着该产品（服饰类）/ 产品置于北欧风木质桌面搭配晨光与绿植（场景类）/ 产品质地微距特写，突出细腻泡沫（细节类）；
<风格>商业广告摄影，柔光，浅景深，高级感，构图留白；
aspectRatio 与成片一致；不要生成任何文字、标语、水印。
```

---

## 6. videoEditor 标准配方（cmdArgs 不含 ffmpeg、-i、输出路径）

### 6.1 单段统一规格（9:16；16:9 把 768:1344 换 1344:768）

```
cmdArgs: ['-vf','scale=768:1344:force_original_aspect_ratio=decrease,pad=768:1344:(ow-iw)/2:(oh-ih)/2,setsar=1,fps=30','-ar','44100','-ac','2','-c:v','libx264','-pix_fmt','yuv420p','-c:a','aac']
```

### 6.2 N 段拼接（段数 N 与流标签数量严格对应）

```
input: [seg_001.mp4, ..., seg_00N.mp4]
cmdArgs: ['-filter_complex','[0:v][0:a][1:v][1:a]...[N-1:v][N-1:a]concat=n=N:v=1:a=1[v][a]','-map','[v]','-map','[a]','-c:v','libx264','-c:a','aac']
```

### 6.3 音频按时间切段（R2 成品配音长音频切分）

```
cmdArgs: ['-ss','00:00:00.000','-to','00:00:12.000','-c:a','pcm_s16le']
```

### 6.4 配音段拼接为完整音轨（R2）

```
input: [voice_seg_001.wav, ..., voice_seg_00N.wav]
cmdArgs: ['-filter_complex','[0:a][1:a]...[N-1:a]concat=n=N:v=0:a=1[a]','-map','[a]','-c:a','pcm_s16le']
```

### 6.5 成片替换音轨（R2 必做，保证零口型漂移）

```
input: ['concat_video.mp4','final_audio.wav']
cmdArgs: ['-map','0:v:0','-map','1:a:0','-c:v','copy','-c:a','aac','-shortest']
```

### 6.6 抽音轨（二创转写用）

```
cmdArgs: ['-vn','-c:a','pcm_s16le']
```

### 6.7 抽帧（二创构图参考；续作尾帧优先用 generateVideo 返回值）

```
指定时间: ['-ss','00:00:03.000','-frames:v','1']
最后一帧: ['-sseof','-0.5','-frames:v','1']
```

### 6.8 BGM 压低并与配音混音（再用 6.5 挂回成片）

```
input: ['voice.wav','bgm.mp3']
cmdArgs: ['-filter_complex','[1:a]volume=0.12[bgm];[0:a][bgm]amix=inputs=2:duration=first:dropout_transition=0[a]','-map','[a]','-c:a','pcm_s16le']
```

---

## 7. 广告合规红线

1. **绝对化用语禁用**：最/最佳/最好/第一/顶级/极致/国家级/世界级/绝无仅有/100%/永久/万能/根治 等，口播与字幕都不允许；替代表达："口碑款/很多用户复购/表现出色"。
2. **功效边界**：食品、保健食品、化妆品、消杀用品不得宣称治疗或医疗功效、不得使用医疗术语、不得承诺速效；普通商品不得宣称自身不具备的功能。
3. **促销真实**：半价、立减、最低价、限时、倒计时、库存紧张、销量/榜单第一，必须有用户提供的真实依据与时限；依据缺失一律删除，不得自创。
4. **信任元素不得臆造**：品牌名、logo、专利号、认证标志（3C/CE/FDA/有机/免检）、名人代言、权威机构提名、与竞品的对比，全部只能来自用户素材。
5. **效果对比**：使用前/后对比、瘦身/美白/祛痘等效果画面只能用用户提供的真实素材，禁止 AI 生成虚构效果。
6. 发现用户原始文案踩线：**先标注违禁点并给出合规替代文案请用户确认**，不把违禁话术送入任何生成工具。

## 8. 硬性禁令

- 禁止 duration 超出 4–15 整数、referenceImages 超 9、referenceAudios 超 3 条或合计超 15s；generateVideo 七参数、generateImages 每项六字段缺一时禁止调用，空集传 `[]`。
- 禁止用户未明确要求高质量时使用 image-2-pro；禁止补图比例与成片比例不一致。
- 禁止全片混用两条声音路线；R2 禁止在 prompt 里另写台词，R1 禁止同时传配音音频。
- 禁止续作段只传尾帧不带产品主图；禁止让视频模型生成画面内文字/价格/字幕。
- 禁止原样搬运对标视频文案；禁止交付未经合规扫描与回听质检的成片。
- 同一动作连续失败两次：换切分点/参考图组合/生成参数重试，不得把生成工作甩给用户手工完成。
