AI video, verified.

Describe a video to your AI and get a real file back. Envie gives Claude Code and any MCP client a deterministic render engine: headless Chrome filmed frame by frame, six verification gates, and a full read-back layer so the AI can judge what it made.

Install Envie GitHub

Free. No watermark. No account. Runs entirely on your machine. Requires Node 24, Chrome, and ffmpeg.

Add Envie to your AI agent as an MCP server. Then ask it to make you a video.

claude mcp add --scope user envie -- npx -y @golproductions/envie mcp
Any MCP client: { "mcpServers": { "envie": { "command": "npx", "args": ["-y", "@golproductions/envie", "mcp"] } } }

How it works.

1

Write.

Your AI reads envie_guide and writes a composition: one self-contained HTML file with CSS animations, WebGL, Canvas, GIFs - whatever it needs.

2

Render.

envie_render films it deterministically. Headless Chrome, every frame seeked with a virtualized clock. Same composition on the same machine, same video, every time.

3

Verify.

Six gates inspect the result: container, both streams, audible audio, no black segments, no freezes, no dead ending. A failing video comes back marked FAILED, with the gate report and an instruction not to deliver it, so your AI fixes the composition and renders again.

4

See.

envie_see returns frames at chosen timestamps so your AI can judge layout and pacing, not just whether the file exists.

5

Translate.

envie_translate reads the file back as data: per-frame motion, every cut and fade, still holds, LUFS, true peak, and how each audio hit sits against the nearest picture event.

Formats.

FlagContainerCodec
--format h264.mp4libx264 (default)
--format h265.mp4libx265 10-bit
--format prores.movProRes 422 HQ 10-bit
--format prores4444.movProRes 4444 10-bit
--format dnxhr.movDNxHR HQ

Requirements.

Node 24 or newer - plain, readable CommonJS. Nothing is compiled or minified; read every line on GitHub.

Google Chrome - or set ENVIE_CHROME to your binary.

ffmpeg + ffprobe - on PATH.

Audio - a video with no audio fails gates G2 and G3. Use --narration "text" for local TTS (Windows) or --audio file.wav for any platform.

CLI.

envie render <composition.html> -o out.mp4  [--narration "text" | --audio file]
                                            [--fps N] [--format h264|h265|prores|prores4444|dnxhr]
envie see    <composition.html|video.mp4>   [--at 1000,4000] [-o dir]
envie verify <video.mp4>
envie translate <video.mp4>                 [-o dir]
envie guide
envie mcp

Tell your AI to make a video.

Free. No watermark. No account. No limit.