Feed a skill URL to your AI agent — it captures, authors a spec, runs the gates, and renders a pixel-perfect MP4. The core stays local and byte-stable; reviewed plugins add explicit capabilities.
A composition is a JSON file. Scenes declare timing, content, and style — the CLI renders it to a deterministic MP4 via headless Chrome + ffmpeg. No HTML authoring, no timeline UI, no guessing. The spec is the source of truth.
Same spec + same machine = identical SHA-256. Enforced by jitless V8, software rendering, and integer-pixel transforms.
The core uses headless Chrome, ffmpeg, and a Python audio sidecar entirely locally. Optional plugins disclose their network, environment, and filesystem permissions before installation.
Typography, stat-hit, browser-frame, ui-callout, parallax (2.5D depth), atmosphere, video-layer, three-scene (deterministic 3D).
Stage-level CSS filter presets and output-level 3D LUTs (.cube) via ffmpeg. Bundled teal-orange, noir-film, faded-vintage.
Procedural music synthesis, macOS TTS narration, and SFX (whoosh/hit/rise/boom) — all declarative in the spec, generated at render time.
Snapshot regression (pixel-hash baselines) and seek determinism (double-render comparison) gate every render. No silent drift.
lazy capture https://example.com grabs screenshots, palette, copy, and fonts. lazy gen image produces procedural stills with matching depth maps. Or just drop in your own footage.
A typed JSON file — scenes, timing, style, audio. Validated by zod schema before anything renders. The capture command generates a starter spec for you.
lazy check runs gates. lazy preview opens a scrubbable timeline. lazy render produces a byte-stable MP4 with audio.
Lazy Frames ships with a complete agent skill — a SKILL.md entry point plus
reference docs that tell any coding agent exactly how to research an input, author a valid
spec, run the gates, and render. The agent doesn't read source code or figure out the CLI.
It reads the skill and follows the contract.
Point your agent at the skill/ directory. It reads SKILL.md — the entry point with routing rules and the agent contract.
The user says "make a video of my site." The agent captures the URL, reads the ledger, drafts a spec — all guided by the skill's workflow instructions.
The agent runs lazy check, fixes errors, opens lazy preview, and renders only after the user approves. Byte-stable MP4 out.
Each scene type is a deterministic component — configured by params, rendered by the engine. No CSS authoring, no timeline keyframing. Just declare what you want.
Two independent renders of the same spec produce the exact same file — verified by SHA-256. No timestamps, no nondeterministic encoders, no sub-pixel rendering drift.