Video Composition
Build video scenes with HTML web components (<ef-timegroup>, <ef-video>, etc.) or React (<Timegroup>, <Video>, etc.). Same composition model, same rendering pipeline — pick the syntax that fits your project.
Web component attributes use kebab-case (sourcein, auto-init). React props use camelCase (sourceIn, autoInit). Each element reference documents both.
Quick Start
<ef-configuration api-host="..." media-engine="local"><ef-timegroup mode="sequence"><ef-timegroup mode="fixed" duration="5s" class="absolute w-full h-full"><ef-video src="intro.mp4" class="size-full object-cover"></ef-video><ef-text class="absolute top-8 text-white text-3xl">Title</ef-text></ef-timegroup><ef-timegroup mode="fixed" duration="5s" class="absolute w-full h-full"><ef-video src="main.mp4" sourcein="10s" sourceout="15s" class="size-full"></ef-video><ef-audio src="music.mp3" volume="0.3"></ef-audio></ef-timegroup></ef-timegroup></ef-configuration>
Duration Units
5s (seconds) | 1000ms (milliseconds) | 2m (minutes)
Getting Started
Create a project: npm create @editframe (see the editframe-create skill)
- references/getting-started.md — Your first composition
Media Elements
- references/video.md — Video clips, trimming, effects
- references/audio.md — Audio, volume
- references/image.md — Static images
- references/text.md — Animated text with splitting
- references/captions.md — Subtitles with word highlighting
- references/waveform.md — Audio visualization
Layout & Timing
- references/timegroup.md — Container, sequencing, scenes
- references/sequencing.md — Sequential scene playback
- references/transitions.md — Crossfades, slides, zoom transitions
- references/surface.md — Mirror another element
- references/css-variables.md — Time-based CSS animations
Rendering
- references/render-to-video.md — Export to MP4 in the browser
- references/render-api.md — Render API and custom render data
- references/scripting.md — JavaScript behavior with initializer and frameTask
- references/transcription.md — Generate captions with WhisperX
See the editframe-cli skill for CLI rendering.
React
- references/timeline-root.md — Required wrapper for React compositions
- references/hooks.md — useTimingInfo, usePanZoomTransform
- references/use-media-info.md — useMediaInfo hook
Advanced
- references/configuration.md — Media engine and API host
- references/r3f.md — React Three Fiber 3D integration
- references/server-rendering.md — SSR with Next.js/Remix
- references/entry-points.md — Package exports
- references/events.md — Custom event catalog
- references/css-parts.md — Shadow DOM styling
Styling
Elements use standard CSS/Tailwind. Position with absolute, size with w-full h-full or size-full.