---
name: cs-digital-human-product-video-pipeline
description: "当用户要把产品事实、口播、数字人、产品界面和 CTA 制作成可验收的数字人产品介绍视频时使用：统一预检 ChatCut、FFmpeg、ComfyUI、Fish/TTS 与 Remotion，按 plan、sample、batch 三种模式编排，先完成可审批样片再批量或出成片。用于有明确产品包的横版/竖版产品视频流水线；不要用于通用自动剪辑、电商短视频复刻、纯视频选题策划或未经确认的批量生成与发布。"
---

<!-- CS Skills · 陈硕 | portable skill entry | https://github.com/ChenShuo2004/cs-skills -->

# CS 数字人产品视频流水线

## 目标与边界

把“数字人 + 产品证据画面 + 包装 + 成片”变成可恢复、可审批、可验收的生产流程。Codex 统一状态、规格、事实追溯和质量闸门；ChatCut 是剪辑真相源；ComfyUI 与 Fish/TTS 负责本地生成；Remotion 负责确定性包装和最终渲染。

本 Skill 借鉴分阶段管线、预检、审批关卡和最终验收的做法，但不复制任何多供应商编排系统。不要猜测本机接口、凭据、模型、工作流文件或项目路径；缺少配置时如实标记状态。

只处理有明确产品包的数字人产品介绍视频。它不是通用“把一堆素材自动剪成 MP4”的入口，也不替代 $cs-chatcut-video-blueprint 的内容策划。

## 默认规格

除非产品包明确覆盖，采用以下当前基线：

| 项目 | 默认值 |
| --- | --- |
| 画幅与分辨率 | 横版 16:9，1920×1080 |
| 帧率与时长 | 30fps，55–60 秒 |
| 语言与叙事 | 中文口播；产品证据画面优先 |
| 声音 | 无 BGM；仅保留必要且轻量的点击、切换 SFX |
| CTA | 一个明确动作；默认可用“私信了解” |
| 圆形讲解人物 | 左下安全区，不能遮挡产品关键 UI 或字幕 |
| 批量策略 | 先样片，用户确认后才能批量或全片生产 |

风格参数与生产逻辑分离。V1 只内置“产品讲解样片”风格；后续更换背景、模板、人物动作或包装时，扩展 product-pack 的风格参数和本地模板，不重写七阶段管线。

## 输入与输出

开始前读取 [产品包合同](references/product-pack-contract.md)。产品包使用 product-pack.json：其中必须区分可证明的产品事实、禁用断言、证据素材、目标平台与时长、CTA、数字人/声音配置、风格、音乐政策和审批模式。

每次运行在产品工作区创建或恢复一个可追溯的运行目录，不把它散落在临时目录中。最少保留：

~~~
brief.md
decision-log.md
asset-manifest.json
script-and-timeline.md
sample-review.md
qa-report.md
~~~

在同一个运行目录中记录现有项目定位结果、生成物引用、素材来源、审批结论和残余风险。不得把私密凭据、绝对机器路径或本地接口令牌写入这些文档。

## 运行模式

| 模式 | 做什么 | 停止条件 |
| --- | --- | --- |
| plan | 校验产品包、恢复或定位既有项目、预检工具与配置、分析参考视频/素材、输出方案和阻塞项 | 不生成数字人、不渲染、不改时间线 |
| sample | 在通过预检后，只制作一条代表性样片，验证声音、数字人、产品证据、圆形 PIP 和包装 | 交付样片验收包，等待用户确认 |
| batch | 在已确认样片和已锁定产品包的前提下，执行全片或确认后的批量变体，并做最终 QA | 任一关键 QA 失败时停止交付，报告修复项 |

用户确认样片前，禁止批量生成数字人、批量渲染或对外发布。

用户只说“做一条样片”时使用 sample。用户只想评估环境、内容或方案时使用 plan。用户要求多个风格或多个成片时，仍先完成一个 sample，随后才允许 batch。

## 启动预检

预检先于本阶段的内容生成、时间线修改或渲染。先核对现有产物的输入版本；已提供且验证有效的原声、数字人或产品镜头直接复用，不要求启动生成这些产物的服务。只检查本阶段真正依赖的工具；未使用工具标为不适用并说明原因，不把它当作 blocked。按以下顺序检查并写入 decision-log.md：

1. **产品包与已有状态。** 校验 product-pack.json，定位同产品已有运行目录、ChatCut 项目和审批记录；优先恢复正确项目，不重复导入同一素材。
2. **事实与素材。** 为每个产品断言找到产品 UI、原声、用户确认或其他可追溯证据；未证实的能力只能标为待确认，禁止写进口播、字幕或 CTA。
3. **工具可用性。** 实际检查 ChatCut、ffmpeg/ffprobe、ComfyUI、Fish/TTS、Remotion 的项目/配置是否可用。没有有效的本地配置、模型或工作流时，不构造替代接口。
   模型需求从 ComfyUI 工作流加载节点、Fish/TTS 配置与实际对齐后端提取，不把工具名当作模型型号。先查共用缓存或已配置模型目录的版本、文件大小和哈希；有效时直接复用，只准备已确定且缺失的文件。损坏时报告具体文件，修复须沿用用户授权；云端服务不下载本地权重。
4. **状态结论。** 每项标为 passed、degraded 或 blocked，写明证据、影响、可继续的范围和下一项最小修复。

状态含义：

- passed：实际命令、项目或配置检查通过，可用于本次阶段。
- degraded：可继续有限工作，但必须写清不做什么；例如只能完成 ChatCut 样片方案，不能生成新的数字人。
- blocked：缺少本阶段不可替代的能力或事实；停止到不依赖它的上一个阶段，不伪造结果。

plan 可以在 degraded 或 blocked 时交付。sample 和 batch 只能在其所依赖工具全部 passed 后启动。

## 七阶段编排

详细输入、输出和闸门见 [阶段合同](references/stage-contracts.md)。始终按以下顺序执行，只有同一阶段内的无依赖检查可以并行：

1. **选题与事实。** 分离产品事实、用户观点、禁止断言、已确认 CTA 和证据素材；参考视频只分析节奏、信息密度、镜头与字幕结构，不复刻脚本、镜头或素材。
2. **口播。** 使用已确认的脚本或 $cs-chatcut-video-blueprint 交接的事实包；将每段话映射到产品证据画面，保留未确认项。
3. **配音。** 使用用户授权的声音与本地 Fish/TTS 配置，或用户提供的原声。完成最终音频后，优先使用 $cs-narration-phrase-timeline 生成真实字幕时间，不允许按字数伪造时间轴。
4. **数字人。** 仅调用已通过预检的 ComfyUI 工作流，记录背景、动作、输入脚本版本和生成结果；没有可用工作流时停止，不用无关替代品冒充本地数字人。
5. **产品场景。** 依据真实 UI、屏录、组件视频和产品素材安排证据型 B-roll；先保证每句口播有可见依据，再添加少量信息图形。
6. **ChatCut 编辑。** 以主口播为锚点，去重导入素材、转写和逐句校正字幕，建立证据画面、转场与必要 SFX。ChatCut 时间线是剪辑真相源。
7. **Remotion 包装与成片。** 接收已锁定的剪辑基底和真实时间信息，统一章节、产品介绍页、进度视觉和 CTA；最终渲染前后执行合成帧、音频和编码 QA。

不要将阶段 6 的剪辑责任转移给 Remotion，也不要让 ChatCut 的临时效果成为没有验收的最终包装真相。

## ChatCut 与 Remotion 的协作

ChatCut 负责素材去重、主口播、字幕、产品 B-roll、转场和必要 SFX。先检查已有媒体和轨道，再导入缺失素材；组件原声可作为事实证据，但成片口播以锁定主口播为准。

Remotion 只接收锁定的剪辑基底、明确的章节边界和真实时码，用于可重复的产品页、包装、进度和 CTA。任何包装文字都必须回链到 product-pack.json 的事实或已确认口播。禁止借 Remotion 擅自补写产品能力。

圆形讲解人物是标准组件：默认放在左下安全区。若 ChatCut 的原生圆角、遮罩或嵌套层在合成预览中出现空层，立即删除测试层，改为 FFmpeg 预合成的透明通道人像，再重新导入；不保留不可见的试验轨。必须在两个独立时段的合成帧中验证人物可见、圆形边缘正确、字幕与产品 UI 没有被遮挡。详细检查见 [ChatCut 与 Remotion 验收](references/chatcut-remotion-verification.md)。

## 样片审批与批量边界

sample 不是缩短版的全片批量任务。它必须覆盖目标成片的关键风险：至少一段主口播、一个数字人镜头、一个产品证据镜头、字幕、一次转场、圆形 PIP（如产品包启用）和收束/CTA 的风格验证。

交付样片时，提供：

- 样片文件或受控预览；
- 与样片对应的口播、事实和素材清单；
- 时间线结构和至少两个关键合成帧；
- 是否通过、需要修改什么、以及允许进入 batch 的明确用户确认入口。

只有用户明确确认样片，才能把审批记录写为 approved 并启动 batch。已确认的同一产品包/样片版本不重复索要审批；修改产品事实、声音/人物、风格或批量范围时重新核对受影响审批。未确认、要求修改、只说“看看”或没有回复，都不是批量授权。

## 最终验收

导出成功不等于完成。用 [验收清单](references/chatcut-remotion-verification.md) 同时检查：

1. ChatCut 时间线的主口播、证据 B-roll、字幕、PIP、SFX 和无 BGM 政策；
2. Remotion 的合成预览帧、包装文字、章节和 CTA；
3. ffprobe 输出的分辨率、帧率、编码、时长与音轨是否符合 product-pack；未覆盖的字段使用默认规格；
4. 口播可懂度、无削波、无 BGM 干扰、字幕正确和静音理解性；
5. 每个产品断言、UI、字幕、PIP、SFX 和审批记录的可追溯性。

长任务恢复时核对产品包、脚本、音频、素材和样片审批的版本；只重跑失效阶段及依赖它的后续阶段。生成/渲染超时先检查原任务 ID 与输出，不直接重复提交。

发现任何关键问题时，返回对应阶段修复并重新验收；不要只因为文件存在就标记完成。

## 与其他 Skill 的交接

- 内容想法、视频主题、口播稿和制作蓝图尚未确认：使用 $cs-chatcut-video-blueprint。它只做策划，并输出可交接的产品包摘要。
- 已有确认蓝图、产品包、素材或成片需求，要导入 ChatCut、调用本地数字人/配音、制作样片、包装和验收：使用本 Skill。
- 最终音频和实际朗读稿已经就绪、只需要真实短语时间：使用 $cs-narration-phrase-timeline，然后把结果交回本 Skill。
- 电商对标复刻、九宫格分镜和 Seedance/Flow/Veo 生成包：使用 $cs-auto-videl。

## 授权与停止规则

- 不提交、推送或发布。
- 不在用户确认样片前进入批量生产，也不对外发布。
- 不编造本地服务状态、产品能力、音色授权、用户肖像授权、素材版权或完成状态。
- 只在用户授权且预检通过的本地项目范围内创建/修改媒体、时间线或渲染产物。
- 对缺失的产品事实、私密配置、声音/人物授权或批量范围，报告最小阻塞项并等待用户补充。
