扔一个文章链接进去,吐一段带配音和字幕的讲解视频出来——今天分享一下如何跑通这条生产线。底层就是 Codex CLI 拉起 article2video (我自己的工作流),让 LLM 读文章、出中文口播稿、画分镜;MiniMax TTS 负责中文配音;最后用 HyperFrames 把分镜 HTML 拼成带字幕的 MP4。视频时长、用的 LLM 都能自己配,下面是完整的跑通记录。[ 示例视频:用 article2video 跑出来的一段成品 When AI Builds Itself]做技术分享视频这件事,很多人一直在和工具较劲。剪映模板够多但做出来的片子太像短视频,AE 效果够好但学习曲线陡得吓人,PR 干脆就是另一个职业的入门考试。我想要的其实很朴素——一篇技术文章、几张关键截图、一段连续的中文口播,配上能自动跟读的字幕,最后输出一个能在公众号里直接发的 MP4。时长不固定,三十秒能讲清楚也行,五分钟慢慢铺陈也行。直到最近我折腾了一遍这条链路,才发现这件事可以被完全脚本化:从粘贴一个 URL,到拿到一个能发布的讲解视频,中间不需要打开任何 GUI。我把自己的工作流程固化成 article2video ,今天和大家简单的分享一下。先把我跑通的那条命令摆出来,后面再拆每个环节到底在干什么:export OPENAI_API_KEY="your_openai_key"export MINIMAX_API_KEY="your_minimax_key"python -m article2video https://www.anthropic.com/institute/recursive-self-improvement \ --duration 90 \ --lang zh-CN \ --llm-provider openai \ --openai-model gpt-4o \ --tts-provider minimax \ --minimax-region cn \ --render-backend hyperframes * --duration 90 是示例值,可改成 30 / 120 / 300 等任意秒数 * --openai-model gpt-4o 是示例模型,任意 OpenAI API 兼容模型都可以(gpt-4o、gpt-5、deepseek、qwen 等)一个 URL 加八个参数,跑完你会得到这样的产物:output/<run>/final/video.mp4整条链路就是把「内容理解 → 口播稿 → 分镜 HTML → 中文 TTS → 字幕 → 视频拼装」这五件事串到一条命令里。我这次跑的成品是一个 MP4,分镜节奏和字幕同步都没什么问题,开头那段就是上面的示例视频。输入可以是技术文章 URL、GitHub 仓库链接、Markdown 文件或 PDF。系统会先抓取正文、标题、作者、机构、发布时间这些元数据,统一扁平化成 Markdown 再往下传。这一步是整个流程的「数据底座」,抓得干净后面所有环节才能省心。默认用本地启发式提取主标题、章节、引用块、关键数据。如果走 LLM 路径(任意 OpenAI 兼容模型),这一步会让模型从更上层的语义角度挑出最值得讲的几条主线。本地启发式够用,但确实没有 LLM 那么有「编辑感」。这是我最看重的环节。把原文一次性丢给 LLM,让它一次性产出这些东西:• 连贯中文口播稿:按你设定的时长一口气念完不卡壳• 每幕视觉设计:背景、配色、字号、是否要代码块截图这一段是整条链路的「导演」。口播稿写得流畅、分镜设计得有节奏,后面 TTS 和渲染才省事。HTML 模板与 HyperFrames 视觉工程分镜脚本里的每幕,会被翻译成一段独立的 HTML 片段。这些片段被组织进 HyperFrames 的时间线里——它负责对齐音频、字幕、画面时长,串起整段视频的所有动效。HTML 模板走的是 21 套 license-clean 的现成样式,从企业风到 Swiss 网格,从决策树到对比卡都有,省掉了从零开始设计画面的成本。口播稿交给 MiniMax 中国区 TTS,选好 voice 和 emotion,就能拿到一段拟人度还不错的中文配音。字幕是按口播稿和每幕时长自动切出来的 SRT,节奏跟着 TTS 的停顿走,不用手工对轴。默认走 HyperFrames 渲染器(headless Chromium + ffmpeg),把每段 HTML 录成 webm,再合并成 libx264 编码的 MP4。背景音乐、配音和字幕在 ffmpeg 这一层完成混音。如果 HyperFrames 跑挂了,会自动 fallback 到老一套 Playwright + ffmpeg 方案兜底。为什么是 LLM + MiniMax + HyperFrames 这套组合这个组合不是随手拼的,每一层都对应一个明确的痛点:LLM 这一层不挑模型——任意 OpenAI API 兼容的模型都能接,gpt-4o、gpt-5、deepseek、qwen 都可以,按你手头的 API 选。中文口播稿的「编辑感」各家差不多,关键看 prompt 写得多细。MiniMax 中国区 TTS 在中文拟人度上做得不错,特别是带情绪的 voice,能让连续几分钟的讲解不至于听起来像在念稿。HyperFrames 走 HTML+GSAP 这一套,画面跟文字、跟动画都是同一份源文件,调试成本低。将上面的六个环节告诉你的codex,让codex帮你生成完整的工作流内容输入与提取 -> 关键点分析 -> 口播稿与分镜 -> HTML 模板与 HyperFrames 视觉工程 -> 中文 TTS 与字幕 -> 视频渲染
(也可以把这篇文章扔给Codex,让它自行分析并执行)• OPENAI_API_KEY:给 LLM 用来写口播稿和分镜(兼容 OpenAI API 的服务都行)• MINIMAX_API_KEY:给 MiniMax TTS 用来合成中文配音;或者可以考虑免费的 edge-tts, 也是个不错的选择• headless Chromium(HyperFrames 录制用)• Python 3.10+ 跑 article2video 的一些执行脚本• 粘贴一个 URL(比如 Anthropic Institute 那篇 when AI builds iteself)• --duration 任意时长(30s / 90s / 5min 都行)• --llm-provider openai • --openai-model <任意模型> 走 OpenAI 兼容 API• --tts-provider minimax • --minimax-region cn 拿到中文配音• --render-backend hyperframes 走新渲染器
去 output/<run>/final/video.mp4 拿成片。整个过程不需要打开任何 IDE 或剪辑软件。我的 article2video 是「命令行的导演」,但你日常可能更想要一个可视化的工作台。我推荐 html-video(nexu-io/html-video,GitHub 上 1.8k star 的项目),定位就是「HTML → Video 的元层」。 prompt / link / repo │ ▼ ① source fetch studio pulls the URL or repo server-side, flattens it to Markdown │ ▼ ② agent loop your agent reads the material + the picked template's style and emits │ a content-graph (the storyboard) + one HTML block per frame ▼ ③ content-graph multi-frame IR — nodes (entity / data / text) + edges (sequence / │ dependency / contrast); topo-sorted into frame order & timing ▼ ④ per-frame HTML each node becomes a self-contained animated HTML frame on disk │ ▼ ⑤ Hyperframes render headless Chromium loads each frame, records it (auto-extending to │ cover the frame's own animation), → webm per frame ▼ ⑥ ffmpeg each webm → mp4 (libx264), then concat into one video; │ optional MiniMax music + narration mixed in ▼ your.mp4
它做的事情基本和 article2video 同构,但多了一个本地的 Studio UI——你可以在浏览器里贴 URL、选模板、对分镜、调 voice、最后导出 MP4。后端同样跑 HyperFrames 渲染器,支持 MiniMax TTS 和 ffmpeg 混音,区别只是入口从命令行变成了网页。# 启动本地 Studionode packages/cli/dist/bin.js studio# 打开 http://127.0.0.1:3071 开始用# 检测环境是否就绪node packages/cli/dist/bin.js doctor# 语义搜索模板node packages/cli/dist/bin.js search-templates --intent "github stars race" --top 3- Apache-2.0 + 本地运行,没有任何按次计费的环节;
- 它把 14 款本地编码 Agent(Claude Code、Codex CLI、Cursor、Windsurf 等)通过 ACP 协议串成「对话式做视频」——你说「做一个解读视频 https://...」,Agent 自己读文章、出分镜、渲视频。
• 公众号 / 视频号日更:把日常推文直接转成讲解视频,时长自定,复用现有内容• 技术播客 / Newsletter 配套:用 AI 自动把长文浓缩成短视频,挂在正文顶部• 论文 / 报告内部解读:把 arXiv 链接丢进去,按需要 1 分钟或 10 分钟讲完• 产品更新日志:Release Notes 自动转讲解视频,发布会前批量生产• 技术分享会预热:会议前给报名者发一段 AI 讲解视频当 teaser• ffmpeg 版本过老:系统自带的 4.3 对 libx264 没问题,但缺新编码器。装个 6.x 稳很多• headless Chromium 路径:macOS 上用系统 Chrome 即可,不需要再装 Playwright 自带浏览器• LLM 不走中文:一定要显式加 --lang zh-CN,不然默认是英文• TTS 选错 region:MiniMax 一定要用 --minimax-region cn,海外区不支持中文• 分镜卡死:如果 LLM 一次给的幕数过多,TTS 时长对不上。经验值是每幕 7-10 秒最舒服,总幕数按总时长除以这个数估 | | |
|---|
| 支持 URL / 仓库 / Markdown / PDF | |
| | |
| | |
| | |
| | 仅 Hyperframes 渲染器实装,其他适配器在路上 |
写在最后:让 AI 接管从 URL 到 MP4 的距离做 PPT 讲解视频这件事,我的思路一直是当流水线来做,而不是当视频来做。LLM 负责写口播稿,TTS 负责配音,HyperFrames 负责拼装画面,我只需要挑 URL 和审成片。这条链路的好处是,今天做技术分享、明天做论文解读、后天做产品更新,模板、口播风格、字幕节奏都能沉淀下来,越用越顺手。想试一下的话最快路径是:装好 ffmpeg 和 Chromium,准备好两个 API Key,跑一次上面那条命令。至于可视化的工作台,我个人目前在用 html-video 的本地 Studio。Apache-2.0、零按次计费、本地跑,关键是和 article2video 共用同一套 HyperFrames 渲染器,写好的分镜可以在两边无缝切换。真正决定讲解视频质量的,不是 TTS 多逼真、模板多漂亮,而是 LLM 写出的口播稿和分镜节奏。把内容理解、翻译、分镜这三件事解耦,单独优化每一步,整条链路的天花板会高很多。LLM 这一层也不必锁定某个模型——手头有哪个 API 就用哪个,按预算和效果换。~/Desktop/playground/article2video.mdhttps://github.com/nexu-io/html-video~/Desktop/Weixin Videos2026-06-07_132543_686.mp4• html-video 本地 Studio 启动node packages/cli/dist/bin.js studio → http://127.0.0.1:307