hyperframes

Render MP4 and WebM videos from HTML compositions with GSAP animations and FFmpeg encoding.

Updated Sep 10, 2026
One-click install
npx skills add https://github.com/loteiron/ZeusAgent --skill hyperframes-loteiron
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hyperframes
Source: https://github.com/loteiron/ZeusAgent/tree/main/optional-skills/creative/hyperframes
Command: npx skills add https://github.com/loteiron/ZeusAgent --skill hyperframes-loteiron

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill requires hyperframes, puppeteer, and includes scripts (resource) and references (resource) components.

What problem does it solve? Creating motion-graphics videos traditionally requires specialized video editing software and manual timeline work. This Skill turns HTML, CSS, and GSAP animations into deterministically rendered MP4/WebM video files, letting you produce captioned narration videos, product promos, social overlays, and website-to-video content entirely from code. ## Core Features & Use Cases - HTML-to-Video Rendering: Author compositions as HTML files with data-* timing attributes and GSAP timelines, then capture frame-by-frame and encode to MP4/WebM via FFmpeg. - TTS, Captions & Audio-Reactive Visuals: Generate local Kokoro TTS narration in 8 languages, transcribe with Whisper for word-level captions, and drive visuals from pre-extracted audio frequency bands. - Website-to-Video Pipeline: Capture any URL into screenshots, design tokens, and assets, then follow a 7-step workflow (DESIGN.md, SCRIPT.md, storyboard, composition, render) to produce a promo video. - Use Case: A user provides a product landing page URL and asks for a 30-second social ad. The Skill captures the site, extracts its brand colors and fonts, generates a TTS narration script, builds a multi-scene composition with shader transitions, and renders a final 1080p MP4. ## Quick Start Ask the agent to render a short promotional video from a script or website URL, and it will scaffold a HyperFrames project, build the composition, and render the final MP4.

Frequently Asked Questions about hyperframes

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I render a video from HTML and GSAP animations?▼

Scaffold a project with npx hyperframes init, author an HTML composition with data-start and data-duration attributes plus a paused GSAP timeline registered on window.__timelines, then run npx hyperframes render --output final.mp4 to encode it with FFmpeg.

How to add captions and TTS narration to a generated video?▼

Generate narration with npx hyperframes tts using one of 54 Kokoro voices across 8 languages, then run npx hyperframes transcribe on the WAV file for word-level timings. Style caption groups on the GSAP timeline with a hard visibility kill after each exit tween.

When should I use hyperframes vs manim for video generation?▼

Use manim-video for mathematical and geometric explainers such as equations or 3B1B-style content. Use hyperframes for motion graphics, talking-head videos with captions, product tours, social overlays, shader transitions, and anything driven by real video or audio media.

Why does hyperframes render fail with HeadlessExperimental.beginFrame not found?▼

Chromium 147+ removed the beginFrame CDP command. Upgrade to hyperframes 0.4.2 or later, which auto-detects support and falls back to screenshot mode, or set PRODUCER_FORCE_SCREENSHOT=true. Installing chrome-headless-shell via npx hyperframes browser --install restores the fast capture path.

Can I convert a website into a promotional video?▼

Yes. Run npx hyperframes capture with the URL to extract screenshots, design tokens, fonts, and assets, then follow the 7-step workflow: write DESIGN.md and SCRIPT.md, storyboard scenes, build the composition, and render the final video.

What are the limitations of GSAP animations in hyperframes compositions?▼

Compositions must be fully deterministic: no Math.random(), Date.now(), async timeline construction, or repeat: -1, which breaks the capture engine. Animate only visual properties like opacity and transforms, never visibility or display, and never call play() on media elements.