๐ฏ What HyperFrames Is
HyperFrames is an open-source framework that turns animated HTML pages into MP4 files, frame by frame, with complete precision. Official repository: heygen-com/hyperframes on GitHub.
HyperFrames treats the browser like a movie camera. Each video frame is an exact capture of the DOM at that moment t โ no screen codec, no loss of antialiasing, no flickering.
The result is an MP4 with browser-rendering quality: perfect fonts, vector SVG, shadows, and gradients without degradation.
- โ Open-source framework (MIT), free forever
- โ Runs 100% locally: no account, no API key
- โ Deterministic output: same HTML โ same MP4
- โ Integrates with any JS library: GSAP, Three.js, D3
- โ Isn't a screen recorder (doesn't capture external apps)
- โ Isn't a nonlinear video editor (no GUI timeline)
- โ Doesn't depend on a cloud service
- โ Doesn't use generative AI for images or voices
npx hyperframes.๐ HTML โ MP4
How an animated HTML page with GSAP becomes an MP4 video rendered frame by frame โ the heart of HyperFrames.
One file index.html defines each scene with HTML/CSS. The animations are coded in GSAP inside a function anim() that receives t (time in seconds).
For each frame, HyperFrames calls anim(t) in the browser, waits for the DOM to stabilize, and captures a high-resolution PNG screenshot. At 30 fps, that's 30 screenshots per second of video.
The PNGs are passed to FFmpeg, which encodes them in H.264 with the WAV audio generated by Kokoro TTS โ producing the final MP4 with synchronized narration.
The resulting video is saved in renders/nome-16x9.mp4 or renders/nome-9x16.mp4, ready to upload to YouTube or Shorts.
Screen recording captures in real timeโif the CPU is slow, the video gets choppy. HyperFrames controls time virtually: no frames are dropped, regardless of machine speed.
๐ Local TTS with Kokoro
PT-BR narration generated 100% on your machine, with the voice pf_dora, with no API key and no dependency on espeak-ng. Kokoro handles Portuguese phonetics.
Most open-source TTS engines use espeak-ng for phonemization โ and espeak-ng is notoriously poor at Portuguese. Kokoro has its own PT-BR phonemizer, producing more natural speech without external dependencies.
- โ Write the text as if it were spoken (expand acronyms)
- โ Use
--speed 0.98for a more natural voice - โ Measure each WAV with ffprobe before assembling
- โ Text files in
assets/txt/sN.txt
- โ Don't install espeak-ngโKokoro doesn't use it, and it causes conflicts
- โ Don't use a speed above 1.05 (metallic voice)
- โ Don't forget to download the model on the 1st run (~340 MB)
- โ Donโt use acronyms in all caps without spelling them out (e.g., "GSAP" โ "ji-sap")
Beyond pf_dora (female, recommended default), there is pm_alex e pm_santa. The first run automatically downloads ~340 MB of the Kokoro model.
๐ป All local, no API
HyperFrames runs entirely on the user's machine โ no cloud, no per-render costs, and no content sent to external servers.
SaaS video tools (Synthesia, HeyGen, Pictory) charge per rendered minute, and their slides/scripts are processed on third-party servers. With HyperFrames: zero cost per render, and no content leaves your machine.
| Aspect | HyperFrames | SaaS (Synthesia etc.) |
|---|---|---|
| Cost per video | R$ 0,00 | Required monthly plan |
| Content privacy | 100% local | Uploads to servers |
| Visual customization | Unlimited HTML/CSS | Fixed templates |
| API key | Not needed | Required |
If you produce courses with sensitive content, internal code, or your own methodologies, keeping everything local is essential. Every render happens without requiring an internet connection.
๐ Two formats: 16:9 and 9:16
From the same HTML project, HyperFrames generates YouTube (1920ร1080) and Shorts/Reels (1080ร1920) videos with a single command-line flag.
The generator build-index.mjs accepts the flag --vertical. When provided, it rewrites the index.html in 1080ร1920 and HyperFrames renders the vertical MP4 โ without duplicating scene code.
node build-index.mjs (without a flag)node build-index.mjs --verticalUse --quality draft first to check individual frames quickly. Only then run --quality high for the final MP4 โ saves time during iterations.
๐งญ When to use HyperFrames
Explainer videos, technical tutorials, product onboarding โ any situation where you want full control over the visuals and zero cost per render.
- โ Create explanatory videos about code or technical concepts
- โ Create step-by-step tutorials with precise animations
- โ Build product onboarding with its own brand design
- โ Need 16:9 AND 9:16 from the same content
- โ Want zero cost, even in high-volume production
- โ Need to capture real application interactions
- โ The video requires a talking-head camera (realistic avatar)
- โ Complex nonlinear editing (Adobe Premiere / DaVinci)
- โ No Node.js available in the environment
Animated slides with code, diagrams, and local narration. Same quality every time, with no platform variation.
Welcome videos and feature tours with the brandโs premium dark design โ without relying on designers or SaaS.
Product teaser in 9:16 for Reels and 16:9 for YouTube โ generated from the same HTML in minutes.
If you can describe the video as โslides with animations + narration,โ HyperFrames is the right tool. If you need a live camera or app capture, use screencast.
๐ Module 2.1 Summary
- โ HyperFrames is open source, local, MIT-licensed โ no per-render cost
- โ Stack: Chrome headless captures frames + FFmpeg encodes MP4
- โ HTML + GSAP โ function
anim(t)โ frames โ MP4 - โ Kokoro TTS:
pf_dora --speed 0.98, no espeak-ng, no key - โ 16:9 (1920ร1080) and 9:16 (1080ร1920) from the same project
- โ Ideal for explainers, tutorials, and onboarding with custom design
npx hyperframes init.