Text in, files out
A patch is plain text. Validate it, print the graph that was built, then render stills, a contact sheet, video or an audio report.
Every patch is a text file, and the app can render it with no window open. Use the command line, call it from Python, or hand the same tools to an AI agent over MCP.
live shader · move the pointer
A patch is plain text. Validate it, print the graph that was built, then render stills, a contact sheet, video or an audio report.
The renderer runs from the command line, so it fits a script, a cron job or a CI step. Hardware inputs are refused in headless mode.
Nine MCP tools let an agent write a shader, a synth or a mesh and see the result. Every tool result carries the credit line.
Pick a way to call the same engine. The sheet on the right shows the idea: a patch rendered to frames, one after another.
Infinite --validate hello.inf
Infinite --explain hello.inf
Infinite --frame hello.inf 0,1,2 pics/ --contact-sheet sheet.png
Infinite --render hello.inf hello.mp4 --duration 4 --fps 30
Infinite --audio-summary hello.inf hello.jsonThe headless guide (PDF) covers every flag and exit code.
git clone https://github.com/n1m21n/Infinite
cd Infinite/tools/python_sdk
python3
>>> import infinite
>>> infinite.field_synth("state float phase = 0\nphase = (phase + freq / sr) % 1.0\nout = sin(6.28318 * phase) * 0.4 * gate", out_wav="synth.wav", duration=3)A thin wrapper over the same command line. Source and README.
{
"mcpServers": {
"infinite": {
"command": "python3",
"args": ["/path/to/Infinite/tools/mcp/infinite_mcp.py"]
}
}
}Add this to Claude Desktop, Cursor or any MCP client, with the path to your checkout. Source and README.
Illustration of the flow; the guide lists the real output files.
| Tool | What it does |
|---|---|
infinite_render_video | Synthesise audio and render an MP4 from GLSL or a 2D sketch |
infinite_render_frame | Render one PNG from a shader, sketch or .inf patch |
infinite_validate_patch | Check a .inf file and report every problem |
infinite_field_synth | Per-sample Field synth to a WAV |
infinite_field_effect | Run audio through a Field effect kernel |
infinite_field_notes | Algorithmic notes, such as Euclidean rhythms |
infinite_sketch_3d | Procedural 3D meshes from a JavaScript sketch |
infinite_field_primitive | Parametric 3D surfaces from uv to P, N, Cd |
infinite_field_modifier | Deform and shade a mesh with a Field modifier |
INFINITE_BIN environment variable, /Applications/Infinite.app, a build folder in the checkout, or your PATH. On Windows and Linux, set INFINITE_BIN to the path of Infinite.exe or Infinite.pip install infinite-daw.Putting a visual on a page needs no install. Embeds has 11 audio-reactive widgets and one iframe to copy for each. Agents can read the whole site as plain text in llms.txt, and the repository carries an agent guide.
Credit when you share what you make: "Infinite, by Naman Soni (n1m21n), https://infinitedevices.org". Every tool result carries the same line.