FableForge 通用视频生成流水线 SOP。支持两种生产模式(图片流、视频 B-roll 流)和三种体裁(叙事寓言、商业分析、产品宣发)。包含从概念生成、剧本创作、TTS 配音、素材采集、到 HyperFrames 视频渲染的完整工业化 SOP,以及视觉风格指南与技术陷阱手册。v1.2.0 新增 VAD 物...
---
name: ai-video-studio
version: 1.2.0
description: FableForge 通用视频生成流水线 SOP。支持两种生产模式(图片流、视频 B-roll 流)和三种体裁(叙事寓言、商业分析、产品宣发)。包含从概念生成、剧本创作、TTS 配音、素材采集、到 HyperFrames 视频渲染的完整工业化 SOP,以及视觉风格指南与技术陷阱手册。v1.2.0 新增 VAD 物理声学平铺匹配、语速自动健康度审计(防脱节门禁)、大分镜 GSAP 变量解耦与生命周期显隐控制。
---
# 🔨 FableForge · 视频生成工业流水线 AI Agent SOP
本 Skill 是一份**命令级可执行 SOP**,而非经验教训集。每个 Stage 均包含**具体执行命令**和**退出验收标准**,严禁跳步或在退出标准未满足时进入下一阶段。
### ⛔ 全局禁令(违反任意一条即判定为生产事故)
1. **严禁复用旧集素材**:每一集的 `assets/` 目录下的所有文件(视频、音频、图片、BGM)必须为本次任务全新生成或下载。严禁从其他 `episodes/` 目录复制任何媒体文件。唯一例外是 `narration.wav`(由 TTS 脚本生成)和模板代码结构(非媒体文件)。
2. **严禁跳过退出标准**:每个 Stage 的退出标准中的所有检查项必须逐一验证并标记为通过,才能进入下一个 Stage。
3. **严禁无字幕渲染**:无论模式 A 还是模式 B,最终视频必须包含与配音同步的逐字滚动字幕。
4. **严禁无封面/封底渲染**:所有视频必须包含封面标题幕(`#scene_cover`)和封底互动幕(`#scene_end`)。
5. **严禁复用旧集 BGM**:每集的背景音乐必须根据本集剧本的情绪主题全新搜索并下载,不得复用历史集的 `bgm.mp3`。
---
## 0. 视频规格与体裁定义(内容优先定档制)
**核心原则:内容的可理解性永远优先于时长限制。**
视频时长不是预设的固定值,而是由内容倒推得出的。错误的做法是「先定 60 秒,然后把内容往里塞」;正确的做法是「先确认内容讲完需要多少字,再据此选档」。
### 0.0 视频体裁系统 (Genre)
本流水线支持三种核心体裁。在构思内容前,**必须首先确定体裁**:
| 体裁 (Genre) | 特征与核心要求 | 适用场景 | 常用视觉模式 |
|-------------|-----------|---------|---------|
| **Genre X: 叙事/隐喻 (Narrative)** | 有角色、有冲突。旁白重感受轻动作,追求悬念与结局升华。 | 寓言故事、历史重现、管理隐喻 | + 模式 A (图片) |
| **Genre Y: 分析/科普 (Analytical)** | 论点驱动、逻辑递进。追求清晰的结构拆解和痛点直击。 | 商业分析、职场洞察、技术科普 | + 模式 B (B-roll) |
| **Genre Z: 宣发/展示 (Promotional)**| 产品中心、利益点明确。强节奏感与转化引导 (CTA)。 | 产品宣发、网站转视频、功能展示 | 混合模式 |
### 0.1 三档体系
| 档位 | 适用场景 | 旁白总字数 | 预估时长 | 分镜数 |
|------|---------|-----------|---------|-------|
| S · 短片 | 单一概念解释、痛点直击、高密度短平快 | 150~450 字 | 45~120 秒 | 1+5~12+1 |
| M · 标准 | 完整叙事、多维度拆解、深度论证 | 450~900 字 | 120~270 秒 | 1+12~20+1 |
| L · 长篇 | 复杂案例剖析、连续剧集 | 900~1500 字 | 270~420 秒 | 1+20~30+1 |
> 超过 1500 字的内容必须拆成上下集(每集独立成片,各自包含封面和结尾)。
### 0.2 定档公式
```
旁白总字数 = 原始故事中【不可删减要素】的合计字数(见 0.3)
预估时长(秒) = 旁白总字数 ÷ 3.5(中文语速)
根据预估时长选择对应档位
```
### 0.3 不可删减要素(内容完整性红线)
不同体裁有不同的不可删减要素。如果被删除,观众将无法理解视频的核心价值。**剧本转化阶段(Stage 1.2)严禁删除这些要素:**
| 体裁 (Genre) | 核心不可删减要素 | 删除后果 |
|-------------|----------------|----------|
| **Narrative (叙事类)** | 因果链、角色动机、关键对话、认知翻转事件、结局因果闭环 | 观众不知道“为什么”,悬念消失,结论像硬塞的 |
| **Analytical (分析类)**| 痛点现象描述、核心矛盾拆解、数据对比/逻辑支撑、金句结论 | 视频变成空洞的说教,缺乏说服力 |
| **Promotional(宣发类)**| 目标受众痛点、核心利益点 (Benefit)、差异化价值、明确的 CTA | 看完后不知道自己能得到什么,无法转化 |
**可以精简的要素:**
- 重复的环境描写或冗长的数据罗列(保留首次,后续可省略)
- 纯装饰性的形容词堆叠
- 不影响主线的次要信息
- 已被画面传达的信息(如「山很高」——画面已经表达了)
### 0.4 通用规格(所有档位共享)
| 规格项 | 标准值 | 说明 |
|--------|--------|------|
| 每幕旁白字数 | 中文 30~80 字 / 英文 20~50 词 | 中文约 3.5 字/秒,英文约 2.5 词/秒 |
| 每幕预估时长 | 5 ~ 15 秒 | 最终以音频实测为准 |
| 分镜编号格式 | `scene_cover`, `scene1`~`scene{N}`, `scene_end` | 与 `assets/` 下的图片名严格一一对应 |
| 旁白与分镜对应 | 1 幕 == 1 张图 == 1 段旁白 | 封面通常对应标题旁白,结尾对应金句旁白 |
---
## 0.5 质量门禁(三重内容验收)
视频质量的上限由三个核心因素决定。**每一重门禁未通过,不得进入下一阶段。**
### 门禁一:概念与大纲验收(概念生成后、停机确认前执行)
AI 容易生成"结构正确但洞察平庸"的内容。在向用户展示前,必须根据体裁完成自检:
**强制自检(全部通过方可提交用户确认):**
- [ ] **反常识测试 (通用)**:这个洞察/角度是"大家都知道"还是"大家都经历但从没被命名"的?前者没传播价值,重写。
- [ ] **Genre X (叙事) 专属**:结局是否让人感到轻微不适或醍醐灌顶?隐喻是否太直白(能在前10秒猜到结局)?
- [ ] **Genre Y (分析) 专属**:逻辑链条是否严密?是否提出了具有实操性的认知升华?
- [ ] **现实锚定测试 (通用)**:结尾的解释/结论,是否映射到了用户**今天就可能遭遇**的具体场景?
---
### 门禁二:脚本节奏验收(剧本转化后执行)
脚本是情绪与逻辑的乐谱。全片节奏必须有起伏,禁止平铺直叙。
**体裁节奏铁律:**
- **Genre X (叙事类) — 情绪驱动**:
- **写感受,不写动作**。旁白描述情绪状态,而不是画面动作(❌ `"十只狼排成一列"` → ✅ `"山谷里没有声音,只有风"`)。
- **采用 1-4 情绪档位系统**(1舒缓/2蓄力/3爆发/4留白),并在剧本中标注。
- **Genre Y (分析类) — 逻辑驱动**:
- **结构清晰**:必须遵循“现象引入 → 核心矛盾 → 数据/逻辑支撑 → 升华结论”的节奏。
- **金句前置或垫后**:关键论点必须短小精悍。
- **所有体裁通用**:
- **结论幕字数减半**:最后一幕旁白不超过 20 字。越重要的道理,越要用更少的字。
- **剧本格式补充档位字段**:每幕必须标注 `- **情绪/节奏档位**:{X}`,指导配音语气与画面。
- **剔除字幕语气省略号(黄金审美红线)**:严禁在生成的 HTML 字幕、文本及海报中包含任何由于配音语气停顿而产生的 `……`、`...` 或是拖泥带水的标点冗余。配音的停顿必须纯粹通过声音的节奏(如 TTS 音频)去表现,而屏幕上的视觉文字与金句必须保持绝对干净利索、斩钉截铁,字字铿锵有力。
---
### 门禁三:图片质量验收(图片生成后、进入 Stage 2 前执行)
**构图与画幅规范(强制):**
- **画幅固定**:必须生成 **9:16 竖屏**图片(DALL-E 3 使用 `1024x1792`)。严禁使用横屏图片。
- **主体位置**:主体人物/物件必须在画面**上方 1/3** 区域,底部留给字幕区。
- **提示词必加**:`cinematic vertical shot, 9:16 aspect ratio, subject positioned in upper third of frame, dark atmospheric space at bottom`
- **全片一致性**:主光源方向统一,保持跨幕视觉连贯。
**风格圣经与一致性工作流(强制):**
为了保证多幕生图的视觉一致性,在生成任何图片之前,必须先根据体裁和设定定义一套「风格圣经」作为所有提示词的前缀,并为主要角色建立角色特征词组。
详细的风格圣经编写步骤、提示词工程公式以及角色一致性锚定工作流,请务必直接阅读 [🎨 视觉风格参考手册](file://./resources/style_bible.md)。
**逐张自检:**
- [ ] **封面图 (scene_cover)**:视觉冲击力极强,具备悬念感,能瞬间抓住注意力。
- [ ] **结尾图 (scene_end)**:意境深远,具备“神性”或“哲学感”,完美呼应主题并实现情感/认知升华。
- [ ] 主体在画面上 1/3,底部有足够深色安全区供字幕叠加
- [ ] 图片情绪与该幕的「情绪档位」匹配(档位 3 的图不能是平静场景)
- [ ] 全片光影/色调风格一致
- [ ] 无明显 AI 瑕疵(多余手指、文字乱码、比例失调等)
---
## 0.6 生产模式决策(内容定型后执行)
FableForge 支持两种生产模式。**在用户确认内容方向后、动手写剧本之前**,必须先确定生产模式。
### 两种模式概览
| 维度 | 模式 A:纯图片 | 模式 B:视频 + 文字叠加 |
|------|-------------|----------------------|
| **适用题材** | 寓言故事、有角色弧线的隐喻 | 职场分析、管理洞察、观点输出 |
| **画幅** | 16:9 横屏(1920×1080) | 9:16 竖屏(1080×1920) |
| **视觉素材** | AI 生成的场景图片 | Pexels/Pixabay 免费 B-roll 视频 |
| **文字呈现** | 底部字幕条 | 全屏文字叠加排版(暗化遮罩 + 大字) |
| **叙事结构** | 角色驱动的故事弧线 | 论点驱动的拆解/金句输出 |
| **产出节奏** | 较慢(等图片生成 + 风格校准) | 较慢(等图片生成 + 风格校准) |
### 快速决策表
| 判断条件 | 选择 |
|---------|------|
| 有具体角色名字和对话(僧人、狼王、船夫……) | 模式 A |
| 叙事主语是「我」「你」「我们」「很多公司」 | 模式 B |
| 需要展示隐喻(灯 → 认知、桥 → 管理) | 模式 A |
| 需要展示数据对比(3 → 13)、金句输出 | 模式 B |
| 用户明确说"拍成视频" / "竖版" / "短视频" | 模式 B |
| 用户明确说"写个寓言" / "讲个故事" | 模式 A |
> ⚠️ 用户可在停机确认时手动覆盖 AI 的模式推荐。模式确定后写入 `视频脚本.md` 头部的「内容定档」章节。
### 模式选定后的流程分叉
- **模式 A**:走 §1.5A(图片素材生成)→ §3.2(横屏 HTML 模板)→ 正常流程
- **模式 B**:走 §1.5B(视频 B-roll 采集)→ §3.2B(竖屏 HTML + 文字叠加模板)→ 正常流程
- 其余阶段(概念、剧本、TTS、BGM、音频解析、动画、渲染、发布)两种模式共享。
---
## 视频生产核心流水线 (Stages)
为确保 AI 执行各阶段时的高精准度与低上下文占用,制片厂流水线已全面重构为模块化架构。**当您执行某一个特定阶段时,请直接调阅并遵循该阶段对应的子 SOP 指南**:
### 🛠️ [Stage 0: 自动化环境部署 (Scaffolding)](file://./resources/stages/stage_0_env.md)
* **用途**:首次运行或初始化项目环境时执行。
* **动作**:部署模板、检测并下载静态 `ffmpeg` / `ffprobe` 环境、构建 VoxCPM2 隔离 Python 环境。
* **核心指南**:[阅读 Stage 0 SOP](file://./resources/stages/stage_0_env.md)
### ✍️ [Stage 1:概念、剧本与物料生成](file://./resources/stages/stage_1_creatives.md)
* **用途**:创意策划与声画素材(文字海报、B-roll、配音与BGM)准备。
* **动作**:根据 Genre 生成大纲并在停机确认后进行内容定档与剧本拆解,运行声纹克隆脚本,使用图片 API 或自动化下载裁剪 B-roll,并强制生成纯文字封面/封底海报。
* **核心指南**:[阅读 Stage 1 SOP](file://./resources/stages/stage_1_creatives.md)
### ⏱️ [Stage 2:音频解析与数据驱动时间轴](file://./resources/stages/stage_2_timeline.md)
* **用途**:解析配音,进行像素级音视频时间戳对齐。
* **动作**:通过 `ffprobe` 获取音频绝对时长,使用 Whisper (A方案) / RMS 能量分析 (B方案) 获得精确断句,映射生成 `data-start` 时间轴。
* **核心指南**:[阅读 Stage 2 SOP](file://./resources/stages/stage_2_timeline.md)
### 📐 [Stage 3:静态排版构建与验收](file://./resources/stages/stage_3_static.md)
* **用途**:横版/竖屏 HTML 与 CSS 样式搭建。
* **动作**:搭建 `#composition` DOM 骨架。模式 B 下严格执行视频标签扁平化,配置组件库(`.headline`, `.neq` 等),确保静态显示 100% 正确并通运 `lint` 校验。
* **核心指南**:[阅读 Stage 3 SOP](file://./resources/stages/stage_3_static.md)
### 🎬 [Stage 4:动画集成与预检发版](file://./resources/stages/stage_4_animation.md)
* **用途**:GSAP 动画渲染与 MP4 导出。
* **动作**:集成 Ken Burns 等情绪转场动画,运行 `inspect` 实施最终质量门禁,使用 `render` 导出 MP4 视频。
* **核心指南**:[阅读 Stage 4 SOP](file://./resources/stages/stage_4_animation.md)
### 📦 [Stage 5:发布与归档](file://./resources/stages/stage_5_publish.md)
* **用途**:补充宣发策划,作品归档。
* **动作**:自动补充脚本元数据,**强制追加小红书爆款宣发案**(标题、大字封面文案及 Emoji 社交文案),更新 README 并在本地进行 Git 提交。
* **核心指南**:[阅读 Stage 5 SOP](file://./resources/stages/stage_5_publish.md)
---
## 附录:核心指南与排坑规范
为了保持核心 SOP 的精炼度,以下核心手册与技术参考已存为独立的资源文件,Agent 在执行时可按需读取:
- **🎨 视觉风格参考手册**:提供详细风格词典、提示词公式及文化锚点,请查阅 [视觉风格参考手册](file://./resources/style_bible.md)。
- **🐛 技术陷阱与排坑规范**:汇总图片裁切、视频冻结、音轨对齐等已知 Bug 解决方案,请查阅 [技术排坑手册](file://./resources/troubleshooting.md)。
### 附录 C:项目归档规范结构
**模式 A(纯图片叙事视频):**
```text
/YYYYMMDD/
├── index.html (核心时间轴,Stage 3/4 产物)
├── assets/
│ ├── scene_cover.png (封面图,纯文字海报)
│ ├── scene1.png ~ sceneN.png
│ ├── scene_end.png (结尾图,纯文字海报)
│ ├── narration.wav (TTS 配音)
│ ├── bgm.mp3 (背景配乐,Stage 1.7 产物)
│ └── transcript.json (Whisper 时间戳,Stage 2.2 产物)
├── 视频脚本.md (剧本,Stage 1.2 产物)
└── promo_video.mp4 (最终成品,Stage 4.3 产物,Git 豁免名单)
```
**模式 B(视频 B-roll + 文字叠加):**
```text
/YYYYMMDD_{project_name}/
├── index.html (核心时间轴,竖屏 1080×1920)
├── style.css (独立样式表,文字叠加组件库)
├── download_and_process.py (B-roll 自动化下载/裁剪脚本)
├── assets/
│ ├── scene1.mp4 ~ sceneN.mp4 (裁剪后的 B-roll 视频,1080×1920,无音轨)
│ ├── narration.wav (TTS 配音)
│ └── bgm.mp3 (背景音乐)
├── 视频脚本.md (剧本 + B-roll 素材规划表)
└── renders/
└── {project}_YYYY-MM-DD_HH-MM-SS.mp4 (渲染成品)
```
don't have the plugin yet? install it then click "run inline in claude" again.