

examples/scenes/reframe-demo.ts) — render it yourself: npx reframe-video render examples/scenes/reframe-demo.ts.
What it is
Everything is a pure function of time:evaluate(scene, t) — no wall clocks, no randomness without a seed, so scrubbing and distributed rendering come for free, and the same input renders byte-identical frames.
Quickstart
Install, render your first scene, open the editor.
The loop
Why AI-write + human-edit + deterministic render is one document.
Authoring guide
The complete eDSL syntax — what an LLM reads to write valid scenes.
Gallery
A reel of scenes, each a few-line declaration.
Why not just Hyperframes / Remotion?
Their output is arbitrary HTML/React — great to generate once, impossible to safely operate on afterwards. reframe’s output is data with stable addresses, and everything below falls out of that one difference:| the second turn | HTML / React output | reframe |
|---|---|---|
| ”tweak just the color and timing” | edit code by hand, or re-prompt and hope nothing else changes | turn knobs in the preview — no code |
| ”now redesign it” after my tweaks | regeneration overwrites your hand edits — silent loss is the default | edits live in an overlay; they reapply onto the regenerated scene (measured 100% across 23 regenerations/turns), breaks are reported loudly |
| ”make 50 personalized versions” | only what the author pre-parameterized (props) | any address, post-hoc: nodes.name.content |
| ”is it wrong before I render?“ | semantic failures are invisible until pixels | structure validates pre-render with actionable errors |