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


