Skill: lucas-kay8/fableforge (version 1.2.0)

--- 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 (渲染成品) ```


Security scan verdicts — ClawScan: suspicious | static analysis: clean | VirusTotal:  | SkillSpector: suspicious (CRITICAL)