heygen-com

    heygen-com/hyperframes

    #120 this week

    Write HTML. Render video. Built for agents.

    ai
    frontend
    graphics
    animation
    ffmpeg
    framework
    gsap
    html
    TypeScript
    Apache-2.0
    36.1K stars
    3.4K forks
    36.1K GitHub watchers
    Updated 7/18/2026
    View on GitHub

    Backblaze Generative Media Hackathon

    Build the next generation of AI media apps with Genblaze, stored on Backblaze B2. $10,000 in prizes.

    Enter the hackathon

    Loading star history...

    Use Cases & Benefits

    • Transforms HTML, CSS, and animations into deterministic MP4 videos using a headless Chrome and FFmpeg pipeline.
    • Enables agent-friendly, build-step-free video authoring with plain HTML, allowing seamless integration with AI coding agents.
    • Use for automating product launch videos with animated titles, background media, and music using HTML-native compositions.
    • Use for creating data visualizations and animated chart races by combining reusable catalog blocks and seekable animations.
    • Use for integrating video rendering into CI pipelines or distributed AWS Lambda environments for scalable automated content production.

    About hyperframes

    HyperFrames

    npm version npm downloads License Node.js Discord

    Write HTML. Render video. Built for agents.

    Quickstart | Showcase | Playground | Catalog | Docs | Discord

    HyperFrames demo: HTML code on the left transforms into a rendered video on the right

    HyperFrames is an 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.

    Quick Start

    With an AI coding agent

    Install the HyperFrames skills, then describe the video you want:

    npx skills add heygen-com/hyperframes
    

    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, Cursor, Gemini CLI, Codex, and other coding agents that support skills.

    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 website-to-video 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.

    Biennale Yellow
    Biennale Yellow
    BlockFrame
    BlockFrame
    Blue Professional
    Blue Professional
    Bold Poster
    Bold Poster
    Broadside
    Broadside
    Capsule
    Capsule
    Cartesian
    Cartesian
    Cobalt Grid
    Cobalt Grid
    Coral
    Coral
    Creative Mode
    Creative Mode

    Browse and remix them all at hyperframes.dev/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.devAvailableCommunity 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

    Discover Repositories

    Search across tracked repositories by name or description