/ AIBLOG

技术笔记

用 Codex 做视频:从脚本到成片的 7 步开源工作流

很多人以为做一条教程视频,必须自己写稿、配音、打轴、做动画、反复剪辑。其实,把 Codex 与三款开源工具组合起来后,大部分制作工作都可以交给 AI:你只需要说明想法、审阅预览,并把不满意的地方直接告诉它。

这套流程熟练后,一条结构不复杂的短视频最快约 1 小时可以完成。本文对应的教程视频,从制作到发布不到 2 小时。具体耗时仍会受视频长度、素材数量、电脑性能和修改次数影响。

先认识三个工具

工具

负责什么

HyperFrames

让 Codex 用 HTML、CSS、动画和媒体素材制作视频,并渲染为 MP4

VideoSpec

管理选题、脚本、分镜、素材、制作任务、人工审批和成片验收

SmartSub(妙幕)

把配音转成字幕,校对时间轴,并导出 SRT 等字幕文件

简单理解:VideoSpec 管流程,HyperFrames 做画面和渲染,SmartSub 做字幕,Codex 负责把它们串起来。

开始前准备

你需要:

  • 已安装并能使用 Codex;
  • Node.js 22 或更高版本;
  • FFmpeg;
  • 一段准备讲解的主题;
  • 一种 TTS 配音方式。本文使用豆包 TTS,也可以换成 SmartSub 内置 TTS 或其他服务。

安装 HyperFrames 技能:

1npx skills add heygen-com/hyperframes

交互界面打开后,选择 Core Skills 即可。如果希望让 Agent 直接安装核心技能,可运行:

1npx hyperframes skills update

在准备制作视频的项目目录中初始化 VideoSpec:

1npx videospec-workflow@latest init

SmartSub 可以从 GitHub Releases 下载。macOS 用户也可以使用 Homebrew:

1brew tap buxuku/tap
2brew install --cask smartsub

第一步:让 Codex 建立视频方案

不要一开始就要求 Codex“直接做视频”。先把主题、受众、时长和画面比例说清楚,后面的脚本和分镜会稳定很多。

可以直接复制下面的提示词:

使用 VideoSpec 为我制作一期视频方案。主题是「填写主题」,目标观众是「填写观众」,时长约「填写时长」,画面比例为 16:9。风格要清楚、简洁,先生成 brief、口播脚本、分镜和素材计划,等我确认后再进入制作。

VideoSpec 会生成 proposal、brief、script、storyboard、materials 和 tasks 等文件。你不需要逐个手写,只要重点检查三件事:

  1. 讲述顺序是否正确;
  2. 口播是否像人话;
  3. 分镜是否真的能把口播内容讲清楚。

确认无误后告诉 Codex:

我批准 brief 和 storyboard,继续制作。

第二步:生成最终口播稿

让 Codex 根据已确认的方案整理一版适合配音的纯文本。句子要短,少用括号和复杂英文,数字与品牌名要写成容易正确朗读的形式。

提示词示例:

根据已批准的 script,输出最终 TTS 口播稿。删除标题、编号和舞台说明,只保留需要朗读的内容;句子尽量短,并检查 HyperFrames、VideoSpec、SmartSub 等名称的发音。

拿到口播稿后,自己快速读一遍。此时改文案,远比视频做完后再改省时间。

第三步:生成配音

本文使用豆包 TTS。最省事的方法不是自己查接口写代码,而是让 Codex 按你当前使用的 TTS 官方文档生成一个小脚本。

请根据豆包 TTS 的最新官方文档,为当前口播稿生成配音脚本。API Key 只能从环境变量读取,不能写进源码或日志。运行前先告诉我需要配置哪些环境变量,成功后输出 voice.mp3。

把密钥放进环境变量或本地 .env 文件,并确保 .env 已加入 .gitignore。不要把 API Key 粘贴进提示词、代码仓库、截图或视频画面。

如果不想使用云端 TTS,也可以直接使用 SmartSub 提供的本地或免费配音方案。无论选择哪一种,最终准备好一个完整的配音文件,例如:

1voice.mp3

第四步:用 SmartSub 生成字幕

打开 SmartSub 后按下面操作:

  1. 选择字幕生成或转写任务;
  2. 导入 voice.mp3
  3. 选择中文和合适的本地转写模型;
  4. 开始转写;
  5. 在校对台修正错字、断句和时间轴;
  6. 导出 SRT 字幕,例如 captions.srt

不要跳过校对。产品名、英文缩写和数字最容易识别错误。字幕也不要一行太长,手机上会很难读。

最后应至少得到两个文件:

1voice.mp3
2captions.srt

第五步:让 Codex 用 HyperFrames 生成视频

把视频描述、配音和字幕放到项目中,然后告诉 Codex:

使用 HyperFrames 按已批准的 VideoSpec 制作视频。使用 voice.mp3 作为旁白,使用 captions.srt 生成字幕。画面比例为 16:9、分辨率为 1920×1080。先完成工程并运行 lint 和 check,再打开预览;没有得到我的确认前不要渲染最终成片。

HyperFrames 会把视频写成可预览的 HTML 合成工程,并用时间属性控制场景、字幕、音频和动画。你不需要手工调整传统剪辑软件的时间线,Codex 会根据脚本和字幕完成大部分工作。

第六步:预览,并用自然语言修改

第一次预览通常不会完美。最有效的反馈方式,是说清楚“哪里不对、希望怎样改”。

例如:

  • “第 20 秒的标题太小,手机上看不清,放大 30%。”
  • “第二幕节奏太慢,把停留时间缩短 2 秒。”
  • “字幕挡住了底部按钮,整体向上移动。”
  • “这一段口播提到 SmartSub 时,画面才显示 SmartSub,不要提前出现。”

Codex 修改后,再看一遍预览。确认画面、字幕、声音和节奏都正确后,再说:

预览通过。请渲染最终 MP4,并检查分辨率、时长、编码、音轨和字幕是否完整。

第七步:生成封面和发布文案

成片完成后,可以继续让 Codex 准备发布物料:

根据成片生成 5 个标题、1 段视频简介、封面文案、章节时间点和发布检查清单。标题不要夸大,不要把“约 1 小时”写成对所有人都成立的保证。

发布前由人完成最后检查:

  • 事实是否准确;
  • 画面、音乐、字体和素材是否有使用权;
  • 是否暴露 API Key、账号、私人路径或个人信息;
  • TTS 音色是否允许用于当前用途;
  • 封面和标题是否符合平台要求。

确认这些项目后,再手动发布。

最简流程回顾

整套工作流可以压缩成七句话:

  1. 用 VideoSpec 把想法变成脚本和分镜;
  2. 确认方案;
  3. 生成配音;
  4. 用 SmartSub 生成并校对字幕;
  5. 让 Codex 使用 HyperFrames 制作视频;
  6. 看预览,用自然语言提出修改;
  7. 渲染成片,生成封面和发布文案,人工检查后发布。

真正节省时间的关键,不是完全取消人工,而是把人从重复剪辑中解放出来,只保留判断、反馈和发布决策。第一次搭建环境会慢一些;做过一两次后,后续视频就可以直接复用同一套目录、提示词和检查清单。

项目地址