提炼自
kb-raw/04-SOP工作流/:SOP-视频脚本生成工作流/(SOP 正文 +flow/六个流程模板 +scripts/)与SOP-变装视频生成工作流/。这是产线B(口播 / 商业短视频)的执行骨架。产线A(音乐 MV)走的是
references/pipeline-a-song-mv.md。
人不做初稿,AI 不做终稿。
| 原则 | 含义 |
|---|---|
| 漏斗式生成 | 对标 → 仿写 → 分镜 → 素材。不跳步 |
| 人不做初稿 | AI 负责快速生成草稿和逻辑梳理 |
| AI 不做终稿 | 人类负责经验判断、策略把控、业务修正 |
| 分段作业 | 不一次生成全稿;每阶段单独会话输出,人工确认后再进下一阶段 |
迭代节奏:初稿目标 65 分 → 修正后 75–80 分 → 终稿。 先做好 1 个案例的格式和逻辑,验证通过后套用到其他案例。
阶段0 准备资料(人工)
↓ 对标视频链接 + 语音转写文案 + 产品信息 + 品牌调性
阶段1 文案获取(AI辅助 → 人工确认)
↓ 抖音文案.md + video.mp4
阶段2 脚本仿写(AI初稿 → 人工确认)
↓ 文案-仿写版.md(10 个版本)
阶段3 分镜生成(AI初稿 → 人工确认)
↓ 分镜{序号}-{篇章名}.md
阶段4 素材生成(AI生成 → 人工确认)
↓ output/images/photo1..N.png + output/videos/视频1..N.mp4
阶段4.5 素材修正(AI辅助 → 人工确认)
| 阶段 | SOP 原本做法 | 本技能仓对应 |
|---|---|---|
| 0 准备 | 人工找对标视频 | 人工;fmode-mv talk --script <口播稿> 可跳过 1–2 |
| 1 文案获取 | yt-dlp 下载 + Whisper 转写 | 仓外环节(需外部工具,本仓不含下载/转写) |
| 2 脚本仿写 | flow/2-文案仿写prompt.md |
templates/copywriting-prompt.md + fmode-mv talk(内置 chatJSON) |
| 3 分镜生成 | flow/3-分镜prompt1.1.md |
templates/storyboard-prompt.md + fmode-mv storyboard |
| 4a 照片生成 | scripts/2-generate-photos.js |
fmode-mv scene --scene-only / fmode-mv keyframe |
| 4b 视频生成 | scripts/3-generate-videos.js |
fmode-mv video(即梦,含 method=3 降级) |
| 4.5 素材修正 | scripts/regenerate.js |
重跑对应工序并加 --shot <id> --force |
| — 人物一致性 | 无(靠 prompt) | fmode-mv character-sheet(本技能新增,补最大缺口) |
| 资料类型 | 具体内容 | 格式要求 |
|---|---|---|
| 对标视频 | 参考爆款视频链接或文件 | 抖音分享链接 / 本地视频文件 |
| 视频文案 | 对标视频的语音转写文本 | txt / md |
| 产品信息 | 卖点、买点、目标人群 | — |
| 品牌调性 | 语气、禁语、视觉风格 | — |
人工确认点
输出物:{项目目录}/抖音文案.md、{项目目录}/video.mp4
AI 作业要点:一键下载 + 转写;支持抖音分享链接和本地视频;自动提取并保留原始分段结构。
⚠️ 本技能仓不含下载/转写(依赖 yt-dlp / TikHub API / Whisper 等外部工具, 属仓外环境依赖)。KB 的做法见
kb-raw/04-SOP工作流/…/flow/1-抖音文案获取流程.md。 没有对标视频时,可直接用fmode-mv talk "主题"从零撰写(跳过本阶段)。
人工确认点
输出物:{项目目录}/文案-仿写版.md(10 个版本)
必须做到(缺一不可):
references/narrative-playbook.md 第一节)输出格式
## 文案X:{篇章名称}
**标题**:「爆款标题」
**正文**:
{完整口播文案}
---
**素材要点**:
- 人物弧光:{描述}
- 故事类型:{类型}
- 核心冲突:{冲突}
人工确认点(逐条打勾)
关键纠偏
语速与字数换算(决定文案长度,必用)
输出物:{项目目录}/分镜{序号}-{篇章名}.md
命名规则:序号对应文案中的第几个版本(1–10);篇章名从文案标题提取关键词。
分镜结构选择(按内容类型)
| 结构 | 适用 |
|---|---|
| 救猫咪 15 节拍 | 90 秒 + 故事型 |
| 黄金三秒钩子 | 30–60 秒快节奏 |
| 嘴替式情感共鸣 | 60–90 秒信任型 |
| 10 种爆款故事类型 | 按类型匹配 |
必须包含的四块
# {作品标题}
**话题标签**:#话题1 #话题2 #话题3
**总时长**:约90秒
**风格**:{风格描述}
---
#### 场景逻辑描述
```
照片1 → 视频生成 → 照片2 → 视频生成 → ...
```
#### 照片生成表格
| 分镜序号 | Prompt(英文) | 场景说明 |
| ---- | ---- | ---- |
#### 视频生成表格
| 视频段号 | 时长 | 生成方式 | 运镜 | prompt(中文) | 旁白/字幕 | 用到的分镜序号 |
| ---- | -- | ---- | ---- | ---- | ---- | ---- |
#### 口播台词(按时间轴)
| 时间 | 画面 | 口播台词 |
| ---- | ---- | ---- |
| 0:00-0:10 | {画面描述} | {口播台词} |
末尾附完整口播文案(纯文本),方便复制。
硬性要求
character-sheet 参考图)。人工确认点
即梦尺寸约束(实测,必须遵守)
| 端点 | 面积 | 推荐尺寸 |
|---|---|---|
text2imgV3(场景图) |
[512², 2048²] |
1K 1664×936(16:9) / 2K 2560×1440 |
getImgV4(关键帧/人物) |
[1024², 4096²] |
2K 2560×1440 / 4K 5404×3040 |
给
getImgV4传 1280×720 会在轮询阶段才报height or width invalid。 本技能仓已用assertValidSize()在本地拦下。
视频 API 的 base64 输入限制约 4–5MB(字符串长度),大 PNG 直接转 base64 会超限。
const sharp = require('sharp');
// 2560×1440 PNG (~5.6MB) → 1280×720 JPEG q80 (~200KB),base64 从 ~750 万字符降到 ~28 万字符
await sharp(inputPath).resize(1280, 720).jpeg({ quality: 80 }).toFile(outputPath);
本技能的等价实现:
lib/jimeng.mjs的prepareImageUrl()用 ffmpeg 做同样的压缩(零 npm 依赖,不引入 sharp),再上传七牛拿公网 URL。
photo1 → 视频1(首帧), 视频1(尾帧)
photo3 → 视频2(首帧)
photo4 → 视频3(首帧)
...
踩坑记录:元气森林项目中 photo1(楼外场景)生成了但没有对应视频,后期才发现需要补生成。
frames = 24 × 秒数 + 1 (5秒=121,6秒=145,7秒=169,8秒=193,9秒=217,10秒=241)
实测硬约束(比 KB 记载更严)
frames 范围 [121, 241],且 frames % 24 === 1 → 合法值只有 121/145/169/193/217/241method=3(首尾帧,config.image_urls = [首帧, 尾帧] 数组);其余用 method=2(首帧,单张)method=3 降级逻辑(必须内置)
method=3 比 method=2 更容易失败(两张图数据量翻倍 + 首尾帧一致性要求更高)。
async function generateVideo(data) {
if (data.method === '3') {
const result = await submitVideo({ ...data, method: '3' });
if (result.data?.workId) return pollAndDownload(result.data.workId);
console.log('method=3 失败,降级为 method=2');
}
return submitVideo({ ...data, method: '2' }); // 降级:只传首帧
}
场景跨度大时禁用 method=3(硬规则):
室内→室外、人物→空镜这类差异过大的两帧会崩坏。
method=3 只用于:同场景连续动作、相似场景过渡、数据/状态渐变。
本技能的
jimeng.img2video()已内置该降级,并在返回值里用degraded: true留痕 (绝不悄悄降级)。
触发场景:某张照片效果不符预期 / 某张照片没对应视频 / 某段视频运镜不理想 / 素材间视觉一致性需微调。
作业流程
人工检查素材 → 指出需修正项 → 重跑对应工序 → 验证修正结果
本技能仓的修正方式(比重写脚本更简单):
# 单镜重做:只重跑第 3 镜,覆盖旧产物
fmode-mv scene --from work/storyboard.json --shot 3 --force
fmode-mv video --from work/storyboard.json --shot 3 --force
# 整个人物形象不满意 → 换描述重跑
fmode-mv character-sheet --desc "新的设定…" --force
# 素材全跳过只想重拼 → 直接重跑剪辑(零 API 费用)
fmode-mv assemble --from work/storyboard.json
人工确认点
| 禁止词 | 替代词 |
|---|---|
| 赋能 | 帮助、让…能做到 |
| 解决方案 | 方法、路、招 |
| 闭环 | 做完还能接着做 |
| 打法 | 做法、玩法 |
| 赛道 | 领域、市场 |
| 生态 | 体系、系统 |
| 矩阵 | 一套、组合 |
| 操盘 | 运作、运营 |
| 颗粒度 | 具体程度 |
| 链路 | 流程、步骤 |
| 认知 | 想法、认识 |
| 心智 | 印象、想法 |
| 壁垒 | 优势、护城河 |
| 精准 | 准、到位 |
references/narrative-playbook.md 2.3)character-sheet 参考图锁定| 版本 | 目标 | 说明 |
|---|---|---|
| v1–v2 | 探索期 | AI 自由探索,发现方向 |
| v3–v4 | 收敛期 | 结合人工反馈逐步修正,收敛方向 |
| v5–v6 | 定型期 | 格式标准化,内容基本确定 |
| v7–v8 | 精修期 | 细节打磨,合规确认 |
Q1:binary_data_base64 超限怎么办?
现象:Image Decode Error: invalid binary data file size。
原因:API 对 base64 大小有限制,约 4–5MB(对应 ~3–4MB 原始图片)。
解决:压缩为 1280×720 JPEG quality 80 后再提交。本技能用 prepareImageUrl() 自动做。
Q2:method=3 首尾帧模式请求失败怎么办?
原因:两张图数据量翻倍,更容易超限;首尾帧对画面一致性要求更高。
解决:① 降级 method=2 重试;② 把 method=2 的 prompt 改成描述「从首帧到预期的过渡效果」;
③ 必须用首尾帧时,把两张图压到更小尺寸。场景跨度大时改用 method=2。
Q3:照片没有对应视频怎么办? 解决:跑素材映射预检;发现缺失时补视频段或调整分镜。
Q4:视频生成结果和照片视觉效果不一致怎么办? 解决:进入阶段 4.5,对照片重新压缩后再生成对应视频,并更新分镜文档中的 prompt。
Q5:人物在不同镜头换脸怎么办?(KB 未解,本技能新增解法)
先用 fmode-mv character-sheet 产出人物多视图,
再用 fmode-mv scene --character out/character/4-多视图.png 生成关键帧。
一致性从「靠提示词猜」变成「有像素级锚点」。
kb-raw/04-SOP工作流/…/SOP-变装视频生成工作流/ 是一套独立场景的流水线(电商服装),
流程为六步,与本 SOP 共用底层即梦通道:
| 步 | 产出 | flow 文档 |
|---|---|---|
| 1 | 产品照片白底图 | 1-产品照片白底生成.md |
| 2 | 衣架挂衣照片 | 2-衣架挂衣照片生成.md |
| 3 | 模特上身效果 | 3-模特上身效果生成.md |
| 4 | 3×3 细节网格 | 4-3x3细节网格生成.md |
| 5 | 单张细节照片提取 | 5-单张细节照片提取.md |
| 6 | 视频生成 | 6-视频生成.md |
对应端点:getImgV4_goods(商品提取)、getClothesV2(虚拟换装)、getActorV2(动作模仿,¥0.4/秒)。
成本:换装跳舞视频 8–12 秒约 ¥15–24/条(人工 ¥10 + 照片 ¥2 + 视频 ¥3.2–5)。
本仓内
references/narrative-playbook.md —— 脚本层方法论(15 节拍 / 爆款类型 / 弧光 / 分镜)templates/copywriting-prompt.md —— 文案仿写模板templates/storyboard-prompt.md —— 分镜生成模板templates/video-prompt.md —— 视频生成模板references/jimeng-api.md —— 即梦通道全部端点与参数references/production-evolution.md —— 版本 1~6 演进与踩坑清单知识源(kb-raw,仓内保留)
kb-raw/04-SOP工作流/…/SOP-视频脚本生成工作流.md(含第九章合规边界)kb-raw/04-SOP工作流/…/flow/(1 获取 / 2 仿写 / 3 分镜 / 4 素材 / 4 封面)kb-raw/04-SOP工作流/…/SOP-变装视频生成工作流/