Envie

Your AI can make videos now.

Describe what you want. Your coding agent writes the design as HTML, Envie renders it frame by frame with a virtualized clock, and six verification gates inspect the result before you get a file. Free. No watermark. No account.

Connect your AI See the gates

Works with Claude Code, Cursor, and any MCP client

Claude Code
# Claude Code $claude mcp add envie -- npx -y @golproductions/envie mcp   # Any MCP client (.mcp.json) { "mcpServers": { "envie": { "command": "npx", "args": ["-y", "@golproductions/envie", "mcp"] } } }   > make me a 15-second vertical launch video for my app writing composition… rendering 360 frames… verifying… ✓ G1 container  ✓ G2 streams  ✓ G3 silence  ✓ G4 black  ✓ G5 freeze  ✓ G6 dead-end launch.mp4, verified, 1080×1920, render authorized: free, no watermark
What it is

A render engine, not a template machine.

No presets. No stock footage. Your AI writes each composition as HTML — any layout, any motion, landscape, portrait, or square. The same canvas it uses for interfaces, now filmed frame by frame. CSS animations, WebGL, Canvas 2D, animated GIFs, Web Workers: all frame-locked, all seeded for determinism.

Limitless.

No templates, no library, no presets. The AI writes the design from scratch. Nothing it makes looks like anyone else's content.

Deterministic.

Every render is frame-locked with a virtualized clock. Same composition, same video, every time. No timing flakiness, no dropped frames.

Verified.

Six machine gates inspect every render before it reaches you. A failing video is never handed over — your AI gets the report and fixes it.

Yours.

Renders on your machine, in your IDE, with your AI. No upload, no cloud processing. What you render is yours — no attribution required.

The gates

It checks its own work.

AI generates with confidence even when the output is broken. Envie assumes nothing: every render passes six gates before it reaches you. Fail one, your AI gets the full report and tries again — the same loop you already use for code.

G1
Container

The file is real, complete, and playable. No zero-byte “successes”.

G2
Streams

Video and audio both present. Silent movies don’t ship.

G3
Silence

The audio carries real signal, not an empty track.

G4
Black

No dead black segments anywhere in the timeline.

G5
Freeze

No frozen stretches, individual or cumulative. Motion persists.

G6
Dead end

The ending is alive. Videos that die before they finish get rejected.

Requirements

What you need on your machine.

Envie runs locally. Nothing is uploaded. The requirements are the runtime dependencies it needs to do the work.

Node 24The shipped core is V8 bytecode, ABI-locked to Node 24.
Google ChromeOr set ENVIE_CHROME to your binary path.
ffmpeg + ffprobeOn your PATH. Used for encoding and all six gates.
NetworkEvery render is authorized online. No offline path.
Audio--narration "text" (Windows TTS) or --audio file.wav (all platforms). A video with no audio fails G2.

Your AI writes code.
Now it makes video.

One install. A blank canvas. Verified output, every time. Free.