Per-frame fidelity when it matters.
--high-res swaps recordVideo for per-frame screenshots and stitches them through ffmpeg before render. Same script, higher fidelity, ~3-5× longer.
1080p / 1440p / 4K via recordVideo
The default capture uses Playwright's recordVideo, which is fast and handles WebGL/canvas/video correctly. The output is up- or down-scaled into the inner stage; layouts stay stable because the viewport size never shifts.
Every render of this feature is deterministic. Capture writes the metadata; the composition reads it. Re-render after a UI change to get the new output without re-recording.
When recordVideo isn't crisp enough
--high-res switches the capture to per-frame page.screenshot() at the target resolution and stitches frames with ffmpeg. Slower, larger, and pixel-perfect for product UIs with small typography or fine UI lines.
Every render of this feature is deterministic. Capture writes the metadata; the composition reads it. Re-render after a UI change to get the new output without re-recording.
npx tsx src/cli.ts run demos/onboarding.yaml \
--headless \
--high-res \
--quality 4kRender with 4K-ready capture.
$19.99/mo or $199/yr. Render through the dashboard or via the API — same access either way.