--- name: cs-code-story-video description: "把中文口播、角色和参考素材制作成可验收的 16:9 代码叙事视频:A-roll 角色讲述、全屏场景 B-roll、真实音频时码、Remotion 样片与成片、3:4/4:3 杂志风封面。仅用于代码驱动的叙事视频,不替代 ChatCut 剪辑、数字人产品片或电商复刻。" --- # CS 代码叙事视频 把一条故事做成可重复渲染的画面。角色在 A-roll 讲述;B-roll 用独立的全屏场景演出事件,而不是把信息面板放大或换字。默认 KAI 像素角色、1920×1080、30fps、无 BGM、无烧录口播字幕。角色、配色和场景可随项目替换;不能把《人生意义》的七章、台词和镜头当成通用模板。 ## 何时使用 - 用户要把自己的主题、口播或录音做成代码渲染的叙事短片,并希望交付视频、字幕时间文件和封面。 - 只要写真实项目的个人 IP 口播,优先 `$cs-personal-ip-script`;只要最终音频的短语时码,使用 `$cs-narration-phrase-timeline`;要 ChatCut 策划或产品数字人视频,使用各自专用 Skill。当前 Skill 在完整制作过程中按实际需要使用这些能力,不强迫所有项目经过它们。 ## 输入与工作目录 从用户给出的主题、稿件、原声、人物和参考资料中提取信息;不把参考画面、录音或未经核实的数据复制到新片中。已有工程就继续原工程;新工程默认建在当前工作区 `video/<项目名>/`。原素材保持只读,复制工作副本并记录 SHA-256。Skill 仓库只存可复用的代码、KAI 默认像素角色与测试,不收录用户项目的原声、稿件或导出视频。 先读 [项目与镜头合同](references/story-contract.md)。可用 [`scripts/scaffold.mjs`](scripts/scaffold.mjs) 从 [`assets/starter/`](assets/starter/) 建工程;只在新目录运行它,不覆盖已有工程。 ## 从内容到成片 1. **内容与证据。** 明确受众、核心问题、故事推进与可展示的事件。参考素材只分析节奏、动效和构图。用户只有主题时,完成可朗读口播、章节逻辑和场景方案,然后等待其最终录音;不编造时码或替用户生成声音。真实项目经历适用时可调用 `$cs-personal-ip-script`。 2. **锁定音频。** 拿到最终音频后,用 FFprobe 测时长、SHA-256 锁来源。需要短语级字幕时,必须有与录音一致的逐字稿,再调用 `$cs-narration-phrase-timeline`。只有自动转写稿时先标为待校对;不得把 ASR 猜测、按字数估时或超出音频长度的时间戳当成准确对齐。有效时间表可用 [`scripts/phrases-to-srt.mjs`](scripts/phrases-to-srt.mjs) 转为后期 SRT。 3. **编排镜头。** 以帧为整数写 `story.json`:章节卡约 21 帧,章首必须有主题 B-roll,章内关键句按内容切换 A-roll 与 B-roll。A-roll 可左、右或中站位;B-roll 必须是独立全屏场景。人物轻微呼吸或眨眼,组件分段进退场;每个场景物件承担具体叙事任务。给后期字幕留清晰区域,文字只保留必要的章节词与物件关键词。 4. **代码制作。** 用 starter 的时间轴、场景注册、角色层、像素动效原语和封面组件作为工程起点。每条片子的事件场景在 `src/scenes.tsx` 中重新设计;色彩或风格可更换,不通过重命名旧场景假装创作。用 [`scripts/validate-story.mjs`](scripts/validate-story.mjs) 检查素材、哈希、章节、镜头和音频实际时长,再渲染。 5. **样片与完整版。** 先导出覆盖开头两章的样片,查看章节卡、A/B-roll 差异、角色身份、文字和组件进退场。修正明显问题后继续完整渲染;只有用户明确设了审批点才暂停。样片与全片使用同一音频和镜头数据,不能为凑时长拉伸原声。 6. **封面与验收。** 同一视频制作 1200×1600 和 1600×1200 两张旧纸、黑白主体、红色大字的杂志风封面;文字由代码排版,标题与主体在缩略图下仍需可读。按 [成片验收](references/qa.md) 检查视频、音频、镜头、封面和尾句。没有实际人耳听审时明确记录,不能写成已听审。 ## 交付 在项目目录保留 `story.json`、原稿及来源记录、镜头表、有效的 `phrase-timeline.json`/SRT(若满足真实对齐条件)、开头样片、完整版 MP4、两张封面和 QA 报告。若因缺最终录音或准确朗读稿而不能进入后续阶段,交付已完成的脚本与场景方案,准确说明待补输入。 默认不发布、不上传素材、不推送仓库。用户指定新的画幅、封面风格、字幕或音乐时,以该项目要求为准,并在验收中检查这些新条件。