What you’ll build
A 1920x1080 video with an animated title that fades in from above — rendered to MP4 on your local machine. The entire composition is a single HTML file.Prerequisites
Create your first video
Scaffold the project
--non-interactive:my-video
meta.json
index.html
compositions
intro.html
captions.html
assets
video.mp4
| Path | Purpose |
|---|---|
meta.json | Project metadata (name, ID, creation date) |
index.html | Root composition — your video’s entry point |
compositions/ | Sub-compositions loaded via data-composition-src |
assets/ | Media files (video, audio, images) |
--video for automatic transcription and captions:Preview in the browser
index.html reload automatically.Edit the composition
Open the project with your AI coding agent (Claude Code, Cursor, etc.) — HyperFrames skills are installed automatically and your agent knows how to create and edit compositions.Or edit Three rules to remember:
index.html directly — here’s a minimal composition:index.html
- Root element must have
data-composition-id,data-width, anddata-height - Timed elements need
data-start,data-duration,data-track-index, andclass="clip" - GSAP timeline must be created with
{ paused: true }and registered onwindow.__timelines
Requirements summary
| Dependency | Required | Notes |
|---|---|---|
| Node.js 22+ | Yes | Runtime for CLI and dev server |
| npm or bun | Yes | Package manager |
| FFmpeg | Yes | Video encoding for local renders |
| Docker | No | Optional — for deterministic, reproducible renders |
Next steps
Compositions
Learn how compositions, clips, and nested timelines work together
GSAP Animation
Add fade, slide, scale, and custom animations to your videos
Templates
Start from built-in templates like Warm Grain and Swiss Grid
Rendering
Explore render options: quality presets, Docker mode, and GPU encoding