🎯 一句话总结:先把文章压成能说出口的口播稿,再生成最终音频;字幕和画面都跟着音频时间轴走,最后用 HyperFrames 或 Remotion 预览、修正并渲染。第一次只做 30~60 秒、单一主题的不出镜视频。

📌 先跑通一条最短路径
用 Codex 做视频,不是输入一句话就稳定得到成片。Codex 更像制作协调者:它读取文章和 Skills,生成口播与分镜,调用语音和视频工具,再根据检查结果修改项目。
第一条视频只设这些边界:
| 项目 | 建议 |
|---|---|
| 时长 | 30~60 秒 |
| 画幅 | 竖屏 9:16 或横屏 16:9,只选一种 |
| 内容 | 一个问题、一个结论 |
| 人物 | 不出镜或单一主角 |
| 音频 | 一条旁白,不叠多人对话 |
| 画面 | 4~8 个镜头 |
| 输出 | 一个可播放的 final.mp4 |
完整流程是:
文章或主题
→ narration.md 口播稿
→ final.wav 最终配音
→ 字幕与时间轴
→ STORYBOARD.md 分镜
→ HyperFrames 项目
→ 预览和定点修改
→ final.mp4
先建立项目目录,把所有输入和输出放在一起:
codex-video/
├── article.md
├── narration.md
├── final.wav
├── subtitles.srt
├── STORYBOARD.md
├── assets/
└── renders/
文件名可以调整,但文章、音频、素材和版本不要散落在下载目录里。
准备 Codex、HyperFrames 和必要工具
HyperFrames 是开源的视频渲染框架,可将 HTML、CSS、媒体素材和可定位时间的动画渲染成 MP4。官方仓库提供面向编程 Agent 的 Skills,基础安装命令为:
npx skills add heygen-com/hyperframes
官方项目:https://github.com/heygen-com/hyperframes
开始前让 Codex 检查:
- Node.js 和 npm 是否可用;
- HyperFrames Skill 是否安装成功;
- FFmpeg 是否可执行;
- 项目目录是否可写;
- 是否能建立一个最小视频并打开预览。
可以这样交代:
阅读 HyperFrames 官方仓库和 Skill 说明,在当前项目安装所需依赖。
创建一个最小测试项目并打开本地预览。
只报告实际通过的检查、预览地址和项目路径;不要先制作正式视频。
/faceless-explainer 适合将文本整理为不出镜讲解视频;/hyperframes-animation 处理动画规则。社区仓库还提供 vox-explainer 拼贴讲解和 p5-paint-animation 绘制动画,但第一条视频无需全部安装。
社区 Skills:https://github.com/heygen-com/hyperframes-community-skills
✍️ 第一步:把文章改成口播稿
口播稿决定视频讲什么。先定稿内容,再碰动画,否则每改一句话,配音、字幕和镜头都要重做。

只有一个主题
先写清四个输入:
- 讲给谁听;
- 解决什么问题;
- 视频多长;
- 观众看完要做什么。
例如不要只写“介绍 HyperFrames”,改成:
面向第一次使用 Codex 的内容创作者,写一段 60 秒竖屏口播。
主题:如何把一篇 3000 字工具测评变成短视频。
保留一个完整流程和一个高频错误。
结尾让观众先做 30 秒测试版,不要加入营销口号。
输出到 narration.md。
已经有文章
将文章保存为 article.md,让 Codex 提炼而不是逐段朗读:
把 article.md 改写成 60 秒中文口播稿。
保留事实、数字、产品名和限制条件;删除重复背景和书面化过渡。
结构为:具体钩子 → 当前问题 → 三步方法 → 下一步动作。
每句话都要能自然说出口,输出 narration.md。
口播定稿后自己读一遍。检查专有名词、英文、数字、句长和停顿。嘴巴读不顺的句子,TTS 通常也不会自然。
通过标准
- 前 3~5 秒已经出现问题或结果;
- 全文只讲一个核心变化;
- 每句话都有口语停顿位置;
- 不依赖画面才能理解主要结论;
- 朗读时长符合预设范围。
🔊 第二步:生成最终配音
第一次使用普通 TTS 就够了。先生成 10~15 秒测试音,确认声音、语速、停顿和英文读法,再生成全文。
开源方案可以使用 edge-tts,也可以选择手边已有的 TTS 服务。最终保存为统一格式,例如 final.wav。后续工具只需要可靠的音频文件,不关心它来自哪家服务。
需要复刻声音时再用 CosyVoice
CosyVoice 是开源的多语言语音生成项目,支持使用参考音频和对应文本进行零样本语音生成。官方仓库:
https://github.com/FunAudioLLM/CosyVoice
准备三份独立文件:
| 文件 | 用途 |
|---|---|
reference.wav | 本人或已获授权的干净参考录音 |
reference.txt | 参考录音逐字对应的文本 |
narration.md | 本次要生成的新口播 |
参考录音和文本必须对应。背景音乐、回声、多人说话和重度降噪都会影响结果。只使用本人声音或明确获得授权的声音,不要复刻他人声音冒充本人。
长口播按语义分段生成。某段专有名词读错,只重做这一段,再拼接为 final.wav。不要因一个词出错重做整条音频。
⏱️ 第三步:以最终音频建立时间轴
从这一步开始,final.wav 是唯一时间尺。不要按口播字数平均分镜,也不要先做完整动画再塞声音。
让 Codex 转写最终音频,输出带时间戳的字幕:
转写 final.wav,生成 subtitles.srt。
逐句保留真实开始和结束时间,不按字数平均分配。
另外生成 timeline.json,记录每句话、开始时间、结束时间和关键词。
完成后检查字幕总时长不能超过音频时长。

检查四件事:
- 句子有没有提前或滞后;
- 一屏字幕是否过长;
- 英文、数字和专有名词是否正确;
- 停顿处有没有被错误合并。
字幕只负责告诉观众“说了什么”,时间轴告诉画面“什么时候变化”。这两份数据都应来自最终音频,而不是初稿。
🎬 第四步:把口播拆成 4~8 个分镜
每个分镜只回答一个问题:观众听到这句话时,最需要看到什么?
优先使用文章已有的截图、照片、图表或产品界面。没有素材时,再用标题卡、步骤图、对比图和简单数据可视化。不要为每句话生成一张无关的装饰图。
让 Codex 输出制作单:
读取 narration.md、timeline.json 和 assets/。
把视频拆成 4~8 个分镜,写入 STORYBOARD.md。
每个镜头列出:开始时间、结束时间、对应旁白、主要画面、素材路径、字幕位置、唯一主要动画。
已有素材优先;缺少素材时只列出需要补的具体画面。
分镜通过标准:
- 每个镜头都对应一段明确旁白;
- 素材路径真实存在;
- 画面主体不会被字幕遮挡;
- 单张截图有足够停留时间;
- 转场没有切断句子或关键动作;
- 前一镜头结束状态与后一镜头开始状态能衔接。
video-shotcraft 提供适用于 Remotion 的镜头配方和动态预览,可以在产品演示或宣传片中作为镜头参考,但不是 HyperFrames 的必装依赖:https://github.com/Vincentwei1021/video-shotcraft
🖥️ 第五步:用 HyperFrames 预览并渲染
准备好口播、音频、时间轴和分镜后,再交给 HyperFrames:
使用 /hyperframes,根据 STORYBOARD.md 创建视频。
画幅 9:16,时长严格跟随 final.wav。
加载 assets/ 中的现有素材和 subtitles.srt。
每个镜头只保留一个主要动画,字幕处于安全区。
先生成项目并打开预览,不要直接渲染最终版。
先检查前 15 秒:
- 钩子进入是否太慢;
- 字幕能否在手机上看清;
- 画面是否真的解释当前旁白;
- 图片有没有被裁掉;
- 转场是否抢过内容。
反馈必须指向时间和对象,例如:
第 6~9 秒截图停留太短,延长到 3 秒。
第 12 秒字幕挡住界面按钮,移动到顶部安全区。
第一个标题在旁白开始 1 秒后才出现,改为同步出现。
只修改这三项,其他时间和样式保持不变。
确认预览后再渲染:
把当前确认版本渲染为 renders/final.mp4。
渲染后检查文件可播放、音频未截断、分辨率和时长正确。
输出检查结果和文件路径。

看到预览页不等于完成。只有 final.mp4 实际生成,并从头到尾播放检查后,才能算跑通。
失败时只改一个变量
第一次出片常见问题不在模型能力,而在上游输入没有定稿。
| 现象 | 先回退到哪里 | 最小修复 |
|---|---|---|
| 字幕整体错位 | 最终音频转写 | 重新生成时间戳,不改画面样式 |
| 某句读音错误 | 对应音频片段 | 只重做该段并更新后续时间 |
| 截图看不清 | 分镜制作单 | 延长停留或放大目标区域 |
| 画面与旁白无关 | STORYBOARD.md | 替换该镜头素材,不重写全片 |
| 转场跳跃 | 相邻镜头状态 | 对齐主体位置、运动方向和结束状态 |
| 成片无法播放 | 渲染与编码 | 检查 FFmpeg、容器和编码参数 |
连续两次出现同一问题,就回到上游检查。不要在提示词末尾堆“更高级、更自然、更稳定”,这种说法无法定位错误。
每次修改保存一个版本,例如:
v01-script
v02-audio
v03-timeline
v04-storyboard
v05-preview
v06-final
版本名记录改变了什么,比“最终版2”“最终版真的最终”更容易复盘。
Remotion 和真人口播怎么接入
HyperFrames 适合让 Agent 按本期内容重新组织画面。Remotion 适合已经稳定的栏目模板:固定片头、字幕、标题区和素材槽位,每期替换数据即可。
Remotion 官方提供 Agent Skills:
/remotion-create:创建项目或 Composition;/remotion-studio:打开预览;/remotion-render:渲染视频或静帧。
官方说明:https://www.remotion.dev/docs/ai/skills
前面的 narration.md、final.wav、字幕、时间轴和素材可以继续使用,不必重做。建议先用 HyperFrames 连续完成两三期,确认镜头结构稳定后,再迁移成 Remotion 固定栏目。
如果已经拍了真人口播,可使用 video-use 先转写并整理有效片段,再补字幕和信息画面。该项目要求完整安装仓库及辅助脚本,FFmpeg 是底层依赖;默认转写路径还可能需要 ElevenLabs API Key:https://github.com/browser-use/video-use
真人视频的流程应是:
口播定稿
→ 分段拍摄
→ 整理有效片段
→ 对齐字幕
→ 补步骤卡和截图
→ 预览
→ 渲染成片
不要在未确认保留片段前就做复杂动效,否则真人剪辑一变,后面的时间轴又要重排。
✅ 第一条视频的完成标准
- 口播稿已经本人朗读检查;
- 最终音频已确定,后续时间轴不再引用旧版本;
- 字幕来自最终音频,时间点能对上;
- 分镜控制在 4~8 个,每个镜头都有明确作用;
- 使用的素材全部存在,没有占位文件;
- 前 15 秒已单独预览;
- 每轮只修改一个主要问题;
final.mp4已生成,能够正常播放;- 声音没有截断,字幕没有明显错位,主体没有被裁掉;
- 项目、素材、提示词、版本和成片保存在同一个目录。
第一条跑通后,第二条继续复用目录和检查表。等同一结构稳定完成两三次,再固定片头、字幕和镜头模板。这样 Codex 才从一次性的视频生成助手,变成可重复使用的制作流程。