Skip to contentSkip to content
Cosmic Stackcosmicstack.ai

lazy frames

Agentic video generation. Byte-stable.

Feed a skill URL to your AI agent — Lazy Frames captures, authors a spec, runs the gates, and renders a pixel-perfect MP4. The core runs fully locally with no keys; reviewed plugins can opt into explicitly declared external services. Same spec + same machine = byte-identical MP4, every time.

stars0scene types8transitions7plugins16forks0licenseMIT

agentic

Give it to your agent.

Paste the raw Markdown skill URL into any AI coding agent. It reads the skill — not the source code — and knows how to capture, author, check, preview, and render. No bespoke integration per agent.

skill url
 https://lazy-frames.cosmicstack.ai/skill.md

For example: Read this skill, then make a promo video for https://example.com.

install

One command. Then you're rendering.

install
$ npm install lazy-frames
verify
$ npx lazy doctor

Requires Node 20+, ffmpeg + ffprobe, Google Chrome (headless rendering), and Python 3 (audio sidecar). Run npx lazy doctor to verify every provider and see your hardware tier. No telemetry, no account, no cloud component required.

capabilities

Six things Lazy Frames does that other renderers don't.

agentic

Give it to your agent.

Paste the skill URL into any AI coding agent. It reads the skill — not the source code — and knows how to capture, author, check, preview, and render. No bespoke integration per agent.

byte-stable

Same spec, same machine, same bytes.

A determinism contract enforced by --jitless V8, software rendering via SwiftShader, integer-pixel CSS transforms, putImageData canvas output, and bitexact ffmpeg encoding. SHA-256 verified on every render.

fully local

No keys required for the core.

Capture, author, check, and render run end-to-end on your machine with zero credentials. Reviewed plugins can opt into explicitly declared external services — consent is stored per-project, separately from dependencies.

capture

From URL to promo in one command.

lazy capture pulls a site into screenshots @2x, extracts palette, copy blocks, fonts, and logo, then writes a starter spec.json. Snapshot, check, preview, render — the full pipeline is four more commands.

cinematic

Generated stills, depth parallax, audio.

Procedural image + depth-map generation, procedural music, TTS narration, and SFX synthesis — all deterministic, all local. Compose cinematic scenes the same way you compose a website promo.

plugins

A reviewed, permission-scoped marketplace.

Sixteen plugins across voice, storytelling, visuals, audio, captions, and delivery. Each carries a manifest with exact permissions; install grants project-scoped approval. ElevenLabs ships by default; the rest are installable scaffolds.

scene types

Eight scene types. Seven transitions.

Compose a video as a typed JSON spec. Each scene is a deterministic function of its inputs; transitions are declarative. Plus stage-level CSS grade presets and an output-level 3D LUT pipeline.

  • cut
  • fade
  • dissolve
  • whip-pan
  • light-leak
  • dip-to-black
  • luma-wipe
  • typographyText reveals: titles, quotes, lockups (4 reveal styles)
  • stat-hitCount-up numbers, labels, bars
  • browser-frameScreenshot in a browser chrome mockup with cursor
  • ui-calloutScreenshot with dimmed mask, hotspot spotlight, label
  • atmosphereDrifting gradient blobs — ambient backdrops
  • parallax2.5D camera move over a still (flat or depth-map mode)
  • video-layerFootage playback with trim, speed, grade
  • three-sceneDeterministic 3D: cube/ico/grid/particles (canvas 2D)

determinism

Same spec + same machine = byte-identical MP4.

The byte-stability contract is enforced by a stack of five gates. Each one eliminates a class of nondeterminism that quietly breaks reproducibility on other renderers. SHA-256 is verified on every render.

gate 1

--jitless

V8 interpreter only — no JIT nondeterminism across runs.

gate 2

--use-angle=swiftshader

Software rendering — no GPU variance between machines.

gate 3

Integer-pixel CSS transforms

No sub-pixel text rendering to reconcile.

gate 4

putImageData for canvas scenes

No skia compositing nondeterminism in 3D / particle scenes.

gate 5

Bitexact ffmpeg encoding

Fixed creation_time, +bitexact, fixed threads — identical container bytes.

plugins

A reviewed, permission-scoped marketplace.

16 plugins across voice, storytelling, visuals, audio, captions, and delivery. Each carries a manifest with exact permissions; install grants project-scoped approval. ElevenLabs is the only default plugin — the rest are installable scaffolds whose manifests and permission locks work now, while execution remains blocked until a reviewed adapter ships.

  • elevenlabs

    TTS narration via ElevenLabs (key required)

    Voicedefault
  • storybeat

    Beat-anchored narrative scaffolding

    Storytellingscaffold
  • depth-parallax

    Depth-map 2.5D camera moves

    Visualsscaffold
  • music-gen

    Procedural music bed generation

    Audioscaffold
  • sfx-synth

    Deterministic sound-effect synthesis

    Audioscaffold
  • captions

    Embedded caption / subtitle styling

    Captionsscaffold
  • delivery

    Export presets for social platforms

    Deliveryscaffold

cli

Every command, in one table.

CommandWhat it does
lazy doctorEnvironment + provider capability report
lazy capture <url> [project]Capture a website → screenshots, palette, copy, starter spec
lazy gen imageGenerate procedural still + matching depth map
lazy gen musicGenerate procedural music WAV
lazy gen ttsGenerate TTS narration WAV (macOS say)
lazy script <project>Draft editable, scene-linked narration beats
lazy plugin searchSearch reviewed plugins by name or capability
lazy plugin install <id>Install a fingerprinted plugin into a project
lazy check <project>Validate spec + run snapshot & determinism gates
lazy snapshot <project> --updateEstablish / refresh the regression baseline
lazy render <project>Render to MP4 (byte-stable, with audio)
lazy preview <project>Scrubbable timeline preview at localhost:4173

get started

Install it. Render something in 10 minutes.

No signup. No cloud component. No telemetry. Just an open-source agentic video pipeline and your terminal.