Your agent already knows how to build video components. It writes HTML. HyperFrames renders it. The registry is the collection of everything that’s been built — 52 blocks and counting. This guide shows you how to add to it.Documentation Index
Fetch the complete documentation index at: https://hyperframes.mintlify.app/llms.txt
Use this file to discover all available pages before exploring further.
Quick version — Fork the repo. Write one HTML file with a paused GSAP timeline. Add
registry-item.json. Run hyperframes lint + validate. Publish with npx hyperframes publish. Open a PR.Why Contribute?
Every block in the registry exists because someone needed it and built it. When you add a block, every HyperFrames user gets it with one command:Two Paths
Ideas (No Code)
You spot visual trends before anyone. That’s the most valuable contribution.- Screen-record a caption style from TikTok/YouTube that doesn’t exist yet
- Sketch a lower-third in Figma with fonts, colors, and timing
- Install a component, preview it, report what feels off
component-request.
Build It
Every block is a single HTML file. No build step, no framework. If you use Claude Code with HyperFrames skills:“I want to contribute a new transition that looks like [description]”The
/contribute-catalog skill scaffolds the structure, validates, renders a preview, publishes to hyperframes.dev, and prepares the PR.
What Goes in the Registry
Blocks (registry/blocks/) — full standalone compositions. Fixed dimensions, fixed duration. Caption styles, VFX effects, title cards, transitions.
Components (registry/components/) — reusable snippets. No fixed size. CSS effects, text treatments, overlays that adapt to any composition.
Structure
registry-item.json
The Rules
Five things that must be true for every registry item:Quality Bar
Not everything belongs in the registry. The bar is production quality.| Type | Minimum standard |
|---|---|
| Captions | 96px+ font, text-stroke/shadow, overflow prevention |
| VFX | Solves a problem that takes 4+ hours from scratch |
| Transitions | Smoother than CSS — if opacity 0→1 works, it’s not a transition |
| Blocks | Would a professional use this in a client project? |
Common rejection reasons
- “Looks like a demo” — a spinning cube is not a component
- “Text unreadable” — font too small, no contrast treatment
- “Non-deterministic” —
Math.random()orDate.now() - “Timeline not found” — ID mismatch between HTML and JS
- “Breaks as sub-composition” — element IDs collide (prefix everything)
Workflow
Fork and create
Fork heygen-com/hyperframes and create your block directory:
Publish and PR
scripts/upload-docs-images.sh to push catalog PNGs.
What’s Needed Right Now
These are gaps in the registry. If you’re looking for something to build, start here.| Category | Gap | Difficulty |
|---|---|---|
| Captions | Karaoke with clip-path sweep (CapCut style) | Medium |
| Captions | RTL language layouts (Arabic, Hebrew) | Medium |
| Lower thirds | 10 variations for podcasts/interviews | Easy |
| Lower thirds | News ticker / scrolling text bar | Easy |
| Maps | Animated route maps, region highlights, location pins | Medium |
| VFX | Product turntable with HDRI | Hard |
| VFX | Particle system with physics (collisions, gravity) | Hard |
| Transitions | Morphing shape transitions | Hard |
| Data viz | Sankey / flow diagrams | Medium |