What it is
HyperFrames is an open-source framework for turning HTML, CSS, media, and seekable animations into deterministic MP4 videos. Compositions are plain HTML files with data attributes for timing and tracks. The renderer seeks each frame in headless Chrome and encodes the result with FFmpeg. You can use it locally with the CLI, from AI coding agents with skills, or as a rendering core behind hosted workflows.
Who it's for
- Developers who want to generate video programmatically from HTML
- Users of AI coding agents (Claude Code, Codex, Cursor, Gemini CLI and others) who want agents to author videos
- Teams building automated content pipelines, CI rendering or regression tests that need repeatable output
- Designers and marketers making product launch videos, explainers, captions and motion graphics
Requirements
Requirements
- Node.js 22+
- FFmpeg
Setup
Install the Claude Code plugin
Add the marketplace and install the versioned plugin, then use /hyperframes:hyperframes.
bashclaude plugin marketplace add heygen-com/hyperframes claude plugin install hyperframes@hyperframesInstall standalone skills (including OpenCode)
Opens a picker; the Core Skills group is all you need. Agents and non-interactive runs should use
npx hyperframes skills updateinstead.bashnpx skills add heygen-com/hyperframesStart a project manually with the CLI
Scaffold a project, preview it in the browser with live reload, and render it to MP4.
bashnpx hyperframes init my-video cd my-video npx hyperframes preview # preview in browser with live reload npx hyperframes render # render to MP4
Examples
Agent prompt for a product intro
PromptUsing `/hyperframes`, create a 10-second product intro with a fade-in title, a background video, and subtle background music.Expected output: Example prompt from the README to run in a coding agent after installing the skills.
HTML composition with GSAP timeline
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>What it does: Defines a 1920x1080 video with a clip, a title and audio on separate tracks. A paused GSAP timeline is registered on window.__timelines so the renderer can seek it.
Install catalog blocks
bashnpx hyperframes add flash-through-white # shader transition
npx hyperframes add instagram-follow # social overlay
npx hyperframes add data-chart # animated chartWhat it does: Adds ready-made blocks and components from the catalog to a project.
Update the core skill set
bashnpx hyperframes skills updateWhat it does: Installs exactly the core skill set from the current main branch, as recommended for agents and non-interactive runs.
Pros & cons
Pros
- Pro:HTML-native compositions with data attributes, with no React requirement or proprietary timeline format
- Pro:Deterministic rendering (frames seeked in headless Chrome, encoded with FFmpeg), suited to CI and regression tests
- Pro:Ships 21 agent skills plus a non-interactive CLI, so coding agents can plan, lint, preview and render videos
- Pro:Reusable catalog of blocks and components, plus a design-system layer (frame.md)
Cons
- Con:Requires Node.js 22+ and FFmpeg to be installed
- Con:Animations must be seekable (e.g. paused GSAP timelines registered on window.__timelines), which constrains how motion is authored
- Con:Studio is described as 'Available, evolving', so it is not yet a settled surface
Images
