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.
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
{ "mcpServers": { "envie": { "command": "npx", "args": ["-y", "@golproductions/envie", "mcp"] } } }
Your AI reads envie_guide and writes a composition: one self-contained HTML file with CSS animations, WebGL, Canvas, GIFs - whatever it needs.
envie_render films it deterministically. Headless Chrome, every frame seeked with a virtualized clock. Same composition on the same machine, same video, every time.
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.
envie_see returns frames at chosen timestamps so your AI can judge layout and pacing, not just whether the file exists.
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.
| Flag | Container | Codec |
|---|---|---|
--format h264 | .mp4 | libx264 (default) |
--format h265 | .mp4 | libx265 10-bit |
--format prores | .mov | ProRes 422 HQ 10-bit |
--format prores4444 | .mov | ProRes 4444 10-bit |
--format dnxhr | .mov | DNxHR HQ |
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.
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
Free. No watermark. No account. No limit.
Envie runs entirely on your machine. It never contacts GOL servers. Videos are rendered locally; GOL does not store, host, or have access to your rendered videos or compositions. What you render is yours - GOL claims no ownership. The output depends on the HTML you supply; GOL does not guarantee any specific visual result, rendering speed, or compatibility with every browser feature. Envie is free to use under the GOL Free License: use it for anything and share unmodified copies with the credit, but do not publish changed versions, build your own product from it, or sell it. That licence governs your use of the software and prevails over our terms wherever the two differ. The names "Envie" and "GOLProductions" are trademarks of GOLProductions and are not licensed by it. Subject always to your rights under the Australian Consumer Law.