hyperframes-cli

Render HTML compositions into MP4 videos using the HyperFrames CLI and browser-based frame capture.

Updated Jul 20, 2026
One-click install
npx skills add https://github.com/lsongdev/skills --skill hyperframes-cli-lsongdev
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: hyperframes-cli
Source: https://github.com/lsongdev/skills/tree/main/hyperframes-cli
Command: npx skills add https://github.com/lsongdev/skills --skill hyperframes-cli-lsongdev

SYSTEM DOCUMENTATION & REQUIREMENTS

💡 This Skill includes scripts (resource) and references (resource) components.

What problem does it solve? Turning HTML/CSS/GSAP animations into deterministic video files normally requires a full desktop Chrome and Puppeteer setup, which is unavailable in constrained environments like iOS. This Skill provides the complete HyperFrames CLI workflow plus an iOS-native renderer that captures frames via browser_use and encodes them with FFmpeg. ## Core Features & Use Cases - CLI Project Lifecycle: Scaffold, lint, preview, and render HyperFrames compositions with npx hyperframes commands, including quality, fps, and format controls. - iOS-Native Rendering: hf-render.py locks the browser viewport to the composition size, seeks frame-by-frame through the window.__hf protocol, captures Retina screenshots, and encodes MP4 via FFmpeg without Chrome. - Website-to-Video Workflow: A 7-step guided pipeline (capture, design tokens, script, storyboard, voiceover, build, validate) that turns any URL into a professional branded video. - Use Case: Capture a product landing page, generate a 30-second narrated promo video with kinetic typography and brand-matched colors, then render it to MP4 — entirely from a mobile device. ## Quick Start Ask the agent to run the environment check script and then render your HyperFrames project directory into an MP4 video.

Frequently Asked Questions about hyperframes-cli

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

FAQPage Schema
How do I render a HyperFrames composition to MP4?▼

Run `npx hyperframes render` in the project directory for standard rendering with Chrome, or use `python3 hf-render.py <project_dir>` on iOS where Puppeteer is unavailable. Control output with --fps, --quality, and --output flags.

How to turn a website into a video automatically?▼

Follow the 7-step website-to-video workflow: capture the URL's screenshots and design tokens, write DESIGN.md and SCRIPT.md, storyboard each beat, generate voiceover with TTS, build compositions, then lint and render to MP4.

Can I render HyperFrames videos on iOS without Chrome?▼

Yes. hf-render.py uses browser_use set_viewport to lock the browser to the composition size, captures Retina screenshots frame-by-frame via the window.__hf seek protocol, and encodes with FFmpeg using h264_videotoolbox or libx264.

Why does my HyperFrames render show black frames?▼

Black frames usually mean the composition's DURATION is shorter than the GSAP timeline's actual length, often caused by repeat counts extending animations past the declared duration. Calculate repeats so all tweens end within DURATION.

What is the window.__hf protocol requirement for rendering?▼

The composition must expose window.__hf with a duration getter and a seek(t) function that pauses and seeks the GSAP timeline. The renderer waits for this object, then calls seek for each frame timestamp before screenshotting.

What are the limitations of the iOS hf-render.py renderer?▼

It captures at roughly 10fps, supports 24 or 30 fps output, and requires the project to sit under the workspace directory with fixed pixel dimensions and no viewport meta tag. Multi-scene layouts need position:absolute containers due to iOS WebKit height quirks.