# Video Production Studio

> 通用视频制作流水线（短剧/漫剧/口播/广告/科普/MV/产品演示等）：从点子、小说、文案或现成剧本出发，经五份创作文档（剧本/视觉设定/分镜/图片提示词/视频提示词）产出可直接生产的 MiniMax H3 原生提示词，按"预览→明确确认→生产"闸门调用本地通道（ComfyUI Z-Image、RunningHub H3 Ref2VA/I2V、本地 H3、豆包 Seedance）生成图片与视频，再合成交付。用户说"做一个视频/拍短剧/把小说改编成短剧/写剧本分镜/H3 提示词/生成并合成视频"或提交剧本要求进入制作时使用；口播带货专案走 h3-video-producer，纯图片风格化走 zimage。

- Skill: `supermate-ai/video-production-studio` (Agent Skill, multi-file: 9 files)
- Install (CLI): `npx skillmds@latest add supermate-ai/video-production-studio`
- Raw SKILL.md: https://api.skillmd.com/api/skills/supermate-ai/video-production-studio/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: SuperMate-Ai (https://skillmd.com/u/supermate-ai)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/supermate-ai/video-production-studio

---


# 通用视频制作流水线（video-production-studio）

把任何"要一个视频"的请求，变成一条有边界的流水线：**剧本 → 资产 → 分镜 → 提示词 → 确认 → 生产 → 交付**。
文件是唯一创作真相；视频提示词统一输出 **MiniMax H3 原生格式**（融合 `h3-prompt-writing` 规范），
可直接粘贴进 H3 工作流/RH 通道执行。

> 本技能由 zenstory-ai/drama-skills（10 个短剧技能）蒸馏优化而来：去掉漫剧专属词汇、python3
> 校验器与外部云端 adapter，泛化为全类型短片制作，并把"生产"接到 Harness 本地工具链。

## 何时用 / 何时不用

- **用**：用户给了点子/小说/文案/剧本/图片参考，要"做成视频、写分镜、写 H3 提示词、生成并合成成片"；
  形态不限：短剧、漫剧、单条叙事短片、广告、科普、MV、产品演示、品牌开场。
- **不用**：已有更专门的 skill 覆盖的形态优先走专门 skill——口播/讲解（`h3-video-producer`）、
  3D 动画短片（`3d-animation-short-generator`）、品牌广告（`brand-promo-video-generator`）、
  极简产品广告（`minimalist-product-ad-generator`）、MV 字幕（`music-video-subtitle-generator`）。
  本技能是这些形态的兜底通用流水线，也可作为它们的上游（先出剧本/分镜/H3 提示词再交给专门 skill 生产）。

## 项目形态

- **系列剧（多集）**：完整五文档，`剧集/EP001/`、`剧集/EP002/`…，跨集复用资产与角色外观。
- **单条短片**：按需只维护需要的文档（通常"剧本 + 分镜 + 视频提示词"即可，或一步到位直接出 H3 提示词）。

五文档原则：**按需创建，不预建空文件**；一次请求只创建它需要的文档，批次自动续跑，
不在每批后停下等"继续"。

## 流水线总览

```text
输入（点子 / 小说 / 文案 / 剧本 / 图片参考）
  │
  ├─ 可选：长材料分析 / 分集规划（仅大部头或系列时）
  ▼
① 剧本.md（单集 / 单条）
  ▼
② 视觉设定.md（人物/地点/道具：身份 vs 变体）
  ├───────────────┐
  ▼               ▼
③ 图片提示词.md   ④ 分镜.md（SHOT-* + 冻结关键帧）
                  ▼
              ⑤ 视频提示词.md（MOTION-* → H3 原生提示词）
  └───────────────┬───────────────┘
                 ▼
⑥ 生产闸门：预览 → 明确确认 → 调用本地通道 → 落盘 剧集/<EP>/制作成果/
                 ▼
⑦ 审查（按需）→ 合成 / 交付
```

## 阶段速查表

| 用户要什么 | 做 | 产出 |
|---|---|---|
| 开发点子 / 多集规划 / 改编小说 | 定位简报 + 分集地图 | `项目开发/creative-brief.md`、`episode-map.jsonl` |
| 写 / 改剧本 | 剧本写作 | `剧集/<EP>/剧本.md` |
| 拆人物/场景/道具 | 资产拆解 | `剧集/<EP>/视觉设定.md` |
| 写参考图 / 风格帧提示词 | 图片提示词 | `剧集/<EP>/图片提示词.md` |
| 分镜 / 冻结关键帧 | 分镜 | `剧集/<EP>/分镜.md` |
| 视频 / 配乐提示词 | **H3 原生提示词** | `剧集/<EP>/视频提示词.md` |
| 实际生成图片/视频 | 预览 → 确认 → 生产 | `剧集/<EP>/制作成果/` |
| 审稿 / 校验 | 审查 | `审查/<EP>-审查.md` |

现成剧本可直接拆资产；已有视觉事实可直接写图片提示词或分镜；已有分镜可直接写视频提示词。
**不要为补齐名义流水线伪造上游**。长材料分析与分集地图是可选工作区，不参与单集布局判定。

## 全局铁律

1. **文件是唯一创作真相**：五份 Markdown 即创作事实；不建并行的 JSON/JSONL 生命周期、索引、指纹、QA 表。
2. **生产永远 `预览 → 明确确认 → 执行`**：任何内容/参考/参数/输出变化立即失效旧确认；失败重试必须重新确认。
3. **视频提示词输出统一为 H3 原生格式**：字段名、顺序、标签与 `h3-prompt-writing` 规范完全一致。
4. **一致性**：角色外观一旦锁定全剧不漂移；资产全剧复用不重复生成；改图基于原图（image2image）不文生图重建。
5. **语言**：创作者可读说明跟随用户语言；H3 提示词正文用英文写（对白/歌词/画面可见文字保留原语言）。
6. **停靠点只有三处**：用户点名范围完成；缺失事实形成真实创作分叉；即将调用外部生产。其余批次自动继续。
7. 外部生产永远发生在用户看到精确预览之后；"继续""都做完""预算没问题"都不算本次生产确认。

## ① 剧本（`剧本.md`）

- 一级标题 `# EP001 集名`；场景 `## EP001-SC001 内 · 地点 · 时间/天气`。
- 对白 `角色（可选表演提示）：台词`；生产标签 `[VO]`、`[OS]`、`[SFX]`、`[画面文字]`、`[连续性]`、`[转场]`。
- 每场必须改变信息、权力、关系、情绪、物理状态或风险；无变化的场删掉或合并。
- 对白在争取、回避、试探、逼迫或重新定义关系；用可见可听可触的行为表现状态，不用解释替代行动。
- 交稿前经济性检查：是否堆了重复验证、解释、同向后果；没有新作用的内容删掉。
- 用户原文优先；"去 AI 味"是定点修订，不抹平作者个性。

## ② 资产（`视觉设定.md`）

先区分四类，再决定复用/新建/变体：

- **身份**：换一个就不再是同一个人/地/物（新建或复用）；
- **变体**：身份不变但服装/伤势/时段/天气/开合/持有状态改变；
- **镜头瞬态**：姿势、视线、左右手、站位、机位——归分镜拥有；
- **故事语义**：知识、目标、关系、情绪——归写作拥有，只引用可见后果。

- 每项先写"什么不变使它仍是同一资产"，再写本集变化；识别锚点必须**可见、可生成、可比较**，
  不用空泛质量词替代事实。
- 多集状态写清生效与持续范围；声音参考（音色/语速/授权）单独记录。

## ③ 图片提示词（`图片提示词.md`）

- 每项 `## IMG-...` 标题，可复制正文放 `### 可复制提示词` 引用块。`IMG-*` 是稳定 ID，不声明图片已生成。
- 配方：**主体与身份锚点 → 当前变体 → 构图/视角 → 光色/材质 → 背景边界 → 禁止项**。
- 保留稳定识别锚点，变体只改允许变化的部分；可见文字/logo/水印明确允许或禁止。
- 正文可直接复制，不含占位符、流程说明、文件路径或 QA 结论。
- 生成走 Z-Image（`comfyui_generate`）：竖屏默认 720×1280、steps 8、cfg 1、shift 3、lora 0.95、同参数同种子可复现。

## ④ 分镜（`分镜.md`）

- 每镜 `## SHOT-...`，同镜下 `### 冻结关键帧提示词` 写起始帧正文（**只投影镜头起点**，
  删除终点才出现的文字/动作/姿态/道具状态）。
- 每镜写清：唯一职责、来源场景、时长、景别/机位、起点、终点、声音和视觉依据。
- 锁定人物朝向、位置、视线、持物、出入口、屏幕方向。
- 切镜必须带来信息/权力/情绪/空间/节奏变化；同义重复镜头删掉；同一动作不跨镜重复发生；
  终点应能成为下一镜可信起点。
- 参考图是独立轴：创作者已提供的真实图片用 `REF-...` 槽位，写显式顺序、项目相对路径、中文名、
  「控制」与「不得控制」范围；没有就写「输入参考图：无」。
- 竖屏短剧可加一条可选约束：关键信息（脸/手/文字）避开画面底部约 1/5 播放界面叠加区，
  避免被平台按钮遮挡。

## ⑤ 视频提示词（`视频提示词.md`）—— H3 融合（核心交付）

每镜 `## MOTION-...`，引用对应 `SHOT-...`；**可复制正文 = 整段 H3 原生提示词**，可直接粘贴到
H3 工作流提示词输入（ComfyUI `MiniMax 提示词增强` 节点 / RH `run_i2v_workflow.py --prompt` / 本地 H3）。

### 模式选择（按参考情况）

| 参考情况 | H3 模式 | 正文结构 |
|---|---|---|
| 无参考图 | **T2VA** | 三核心字段（无首行指令） |
| 单张首帧/关键帧（作字面第一帧） | **I2VA** | 首帧指令行 + 三核心字段 |
| 首尾两帧 | **FL2VA** | 对齐指令行 + 三核心字段 |
| 仅末帧 | **L2VA** | 对齐指令行 + 三核心字段 |
| 多参考（角色+场景+动作）、跨集锁身份、系列剧主力 | **Ref2VA** | 六段式（见下） |

三核心字段（T2VA/I2VA/FL2VA/L2VA）：

```text
（I2VA/FL2VA/L2VA 先写对应的对齐指令行，后接空行）
integrated_multimodal_description: [Shot 1] ...（沿时间轴：风格/初始构图/主体外观位置/场景道具/动作反应/镜头变化/说话者/对白/同期声）
overall_soundscape: ...（环境音/物理动作声/非语言人声，1-4 句）
non_diegetic_music: ...（观众才听得见的 BGM：配器/速度/节奏/动态，1-3 句）
```

Ref2VA 六段式（顺序不可变，标签全片一致）：

```text
subject_definitions: <Subject 1> is ... / <Picture 1> is ...（定义每个被引用内容与标签）
summary: [reference generation] ...（任务类型前缀 + 目标视频与引用关系一句话）
retention_analysis: <Subject 1> (appears in [Shot 1], [Shot 3]): fully_preserved - ...（逐标签）
detailed_description: 风格开场句 → [Shot 1] ... → [Shot N] At MM:SS.mmm, the camera cuts to ...（350-500 词）
overall_soundscape: ...
non_diegetic_music: ...
```

### 内容纪律（写进 H3 描述，来自 motion craft）

- 每镜一条主线：**静态锚点 → 起点 → 触发 → 主体动作 → 次级反应 → 运镜 → 声音 → 可验证终点**。
- 首镜必须声明运动起点：RH I2V 铁律——`第0帧起画面即处于运动中，禁止静态开场`；
  开头动词用进行时动作，不要写"站立/看向镜头/平静"。
- 运镜写自然英文：类型+幅度+速度（`The camera pushes in with small amplitude at slow speed toward ...`）。
- 说话者用稳定 ID `(S1)`/`(S2)`；对白/歌词写 `<d>[语言] 原文</d>` 逐字保留；画外音用
  `says in an off-screen voiceover` 并注明 `while his lips remain completely closed`。
- 画面可见文字（招牌/字幕/霓虹）用英文双引号保留原文。
- 后续镜头 `[Shot N] At MM:SS.mmm, the camera cuts to ...`；切镜必须带来新信息。
- 一镜只写一个主要变化；不跨下一镜；不要求互斥动作；不让人物/道具瞬移变形；
  声音只写该镜需要的对白/环境/转场职责。
- 标签一致性：`<Subject N>`/`<Picture N>` 全片一致，对应图片提示词与分镜里的资产条目。

### 时间线配乐 / 主题曲（用户明确要求时）

在视频提示词文档增加独立章节：使用区间、剧情功能、进入/退出、动态曲线、禁用项。
歌词只能来自用户提供或明确接受的文本；纯配乐不携带歌词。供应商不能精确承诺时长时，
生成源音轨后由剪辑按文档混音意图完成落点、循环、淡入淡出与对白 ducking（ffmpeg）。

### 静态漫剧 / 关键帧切换形态

只需要"关键帧切换 + 配音"时可以跳过逐镜运动提示词，分镜关键帧与图片提示词直接进入生产预览。

### Look Development（可选分支，不是门槛）

需要比较视觉方向、统一画风时才做：用 Z-Image 出 2-4 张风格代表帧（同一主体不同画风/调色），
用户选定后把方向写进视觉设定与图片提示词；不需要时直接按现有视觉事实写提示词。

## ⑥ 生产（唯一固定门禁）

### 四步闸门（顺序不可合并）

1. 从当前 `图片提示词.md`/`视频提示词.md` 的对应条目建立**有边界 job**：一种 modality、
   明确数量、完整提示词、参考文件、参数、输出路径与通道。
2. **展示完整预览**（数量、正文、source 条目、参考图绑定、参数、输出、通道）；此时不调用任何供应商。
3. 等用户在**看到这份预览之后**明确确认。
4. 执行；内容/参考/参数/输出任一变化，旧确认立即失效；失败重试也需要新的明确确认。

### job 模板（在对话/临时文件里维护，不落创作文档）

```json
{
  "job_id": "EP001-vid-003",
  "modality": "video",
  "source": "剧集/EP001/视频提示词.md",
  "source_entry": "MOTION-EP001-003",
  "prompt": "<该条目的 H3 可复制正文>",
  "reference_bindings": [
    {"slot": "REF-001", "path": "剧集/EP001/制作成果/IMG-EP001-001.png",
     "name": "江晨角色板", "may_control": ["身份", "造型"], "must_not_control": ["构图", "动作", "背景"]}
  ],
  "parameters": {"mode": "Ref2VA", "duration": 8, "aspect": "16:9"},
  "channel": "rh-ref2va",
  "outputs": ["剧集/EP001/制作成果/vid-003.mp4"],
  "overwrite": false
}
```

`source`/`source_entry` 锁定来源条目；`reference_bindings` 逐张写路径、中文名与
「控制/不得控制」边界（这是生产端实际读取哪些文件字节、各自影响什么的权威）；
`overwrite` 必须显式 true 才允许覆盖已有结果。

### 通道映射（Harness 本地工具链）

| 内容 | 通道 | 调用方式 | 关键约束 |
|---|---|---|---|
| 图片（角色板/场景板/道具板/风格帧） | 本地 ComfyUI **Z-Image** | `comfyui_generate` 工具 | 720×1280 竖屏默认；steps≤10（8）；cfg 1；shift 3；lora 0.95；同种子可复现 |
| 图生视频 16:9（参考图锁身份，不作字面首帧） | RunningHub **H3 Ref2VA** | `python run_i2v_workflow.py --workflow-id 2085980820623413250 --image <图> --resize-max 1280 --prompt <H3正文> --duration N`（`Local_LLM/RH_Workflow_Api/`） | 参考图只缩放到最长边 1280px，**绝不裁剪** |
| 图生视频 9:16 竖屏 | RunningHub **H3 I2V** | `python run_i2v_workflow.py --image <图> --resize-max 1280 --prompt <H3正文> --duration N`（workflow 2085953821150367746） | 首帧图=字面第一帧；提示词首句声明 0 帧即运动 |
| 文生视频（无参考、10s 竖屏） | 豆包 **Seedance 2.0** | `doubao-creator` 技能：`node <skill>/scripts/doubao-genvideo-text.js "<需求>"` | **不传真人脸参考图**；人物形象用"看图反推→文字锚定"破局 |
| 口播/讲解（三模式） | 本地 ComfyUI **H3 分段** | `h3-video-producer` 技能（segment-generate.mjs + compose-final.mjs） | 机器铁律：ComfyUI 生成期间不跑 Ollama 视觉分析 |
| 成片质检 | Ollama 视觉 | `analyze_image` 工具 | 仅在 ComfyUI 队列完全空闲时执行，分析后卸载视觉模型 |
| 合成/字幕/BGM/转场 | **ffmpeg** | pwsh + ffmpeg | 硬切为主；字幕 ASS；BGM 低音量说话时避让；结尾淡出 |

### 生产硬规则

- 参考图只缩放不裁剪（RH）；豆包不传真实人脸参考（先反推文字描述再文生视频）。
- 供应商凭据不进项目文件；只在运行环境/脚本配置里读取。
- 一个 job 不混合 modality；大批量拆成创作者能看清数量与成本边界的小 job。
- 成功回报实际输出路径与运行状态，不把"通道返回成功"写成质量结论。
- 失败三路走：技术失败（超时/限流）有上限重试；被拒的是哪一项输入就先改哪一项再投；
  重复内容缺陷回到对应 prompt owner。

## ⑦ 审查（按需，用户点名才做）

- 范围：`story_script` / `assets_continuity` / `image_prompts` / `storyboard_keyframes` /
  `video_prompts` / `production_outputs` / `full_episode` / `delivery_privacy`。
- 每个 finding 写清：位置（文件/ID/行号）、必要证据、观众或制作影响、必须达到的修订结果、owner、严重程度。
- 结论：`APPROVE` / `APPROVE_WITH_NOTES` / `REVISE` / `PROVISIONAL`。
- 跨文档综合顺序：剧本事实 → 视觉设定 → 镜头职责与边界 → 冻结关键帧 → 视频运动 → 下一状态。
- 只定位问题与修订要求，不在同一轮替 owner 改来源；审查文件只保留最小证据，不复制私有输入。

## 本地通道前置检查（生产前确认）

1. ComfyUI 在 `http://127.0.0.1:8188` 运行且 Z-Image/H3 工作流可用；
2. RH 脚本目录 `E:\Harness Workspace\Local_LLM\RH_Workflow_Api\` 存在，API Key 已配置（先 `--check`）；
3. 豆包通道需夸克调试模式 + doubao.com 登录态；
4. 机器约束：ComfyUI 生成期间绝不调用 Ollama 视觉分析；分析后立即卸载视觉模型（keep_alive=0）。

## 按需知识（只读需要的一份，不遍历）

- 阶段边界、规则分级、所有权：`references/stage-contract.md`
- 五文档格式规范与条目 ID 规律：`references/creator-documents.md`
- 故事引擎/剧本/对白手艺：`references/craft-script.md`
- 资产拆解与图片提示词配方：`references/craft-assets-prompts.md`
- 分镜/关键帧/视频提示词与 H3 写法：`references/craft-storyboard-motion.md`
- 本地通道详细参数与踩坑：`references/harness-channels.md`
- 审查 rubric：`references/review-rubric.md`

复杂 Ref2VA 写正文前，直接读 `h3-prompt-writing` 技能的 `references/ref-en.txt` 保证字段与标签精确；
基础模式读 `references/base-en.txt`。融合写法示例（五文档条目 → H3 正文的对照）：
`examples/h3-fusion-example.md`。

