入门 📋 6 个步骤 第 550 / 551 篇

用 HyperFrames 给编码智能体装上「写 HTML 渲染视频」能力

HeyGen 开源 5.5 万星的 HyperFrames:作品就是带 data 属性的 index.html,无头 Chrome 逐帧 seek + FFmpeg 编码,同输入永远同输出。本教程从 Node 22 与 FFmpeg 环境、装 21 个技能包、一句话出片,到 lint/preview/render 闭环与遥测开关,一步步跑通。

2026.10.20· 9 分钟上手· 约 2730 字· 🎬 HyperFrames / 🤖 编码智能体

编码智能体已经能写网页、写幻灯片、改代码了,但「做一段视频」始终是它们的盲区——视频是逐帧的、带时间轴的、渲染一次要好几分钟,而智能体最缺的就是确定性反馈。HeyGen 开源的 HyperFrames 就是冲着这个缺口来的:它的口号是「写 HTML,渲染视频,为智能体而生」。一个作品就是一个带 data 属性的 index.html,没有构建步骤、不要求 React;渲染器在无头 Chrome 里逐帧 seek,再用 FFmpeg 编码成 MP4,同样的输入永远得到逐帧一致的输出。更值得开发者注意的是它自带的 21 个技能:装进 Claude Code、Codex、Cursor 之后,智能体就知道「规划视频 → 写 HTML → 接动画 → 加媒体 → lint → 预览 → 渲染」这条完整生产流该怎么走。本教程从环境准备、装技能、一句话出片,到 lint 与渲染闭环,一步步跑通。

🎬 本教程适合:已经在用 Claude Code / Codex / Cursor 这类编码智能体,想让它顺手把产品介绍、数据动画、课件讲解做成 MP4 的开发者与内容同学。你不需要会 React,也不需要视频剪辑经验;需要的是 Node.js 22 以上与 FFmpeg。文中命令与技能名以官方仓库当前版本为准。

Step 1:环境准备,两条路线先选一条

1 Node 22 与 FFmpeg 是硬门槛

HyperFrames 要求 Node.js 22 或更高版本,同时需要 FFmpeg 做编码。有实测反馈:在默认的 Node 20 环境下会被明确拒绝并提示「HyperFrames requires Node.js >= 22」,所以这一步别跳过。装好后有两条路线——人类路线用 CLI(npx hyperframes init / preview / render),智能体路线装技能包(推荐,门槛更低且能形成闭环)。两条路线并不互斥:CLI 初始化项目时会自动装上技能,你随时可以把项目交给智能体接手。顺带说明它和 Remotion 的关系——官方 README 自己承认受 Remotion 启发,两者都跑无头 Chrome 且都做确定性渲染,真正的分歧在于「作者写什么」:Remotion 押注 React 组件,HyperFrames 押注普通 HTML。对智能体而言这个差别很实际,模型写 HTML 的熟练度远高于写符合某个框架约定的 TSX,而且省掉了一层构建步骤。协议方面 HyperFrames 是 Apache-2.0,涉及商用时请自行核对双方的许可条款。

# 检查环境
node -v          # 需 >= 22
ffmpeg -version  # 需可用

# 路线 A:人类版 CLI
npx hyperframes init my-video
cd my-video
npx hyperframes preview   # 浏览器预览,带热更新
npx hyperframes render    # 渲染成 MP4

# 路线 B:交给编码智能体(推荐)
npx skills add heygen-com/hyperframes

环境红线:渲染是无头 Chrome 逐帧截图加 FFmpeg 编码,属于 CPU 密集型任务,弱笔记本上会很慢。有实测记录显示,用 Node 22 渲染默认的 10 秒模板约 5.3 秒出片、产物约 30KB,但这是软件渲染下的空模板;一旦加入背景视频、模糊与转场,耗时会明显上升,长片建议用 Docker 或 AWS Lambda 分布式渲染。

Step 2:把 21 个技能装进你的编码智能体

2 Claude Code 与 Codex 各有一条命令

框架自带 21 个按需加载的技能,入口是 /hyperframes——它是路由器兼能力地图,任何「给我做个视频」的请求进来,它先判断这是视频、幻灯片还是移植任务,再指向对应的领域技能。在 Claude Code 里这些技能会注册成斜杠命令:/hyperframes 写作品、/hyperframes-cli 跑命令行、/tailwind 处理样式、/gsap 处理时间轴动画,用到 Lottie、Three.js、Anime.js 或 CSS 动画时还有对应的适配器技能。动画库那一组不需要你手动调用,智能体会在后台自动选用。

# Claude Code:从官方市场装插件
claude plugin marketplace add heygen-com/hyperframes
claude plugin install hyperframes@hyperframes

# Codex / Cursor / Gemini CLI 等支持技能的智能体
npx skills add heygen-com/hyperframes

# Codex 也可以只装插件面(稀疏安装)
codex plugin marketplace add heygen-com/hyperframes \
  --sparse .codex-plugin --sparse skills --sparse assets
💡 你真正需要记住的只有三个:/hyperframes 是主入口,说「帮我做个视频」就会触发;/hyperframes-cli 负责初始化、预览、渲染这些命令行动作;/hyperframes-media 负责配音、转写、抠背景。另外有一个很实用的扩展技能,可以把任意网页直接转成动画视频。

Step 3:用一句话让智能体出一支成片

3 提示词公式:载体 + 时长 + 元素 + 情绪

技能装好后,出片就是一句自然语言。官方给出的提示词范式很清晰:先说清载体与时长,再点名要哪些元素(标题淡入、背景视频、轻音乐),最后描述情绪或节奏。加上 /hyperframes 前缀会显式加载技能上下文,能显著提高一次成型的概率。下面几条是官方示例里验证过的写法,可以直接照搬改。

# 冷启动:直接描述想要什么
用 /hyperframes 做一个 10 秒的产品介绍,标题淡入,
带背景视频和一点轻音乐。

# 热启动:把现有材料变成视频
把这份 PDF 总结成一段 45 秒的路演视频,用 /hyperframes。
把这份 CSV 做成动态柱状图竞赛动画,用 /hyperframes。
看一下 https://github.com/heygen-com/hyperframes 这个仓库,
用 /hyperframes 讲讲它的用途和架构。

# 指定画幅与字幕
用 /hyperframes 做一条 9:16 的竖版短视频,讲 [主题],
配与旁白同步的弹跳字幕。
🔑 把「时长」写进提示词比事后裁剪有效得多。智能体会按你给的秒数去安排时间轴,说「10 秒」和只说「做个产品介绍」,产出的节奏完全是两回事。

Step 4:lint 与 preview——确定性渲染的真正价值

4 改一行就能重渲,结果可预期

这一步是 HyperFrames 与「让模型生成视频」路线的分水岭。因为作品就是普通 HTML,你可以让智能体 lint 一遍(有实测记录显示默认模板 lint 报 0 错 0 警),再在浏览器里带热更新预览,然后像跟剪辑师说话一样提修改意见——「标题放大两倍」「换成深色模式」「结尾加个淡出」「在第 3 秒加一条人名条」。智能体改的是 HTML 里那一行,渲染器重新跑一遍,同样的输入必然得到同样的帧。没有随机性,就意味着这个「预览 → 改 → 重渲」的闭环可以交给智能体自动迭代。草稿阶段为了快,可以让智能体跳过静态检查直接预览;但要进 CI 或交给同事复用前,务必补一次 lint,它能在渲染前就发现语法与结构问题,比渲到一半失败再回头查便宜得多。

npx hyperframes lint      # 静态检查作品
npx hyperframes preview   # 浏览器预览 + 热更新

# 迭代式提需求(像跟剪辑师对话)
把标题放大两倍,换成深色模式,结尾加一个淡出。
在第 0:03 加一条下方字幕条,写上我的名字和职位。

别把审美也外包:智能体写 HTML 很快,但故事线、节奏与品牌调性仍要你定夺。把「讲什么、给谁看、什么情绪」写成明确约束再交给它,否则很容易得到一段技术正确但没人想看完的视频。

Step 5:渲染出片,搞清它在背后做了什么

5 无头 Chrome 逐帧 seek + FFmpeg 编码

npx hyperframes render 会启动无头 Chrome,把时间轴上的每一帧定位出来截图,再流式送进 FFmpeg 编成 MP4。因为每一帧都是精确定位而非实时录制,所以渲染是确定性的——这对自动化流水线至关重要,也让「回归测试视频」成为可能。除了本地渲染,官方还提供 Docker 渲染与可选的 AWS Lambda 分布式渲染(AWS 费用自理)。

# 本地渲染
npx hyperframes render

# 用组件目录加现成模块(如动态图表)
npx hyperframes add data-chart

# 查看全部命令
npx hyperframes --help
💡 组件目录里现成的数据图表、字幕、转场、地图等模块优先拿来用,比让智能体从零手写省时且更稳。需要配音或字幕时再触发媒体技能做语音合成与转写。

Step 6:工程化落地——版本管理与遥测开关

6 作品是纯文本,天然适合 Git

把一个视频项目当代码管,是这套方案在工程上最大的红利:index.html 与素材都是文本或普通文件,可以直接进 Git,改坏了就回滚,多人协作就是正常的分支合并。还有一个工程细节值得提前想清楚:渲染放在本地交互跑还是放进 CI。交互阶段用预览快速迭代最省时间,定稿后把渲染挂进 CI、配合 Git 标签出版本,「改一行重渲一次」就变成可追溯的流水线;多人协作时把素材目录与输出目录的约定写死,避免智能体把产物写进源码目录把仓库撑大。上线前还有一件事要做——CLI 默认会收集用量遥测(命令名、渲染性能、错误名与粗略系统信息,还会检测你正在用哪个编码智能体),在意的话用下面任意一种方式关掉。

# 关掉遥测(三选一即可)
export HYPERFRAMES_NO_TELEMETRY=1
export DO_NOT_TRACK=1
npx hyperframes telemetry disable

# 把作品当代码管
git add index.html assets/
git commit -m "feat: 10s 产品片 v2(深色模式 + 淡出)"

素材与合规:背景视频、音乐、字体等素材的授权要自己确认,智能体不会替你判断版权;用到真人肖像或声音时同样如此。另外官方把浏览器编辑界面 Studio 标注为「可用、仍在演进」,生产流水线建议以 CLI 为准,别把关键环节押在实验性界面上。

常见问题速查

现象原因与处理
提示需要 Node.js >= 22版本硬门槛,用 nvm 切到 22 以上;这是实测中最常卡住的一步
渲染报 FFmpeg 相关错误FFmpeg 未安装或不在 PATH,装好后用 ffmpeg -version 验证
智能体写的动画不动确认用的是可 seek 的动画(GSAP 时间轴等),直接写 CSS 过渡未必能被逐帧定位
渲染很慢软件渲染下 CPU 吃紧,缩短时长、减少模糊与转场,或改用 Docker / Lambda 分布式渲染
斜杠命令没出现确认插件或技能已安装并重启客户端;命令前缀要写成 /hyperframes
改动后画面没变预览有热更新,渲染不会自动触发;改完重新跑 render
← 返回教程中心