heygen-com / hyperframes
heygen-com/hyperframes
编写HTML,渲染视频。专为智能体打造。
项目概览
项目概述
HyperFrames 是一个开源框架,用于将 HTML、CSS、媒体和可搜索动画转换为确定性的 MP4 视频。它由 HeyGen 开发,旨在让 AI 代理能够轻松编写 HTML 并渲染视频。项目采用 TypeScript 编写,遵循 Apache-2.0 许可证。
核心功能
- HTML 原生:使用 HTML 文件定义视频,无需 React 或专有时间线格式。
- 确定性渲染:相同的输入产生相同的帧和输出,适合 CI 和自动化。
- 无构建步骤:
index.html可直接在浏览器中预览。 - 适配器动画:支持 GSAP、CSS、Lottie、Three.js、Anime.js、WAAPI 等。
- 代理友好:提供 CLI 和技能,AI 编码代理可轻松使用。
- 云渲染:支持 HeyGen 托管云渲染和 AWS Lambda 分布式渲染。
- 组件目录:提供可复用的块和组件,如转场、叠加、字幕、图表等。
- frame.md:将设计系统转换为适合视频的 DESIGN.md 超集。
适用与不适用场景
适用场景:
- 产品发布视频、功能公告。
- PR 讲解视频,带动画代码差异、旁白和字幕。
- 数据可视化、图表竞赛、地图动画。
- 社交媒体视频,带动态字幕、叠加和音乐。
- 文档转视频、PDF 转视频、网站导览讲解。
- 自动化内容管道中的可重用动态图形。
不适用场景:
- 需要复杂交互式视频(如游戏)的场景。
- 需要实时流媒体或直播的场景。
- 需要非确定性动画(如基于真实时间的动画)的场景。
- 需要大量外部资源且无法内联或公开访问的场景。
技术架构与依赖
- 语言:TypeScript
- 运行时:Node.js 22+,FFmpeg
- 核心包:
hyperframes(CLI)、@hyperframes/core(类型、解析器、运行时)、@hyperframes/engine(使用 Puppeteer 和 FFmpeg 的捕获引擎)、@hyperframes/producer(渲染管道)、@hyperframes/studio(编辑器 UI)、@hyperframes/player(Web 组件)、@hyperframes/shader-transitions(WebGL 着色器)、@hyperframes/aws-lambda(AWS Lambda 渲染)。 - 依赖:GSAP、Puppeteer、FFmpeg、Bun(开发工具)。
安装与快速开始
要求:Node.js 22+,FFmpeg。
使用 CLI 手动安装:
npx hyperframes init my-video
cd my-video
npx hyperframes preview # 在浏览器中预览,支持实时重载
npx hyperframes render # 渲染为 MP4
使用 AI 编码代理:
npx skills add heygen-com/hyperframes --full-depth
然后描述你想要的视频,例如:
使用 /hyperframes,创建一个 10 秒的产品介绍,包含淡入标题、背景视频和微妙的背景音乐。
典型使用方法
定义视频为 HTML:
<div id="stage" data-composition-id="launch" data-start="0" data-width="1920" data-height="1080">
<video class="clip" data-start="0" data-duration="6" data-track-index="0" src="intro.mp4" muted playsinline></video>
<h1 id="title" class="clip" data-start="1" data-duration="4" data-track-index="1">Launch day</h1>
<audio data-start="0" data-duration="6" data-track-index="2" data-volume="0.5" src="music.wav"></audio>
<script src="https://cdn.jsdelivr.net/npm/gsap@3/dist/gsap.min.js"></script>
<script>
const tl = gsap.timeline({ paused: true });
tl.from("#title", { opacity: 0, y: 40, duration: 0.8 }, 1);
window.__timelines = window.__timelines || {};
window.__timelines.launch = tl;
</script>
</div>
渲染:
npx hyperframes render -o output.mp4
默认 1920x1080 / 30fps,可使用 --fps 60 或 --resolution 4k 覆盖。
配置与部署要点
- 本地渲染:使用 CLI 在本地渲染,需要 Node.js 22+ 和 FFmpeg。
- 云渲染:使用 HeyGen 托管云渲染(
cloud render)或 AWS Lambda(lambda deploy / render / progress)。 - AWS Lambda 部署:参考文档 AWS Lambda rendering。
- Git LFS:开发时克隆完整仓库需要安装 Git LFS,因为包含约 240 MB 的测试视频文件。
- 技能安装:使用
npx skills add heygen-com/hyperframes --full-depth安装技能,或使用npx hyperframes skills update安装核心技能集。
限制、风险与许可证
- 许可证:Apache 2.0,无按渲染收费或商业使用门槛。
- 确定性:必须避免
Math.random()、Date.now()、setInterval等非确定性操作,否则渲染结果可能不一致。 - 媒体规则:视频必须
muted playsinline,音频使用单独的<audio>元素,避免 Base64 媒体(除非是 Send-to 流程)。 - 已知问题:HyperShader 浏览器模式存在异步捕获竞态条件,向后拖动可能显示空白。
- 风险:依赖外部 CDN(如 jsdelivr)加载运行时和 GSAP,可能受网络影响。
官方链接
信息来源和分析时间
- 信息来源:GitHub 仓库 README、CONTRIBUTING.md、docs/AGENTS.md、docs/guides/claude-design-hyperframes.md、docs/guides/claude-design-send-to-hyperframes.md、docs/guides/open-design-hyperframes.md。
- 分析时间:2026-08-11(基于最新发布版本 v0.7.106 的日期)。