Preview is the render.
What you see on the canvas is the exact file you export — frame for frame. Land your idea on the first pass. No re-rolls, no watermark, no account to start.
A keyframe is a promise.
KeyFrame keeps it — every render, identically.
SAME INPUT · SAME OUTPUT · FRAME 042 / 00:00:14
Diffusion hands you a clip you can't change — so you pull again. And again. KeyFrame lands it once, then lets you edit every pixel. The house doesn't win here.
Layers, effects, and timing all live on one timeline — nothing baked, nothing hidden. Change a number and re-render; everything else stays identical. The frame you scrub is the frame you export.
The jobs generative video concedes it can't do — and templates cap you on — are the ones KeyFrame is built for.
| Capability | KeyFrame | Diffusion (Runway / Sora) | Templates (CapCut / Canva) |
|---|---|---|---|
| Edit any element after the fact | Every keyframe | Re-roll the whole clip | Within the template |
| Deterministic — same in, same out | Byte-for-byte | "A feature, not a bug" | Cloud-render drift |
| Preview == export | One renderer | Preview is a guess | Usually |
| Text renders spelled right | Vector, pixel-perfect | Often garbled | Yes |
| On-brand to the exact hex / font / logo | Locked | Approximate | Brand kit |
| Lints the shot before export | verify:shot | — | — |
| Price to start | $0 | $ / render | $ / mo |
GL effects, three masking systems, and audio-reactivity — every tile is a real engine render, not a GIF. Click any one to open its .fsk in the editor.
One renderer, schema + layout linters, frame-diff verification. Not a promise — a property of the engine.
KeyFrame transcribes the whole multicam session so you can edit the video by editing the text — across every angle — then drop your motion graphics on top, deterministic to the pixel.
The only motion tool that lints the shot — off-screen layers, dead frames, static-on-reveal — before it renders. Ship what you actually approved.
Drop layers on a timeline, or tell the AI what you want. It writes a real, editable .fsk — not a black box.
[CMD:] → fskApiRenders real frames, diffs them for motion, flags anything broken before you hit export.
verify:shot · motionProfileThe exact frames you scrubbed render to MP4, WebM, GIF, or lossless PNG. Same renderer, no surprises.
renderFrame → mp4The whole engine is free — bring your own AI key and it stays $0. Want it keyless and hands-off? That's Studio.
The whole engine, forever — bring your own AI key.
No card. No watermark. No lock-in.
For creators who want the AI handled — zero setup.
Cancel anytime.
For long-form multicam — podcasts, interviews.
We pause at your limit — never a surprise bill.
Bringing your own key? It stays on your machine — we never see it or store it. · Compute shown as hours, never tokens.
Free. No watermark, no credit meter, no account to start. Sign in only when you want to save your work.
deterministic · editable · yours — preview is the export