export_animation
Renders an .exode/.bexode file to a real video file on the Exode engine (headless Chrome + ffmpeg): MP4 (H.264), WebM (VP9, alpha with transparent), GIF, MOV (ProRes 4444 with alpha) or a PNG sequence. Frames are stepped on a virtual clock, so output is smooth and deterministic. Returns the file info and a poster frame. Check the piece with preview_frames first.
export_animation is an official Exode MCP tool that allows AI coding assistants like Claude Code, Cursor, and Windsurf to renders an .exode/.bexode file to a real video file on the exode engine (headless chrome + ffmpeg): mp4 (h.264), webm (vp9, alpha with transparent), gif, mov (prores 4444 with alpha) or a png sequence. frames are stepped on a virtual clock, so output is smooth and deterministic. returns the file info and a poster frame. check the piece with preview_frames first.. It directly inspects and modifies local .exode JSON files with precision without manual UI tweaking.
Example Prompt for Claude Code & Cursor
Give this instruction to your AI coding agent to execute this tool on your active .exode workspace:
"Use export_animation to configure the motion properties in my active .exode workspace"Tool Parameters & Input Schema
| Parameter | Type | Required | Description |
|---|---|---|---|
| animationId | string | Optional | Play only this animation (id or name). Default: the file's state machine; files without one play every animation |
| duration | number | Optional | Seconds. Default: one pass of the longest animation, or 6 s for effect-only scenes |
| fit | string | Optional | How the artboard fits the frame. Default Contain; Layout reflows responsive artboards to the output size |
| format | string | Optional | Default: from outputPath's extension, else mp4 |
| fps | number | Optional | Frames per second. Default 60 (GIF caps at 30) |
| height | number | Optional | Output height in CSS px (default: artboard height) |
| inputs | object | Optional | State machine input values to apply before the first frame, e.g. {"speed": 1.5, "isOpen": true} |
| outputPath | string | Optional | Workspace-relative output (.mp4 .webm .gif .mov, or a folder for PNGs). Default exports/<name>.<format> |
| path | string | Yes | Workspace-relative .exode or .bexode file |
| pointer | string | Optional | Virtual cursor for interactive scenes: 'none' | 'orbit' | 'sweep' | 'figure8' | 'drift', or keyframes [{t, x, y, down?}] in 0-1 frame coordinates |
| quality | string | Optional | draft encodes fast for checking. Default high |
| scale | number | Optional | Pixel density; 2 = Retina-sharp. Default 1 |
| screen | string | Optional | Screen id or name, for multi-screen project files |
| seed | number | Optional | Seed for Math.random inside the scene. Default 1 |
| transparent | boolean | Optional | Drop the artboard background (alpha kept in webm, mov and png) |
| warmup | number | Optional | Seconds simulated before the first frame (for simulations that need to settle) |
| width | number | Optional | Output width in CSS px (default: artboard width) |
More Animation & Physics Tools
Build & Review Motion Visually
Let Claude or Cursor run export_animation, then fine-tune timing, spring physics, and export ready-to-ship code in ExodeUI.