hyperframes

heygen-comApache-2.0活跃维护

用 HTML 写动画,再通过 Puppeteer 和 FFmpeg 渲染成视频,专为 AI Agent 生成动态视频内容设计。

Write HTML. Render video. Built for agents.

v0.9.26发布于 2026-11-09 00:05 UTC81,807star +1,593 / 7 天7,557fork同步于 2026-11-10 05:17 UTC

怎么上手

由 README 提炼,执行前请确认
npx hyperframes init my-video
cd my-video
npx hyperframes preview
npx hyperframes render
硬件要求按 README 说明

README 未说明

下载:源码 zip·GitHub Releases(安装包)本站不镜像安装包

项目说明

由 README 自动翻译提炼

把 HTML/CSS 和可寻址动画确定性地渲染成 MP4 视频,专为 AI 编码代理设计

用 HTML 写动画,再通过 Puppeteer 和 FFmpeg 渲染成视频,专为 AI Agent 生成动态视频内容设计。

核心能力

  • 将 HTML、CSS、媒体与可寻址动画渲染为确定性 MP4
  • 提供 9 个技能,教代理完成规划、写 HTML、加动画、检查、预览、渲染
  • 内置约 450 个可编辑源码的现成区块与组件
  • 支持 CLI 本地预览(浏览器实时重载)与渲染
  • 可接入 Claude Code、Codex、Cursor 等编码代理

容易踩的坑

需要 Node.js 22+ 和 FFmpeg;交互式技能选择器默认不预选任何项,脚本或 CI 场景需用 npx hyperframes skills update 安装核心集;skills add 解析的注册表可能滞后 main 数小时,建议用与 CLI 版本匹配的 skills update

内容由模型根据 README 生成,可能不完整或不准确,以官方文档为准。看原文 README
这个条目还没有人工点评。如果它对你很有用,欢迎到 提交仓库 页写下你的使用经验。

用户点评

登录用户的真实使用记录,可按版本和硬件筛选
共 0 条

    还没有人点评。第一个说出真实体验的人最有价值。

    最近发版

    5 个版本v0.9.26
    1. v0.9.26最新正式版2026-11-09 · 2026-11-09 00:05 UTC

      HyperFrames v0.9.26

      Released on 2026-11-08.

      Cloud renders now find media whose file names have accents, even when macOS stores the name differently from the page. A large project's first history copy is also much faster.

      Fixes

      • CLI: Cloud render finds media whose file name is stored in another Unicode form than the page's (91ad7fb6e, #7419).

      Performance

      • Studio Server: A large project's first history copy takes a fraction of the time (2927fe615, #7415).

      Full changelog

      https://github.com/heygen-com/hyperframes/compare/v0.9.25...v0.9.26

    2. v0.9.252026-11-08 · 2026-11-08 20:25 UTC
      查看更新说明

      HyperFrames v0.9.25

      Released on 2026-11-08.

      Re-rendering a film with the same settings now gives the same result, because every render seeds its random values. A muted video's picture also no longer waits on its own audio track at a cut, and check replays an unchanged project's last pass.

      Features

      • CLI: Check replays an unchanged project's last pass and takes --no-craft (070b964d7, #7398).

      Fixes

      • Core: A muted video's picture no longer waits on its own audio track at a cut (fa2e63515, #7412).
      • Producer: Seed random values in every render so re-renders give the same film (eb16510a1, #7410).
      • Core: Capture pages load only the clips on screen (12906e0bf, #7402).

      Internal

      • Install ffmpeg through the GitHub API asset route with a cache (074de9dd1, #7401).

      Full changelog

      https://github.com/heygen-com/hyperframes/compare/v0.9.23...v0.9.25

    3. v0.9.232026-11-08 · 2026-11-08 07:05 UTC
      查看更新说明

      HyperFrames v0.9.23

      Released on 2026-11-08.

      Fade-ins that follow a starting set now end fully visible instead of vanishing when the fade finishes. Failed script reports also name their library, and menu highlights match their panel.

      Features

      • Engine: A failed CDN script's report names its library and version, never its URL (adf14d732, #7394).
      • Core: Preview health names the media element that held play (fd05a3860, #7159).

      Fixes

      • Core: A set written before its tween no longer erases the tween's end (75fe18c62, #7397).
      • Studio: A menu row's highlight is rounder than its panel (ab785e9c5, #7395).
      • Studio: Bound recovery and verify full-quality playback (3151fd213, #7393).

      Internal

      • Engine: The decode timeout warning reaches every caller (0f5914dc4, #7119).

      Full changelog

      https://github.com/heygen-com/hyperframes/compare/v0.9.22...v0.9.23

    4. v0.9.222026-11-08 · 2026-11-08 01:47 UTC
      查看更新说明

      HyperFrames v0.9.22

      Released on 2026-11-08.

      Studio previews look sharper: scrubbing shows full-quality decoded frames, and seeking no longer drops to an incomplete picture. Renders also keep page timers on the film's schedule at any worker count.

      Features

      • Studio: Scrub full-quality video with decoded preview frames (b7157bdab, #7379).

      Fixes

      • Producer: Keep page timers on the film's schedule at every worker count (fed14b016, #7390).
      • Core: Retain complete preview pictures during native seeks (b87a01f6a, #7378).

      Internal

      • Producer: The injector budget test no longer leaves a no-op injector for later tests (34118d8f2, #7384).

      Full changelog

      https://github.com/heygen-com/hyperframes/compare/v0.9.21...v0.9.22

    5. v0.9.212026-11-07 · 2026-11-07 23:18 UTC
      查看更新说明

      HyperFrames v0.9.21

      Released on 2026-11-07.

      Cloud exports take big files and files given by full path, HDR clips keep their brightness, and Safari's picture meets the cut again.

      Features

      • CLI: Cloud uploads send a big file in parts, so a cut connection resends one part (3d7f12acd, #7375).
      • Media Use: The voice credits line names the real source, your recording or any vendor (f5bde9533, #7380).
      • Media Use: Your own voice recording is a voice line, and speed applies to it (14e598e5a, #7377).

      Fixes

      • Core: Safari video picture lands on the cut again, undoing the hidden pre-roll (841e90ffe, #7383).
      • CLI: A media file referenced by its filesystem path goes into the cloud archive (e0c11bf09, #7381).
      • Check: Lint and check skip compositions the project never mounts (7b79ab429, #7369).
      • Engine: Hlg footage with a large header sei also tone-maps at hlg's white (b559a98d3, #7349).
      • CLI: A re-encode of a media file over the cap is limited to fit it (57a75337b, #7376).
      • Core: A film moves on past a video the browser never starts loading (a595755a3, #7368).
      • Producer: Page timers during a render run on film time (59c2065d6, #7362).
      • CLI: Transcribe names why whisper is missing and the one line that fixes it (9efbbdf5a, #7366).
      • Check: Masked or clipped-away text no longer counts as overlapping (a3b8f521d, #7364).
      • Check: The overlap finding names the decorative mark, data-layout-ignore (330be7cd2, #7365).
      • CLI: Open stops the project's background preview first (896a77c30, #7297).
      • CLI: Stop waiting for the cloud's file check when the caller aborts (336abaa80, #7361).
      • Check: A Chrome that never becomes ready ends the check with a named error ([e827de256](https://github.co

    README 原文

    未翻译

    HyperFrames is a free, open-source framework for turning HTML, CSS, media, and seekable animations into deterministic MP4 videos. Use it locally with the CLI, from AI coding agents with skills, or as the rendering core behind hosted authoring workflows.

    The HyperFrames Studio app is free to use as well; its Pro plan adds HeyGen's top video, image, voice and music models.

    Using Claude Code, Codex, Cursor, or another coding agent? Run npx hyperframes skills update once, then ask your agent to make a video.

    Quick Start

    With an AI coding agent

    For Claude Code, install the versioned plugin:

    claude plugin marketplace add heygen-com/hyperframes
    claude plugin install hyperframes@hyperframes
    

    To enable auto-update for the hyperframes marketplace, run claude in a terminal in your project. In Claude Code's terminal UI, run /plugin, then select Marketplaces → hyperframes → Enable auto-update. Afterward, use /hyperframes:hyperframes. See the plugin guide for Copilot, VS Code, Cursor, Gemini CLI, updates, and migration.

    For standalone skills (including OpenCode), use:

    npx skills add heygen-com/hyperframes
    

    The picker opens with nothing pre-selected — the Core Skills group is all you need; /slideshow, /remotion-to-hyperframes, /reverse-any-video, /style-sampling and /figma install on demand. Without the picker (a script or a CI job), npx hyperframes skills update installs exactly the core set, whereas skills add --all installs all 9 published skills. The six repo-internal skills under .claude/skills / .agents/skills are excluded by default. For the full published set use npx hyperframes skills.

    skills add resolves the skills.sh registry blob, which can lag main by hours. npx hyperframes skills update installs the skills from the release tag that matches your CLI version, so they match the CLI that runs them.

    Run project-local installs from your video project's directory. From a HyperFrames checkout, use npx hyperframes skills update for a global install instead: a project-local installer target can overlap the tracked skills/ source and overwrite uncommitted edits. See contributor setup.

    Try a prompt like:

    Using /hyperframes, create a 10-second product intro with a fade-in title, a background video, and subtle background music.

    The skills teach agents the HyperFrames production loop: plan the video, write valid HTML, wire seekable animations, add media, lint, preview, and render. They work with Claude Code, Codex, Cursor, Gemini CLI, IBM Bob, and other coding agents that support skills.

    Skills

    HyperFrames ships 9 skills. Make any video by asking for it; the /hyperframes skill carries the contract and the references (film, captions, overlays, motion, look). Read it first.

    For standalone installation, default to the core set (/hyperframes, /hyperframes-cli, /hyperframes-registry, /media-use). npx hyperframes skills update installs exactly that from anywhere; the interactive picker (npx skills add heygen-com/hyperframes) lists it as the "Core Skills" group, nothing pre-selected. The picker is interactive-only — a non-interactive or agent run without --skill installs all 9. Use npx skills add heygen-com/hyperframes --all to install the complete published set deliberately (skips the picker), or npx skills add heygen-com/hyperframes --skill <name> for just one (bare name, no leading /).

    Standalone installs stay lean after that: npx hyperframes init installs the core set only when it is missing and never touches a skill you already have (npx hyperframes skills update refreshes them, and never removes one); /figma, /slideshow, /remotion-to-hyperframes and /reverse-any-video install on demand with npx hyperframes skills update <name>. Nothing re-pulls the full set behind your back.

    Plugin packages

    Plugins bundle the full skill catalog and use their agent's update manager. bun run package:agent-plugin builds the committed portable ZIP, source metadata, and SHA-256 checksum. See the maintainer checklist.

    Upload to Codex

    Build the upload-ready Codex plugin archive from the committed HEAD version of the manifest, brand assets, and skills:

    bun run package:codex-plugin
    

    This writes dist/hyperframes-plugin.zip with a hyperframes/ root folder and fails if the archive exceeds Codex's 100 MB upload limit.

    Core set

    SkillUse when
    /hyperframesRead first for any request to make, edit, animate or render a video, motion graphic, captions or overlays with HyperFrames (HTML rendered to video). Holds the render contract and the work loop, and points to the references for format, motion, look, captions, whole films and storyboards.
    /hyperframes-cliThe HyperFrames CLI by job — scaffold, check, look at frames, edit the timeline, preview, render locally or in the cloud, publish, project history — plus reading its JSON and recovering from build or render failures.
    /hyperframes-registryAbout 450 ready-made blocks and components installed as editable source — transitions, overlays, titles, kinetic type, captions, charts, maps, 3D, camera moves. Use before hand-building any named visual; also for hyperframes add and catalog.
    /media-useGet or make any media for a video — music, sound effects, images, icons, logos, voiceover, avatar and generated video, transcripts, cutouts, colour grades and looks — with HeyGen or free local tools, and mix placed audio. Also for footage that looks dark, flat or dull.

    On demand

    SkillUse when
    /figmaBring Figma into a video — rendered assets, brand tokens, components, storyboard frames as reconstructed motion, shaders and connector-assisted motion. Use when you paste a figma.com link.
    /slideshowA presentation, pitch deck or interactive deck — discrete slides, fragment reveals, branching, hotspot navigation, presenter mode with speaker notes. Output is a navigable deck, not a rendered MP4.
    /remotion-to-hyperframesBringing existing video code or footage into HyperFrames (Remotion first; also Motion Canvas, Lottie, Three.js, canvas, other tools' renders), verified frame by frame.
    /reverse-any-videoRebuilding any video file as an editable HyperFrames project (motion graphics, talking heads, live action, AI-generated footage), checked frame by frame against the original. HyperFrames Pro.
    /style-samplingMaking a new episode on your topic in one of five proven styles: Collage Explainer, Finance Explainer, Animated Science Explainer, 3D Brand Explainer, 3D True Crime. HyperFrames Pro.

    For visual design handoff workflows, see the Claude Design guide and Open Design guide.

    Manually with the CLI

    npx hyperframes init my-video
    cd my-video
    npx hyperframes preview      # preview in browser with live reload
    npx hyperframes render       # render to MP4
    

    Requirements: Node.js 22+, FFmpeg

    What You Can Build

    Need ideas? Browse the Showcase for finished videos you can watch, read, run, and remix.

    • Product launch videos and feature announcements
    • PR walkthroughs with animated code diffs, narration, and captions
    • Data visualizations, chart races, and map animations
    • Social videos with kinetic captions, overlays, and music
    • Docs-to-video, PDF-to-video, and site-tour explainers
    • Reusable motion graphics for automated content pipelines

    Frame.md

    frame.md — your design system, ready for video.

    Every brand has a design.md. None of them were written for a camera. frame.md is the missing translation layer: it takes your web-context design spec and inverts it for the frame — the same tokens, the same rules, but rewritten so an AI agent can compose a promo video without guessing at scale or reaching for web chrome.

    The output is a DESIGN.md superset your whole toolchain can read. Atoms stay sacred. Composition stays free. Numbers come from the script.

    Browse and remix them all at hyperframes.studio/design.

    How It Works

    Define a video as HTML. Add data attributes for timing and tracks. Use GSAP, CSS, Lottie, Three.js, Anime.js, WAAPI, or your own frame adapter for seekable animation.

    <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>
    

    Preview instantly in the browser. Render locally or in Docker. The renderer seeks each frame in headless Chrome and encodes the result with FFmpeg, so the same input produces the same video.

    HyperFrames Stack

    HyperFrames is the open-source rendering engine, plus a growing set of tools around HTML-native video creation.

    PieceStatusWhat it does
    CLIAvailableScaffold, preview, lint, inspect, and render local video projects
    Core / Engine / ProducerAvailableParse compositions, drive headless Chrome, encode video, and mix audio
    CatalogAvailableReusable blocks and components for transitions, overlays, captions, charts, maps, and effects
    Agent skillsAvailableTeach coding agents the video-production patterns that generic web docs miss
    StudioAvailable, evolvingBrowser surface for previewing and editing compositions
    AWS Lambda renderingAvailableDeploy a distributed render stack and drive renders from your laptop or CI
    hyperframes.studioAvailableCommunity playground for previewing, iterating, sharing, and rendering HTML-native video projects
    frame.mdAvailableInvert your design system for the camera — a DESIGN.md superset an agent can compose video from

    Catalog

    Install ready-to-use blocks and components:

    npx hyperframes add flash-through-white   # shader transition
    npx hyperframes add instagram-follow      # social overlay
    npx hyperframes add data-chart            # animated chart
    

    Browse the catalog at hyperframes.heygen.com/catalog.

    Why HyperFrames?

    • HTML-native: compositions are HTML files with data attributes. No React requirement, no proprietary timeline format.
    • Agent-friendly: agents already write HTML, and the CLI is non-interactive by default.
    • Deterministic: same input, same frames, same output. Built for CI, regression tests, and automated rendering.
    • No build step: an index.html composition plays as-is and can be previewed directly in the browser.
    • Adapter-based animation: bring GSAP, CSS animations, Lottie, Three.js, Anime.js, WAAPI, or a custom runtime.
    • Open source: Apache 2.0 license, with no per-render fees or commercial-use thresholds.

    HyperFrames vs Remotion

    HyperFrames is inspired by Remotion. Both tools render video with headless Chrome and FFmpeg. The main difference is the authoring model: Remotion's bet is React components; HyperFrames' bet is plain HTML that humans and agents can both write easily.

    HyperFramesRemotion
    AuthoringHTML + CSS + seekable animationReact components
    Build stepNone; index.html plays as-isBundler required
    Agent handoffPlain HTML filesJSX / React project
    Library-clock animationsSeekable, frame-accurate via adaptersWall-clock animation patterns need care
    Distributed renderingLocal and AWS Lambda render pathsRemotion Lambda, mature cloud renderer
    LicenseApache 2.0Source-available Remotion License

    Read the full comparison in the HyperFrames vs Remotion guide.

    Documentation

    Full documentation: hyperframes.heygen.com/introduction

    Packages

    PackageDescription
    hyperframesCLI for creating, previewing, linting, and rendering compositions
    @hyperframes/coreTypes, parsers, generators, linter, runtime, and frame adapters
    @hyperframes/engineSeekable page-to-video capture engine using Puppeteer and FFmpeg
    @hyperframes/producerFull rendering pipeline for capture, encode, and audio mix
    @hyperframes/studioBrowser-based composition editor UI
    @hyperframes/playerEmbeddable <hyperframes-player> web component
    @hyperframes/shader-transitionsWebGL shader transitions for compositions
    @hyperframes/aws-lambdaAWS Lambda SDK and deployment surface for distributed renders

    Community

    HyperFrames is used in production at HeyGen, with community examples from teams like tldraw, TanStack, and others in ADOPTERS.md. Open a PR if your team is using HyperFrames.

    Development Note

    The repo uses Git LFS for golden regression-test baselines under packages/producer/tests/**/output.mp4 (about 240 MB of .mp4 files). If you're cloning the full repo for development, install Git LFS first:

    # macOS
    brew install git-lfs
    
    # Ubuntu / Debian
    sudo apt install git-lfs
    
    # Windows
    winget install GitHub.GitLFS
    
    # Then, once per machine
    git lfs install
    

    If you only need source files, you can skip LFS content:

    GIT_LFS_SKIP_SMUDGE=1 git clone https://github.com/heygen-com/hyperframes.git
    

    License

    Apache 2.0