infinite-engine
Infinite
Infinite is a free, open-source audiovisual workstation made by Naman Soni (n1m21n). A unified node-based audiovisual modular workstation for macOS, Windows, and Linux. Real-time GPU image/video compositing, procedural 3D geometry and physics, and a full modular synthesizer rack with native AU and VST3 plugin hosting โ all interconnected through a universal modulation graph. Most nodes do one fixed thing; Field, Infinite's embedded programming language, lets you write what a node does instead.

Download
Always the newest release. All files, checksums and release notes are on the Releases page.
Related MCP server: arcframe-mcp
Video Tutorial
New to Infinite? Watch the full walkthrough and workflow tutorial on YouTube:
๐ Infinite Video Walkthrough & Tutorial
Highlights
Arrangement Timeline: A full clip-based arrangement editor alongside the node canvas โ tick-accurate scheduling off the same BPM transport, blade tool, track groups, marquee multi-select, drag-and-drop media import, live waveform/video-thumbnail rendering, and a render/export queue.
Dual Synchronized DAG Engine: High-throughput GPU texture pipeline (GLSL / OpenGL 3.2 Core) running in lockstep with a sample-accurate, pull-based audio graph tied to a global BPM transport.
Universal Cross-Domain Modulation: Modulate any shader parameter, 3D transform, audio synth control, or hosted plugin slider via LFOs, CV sequencers, live audio FFT spectrum analysis, or video analysis.
Audio Synthesis & Physical Modeling: Wavetable oscillator, modal metallic physical resonator, real-time granular engine, PaulStretch spectral stretcher, multi-sample player, and 8-track drum machine.
AU & VST3 Plugin Hosting: Host third-party Audio Unit (macOS) and VST3 (macOS, Windows, Linux) plugins with native GUI windows and automatable/modulatable parameter controls.
Procedural 3D & Physics Solvers: Meshes, 3D splines, point scattering, single-draw-call GPU instancing (
Instance on Points), PBD cloth/soft-body physics, particle systems, and PBR rendering (Cook-Torrance GGX + ACES tonemapping + 32-bit HDRI).2D Shaders & Generative FX: 32 blend modes, live GLSL editor, video & camera playback, Syphon (macOS) / Spout (Windows) zero-copy video I/O, NDI video in/out over the network (needs the free NDI runtime), reaction-diffusion, and on-device ML subject background removal.
Node Library Overview
Infinite features 300+ modular node types:
Domain | Key Nodes |
2D & Video | Image, folder Slideshow, Video (hardware-accelerated), Syphon In / Spout In, NDI In, Paint/Draw canvas, GLSL Formula editor, Sketch (JavaScript-drawn images, with SVG animation), Shapes (SDF), Noise & Gradient Ramps |
2D FX & Grading | Blur, Bloom, Glitch (6 modes), Twirl, Ripple, Displace, Halftone, Curves (RGB/Luma splines), Dither, Color Ramp, .cube LUTs, Gradient Map, Palette extraction |
Compositing & Masks | Blend (32 modes), Layer Stack, Remove Background (on-device ML segmentation), Chroma/Luma Key, Feedback loop, Reaction-Diffusion, Resynthesize |
3D Geometry & FX | Primitives, USD/OBJ/PLY/STL/glTF/GLB import, 3D Text, 3D Curves, Point Distribution, Sketch 3D (JavaScript-built meshes), Mesh Deconstruction, Delaunay Mesh, Voronoi Cells, Decimate, Curve Ops, Taubin Smooth, Array, Instancing, Metaballs |
3D Scene & Render | Camera (orbit/perspective/ortho), Lights, 32-bit HDRI Environment, PBR Materials, ACES Tonemapping, Multisampled Antialiasing |
Synths & Sound | Wavetable synth, Metallic modal resonator, Granular synth, PaulStretch, Molder / Grain Molder (spectral resynthesis), Sampler, Slicer (onset-detecting sample chopper), 8-track Drum Sequencer, 16-pad MPC sampler (polyphonic, per-pad mode / tempo-quantised sync / volume / pitch / pan / speed / fine tune / fades, all modulatable), Looper (record / overdub, tempo-synced, latency-compensated, Sampler-style playback controls), Multi-waveform Oscillator |
Field Language | Field Modifier, Field Primitive, Field Effect, Field Synth, Field Pixel, Field Graph โ see below |
Notes & MIDI | Live MIDI input/clock, Arpeggiator, Note Sequencer, Chorder, Strum, Bouncing Balls (physics notes), Humanizer, Quantizer, MIDI File player, MIDI Out (hardware and virtual ports, CC and clock), Field Notes (a Field script that plays notes) |
Audio FX & Plugins | AU / VST3 Plugin Host, Filters, EQ, Dynamics, Lookahead Limiter, Delay, Reverb, Drive/Saturation, Pitch & Frequency Shifters, Chorus, Phaser, Formant |
Modulators & Analysis | LFO, Random, Pattern CV, Envelope Follower, Math, XY Pad, Audio Analyze (8-band FFT / onset), Image Analyze (luminance / motion), Hand / Face / Pose Track (camera to modulators, via the Tracking pack) |
Output & I/O | Spatial Mixer (3D headphone mix with head tracking), PNG snapshot, H.264/MOV video recording with synchronized audio, Syphon Out / Spout Out, NDI Out |
The full catalogue, including every node's pins and parameters, is in the Node Reference Manual.
Infinite also renders headless, with no window: pictures, video and sound straight from a .inf text file on the command line. See the Headless User Guide (Markdown).

Field: write what a node does
Every other node in Infinite does one fixed thing โ a Blur node blurs, a Delay node delays. Field nodes are different: you write a short kernel, and Field figures out where it runs from what the code touches.
col = vec3(uv.x, uv.y, 0.5) // once per pixel, on the GPU โ a shader
P.y += sin(P.x * 4.0 + t) * 0.2 // once per point in a mesh โ a geometry deformer
out = in * gain // once per audio sample โ a DSP effectThat's the one idea underneath the whole language: a kernel, run once per element of a domain, forever. You never declare where it runs โ the domain (and therefore the backend it compiles to) is inferred. Field currently spans five domains and seven node types:
Node | Domain | What it does |
Field Modifier | element | Per-vertex kernel over existing geometry โ modifies |
Field Primitive | element | Generates procedural point geometry from scratch (Circle, Spiral, Grid Lattice, Fibonacci Sphere, Helix, Torus Knot) |
Field Effect | sample | Per-sample audio DSP kernel; |
Field Synth | sample | Polyphonic note-driven synth voice using the same sample compiler, with |
Field Pixel | pixel | Per-pixel kernel compiled straight to GLSL; |
Field Notes | sample | Per-sample note kernel: |
Field Graph | graph | Runs once at edit time โ |
Any element/pixel/sample kernel can also declare dynamic pins right in its code, adding real, cable-wireable, save/load-safe I/O to the node without touching C++. Finished devices โ kernel plus params plus presets โ save, load, export and import as portable .field files, so a Field patch is shareable like an audio plugin preset. The full language reference โ syntax, domain-transfer operators, reserved words, and the complete node/format reference โ is in the Field Language Manual.
Model Context Protocol (MCP) Server
Infinite includes a native Model Context Protocol (MCP) stdio server implementation located in tools/npm/infinite-engine (Node.js / npm: infinite-engine) and tools/mcp/infinite_mcp.py (Python), allowing AI coding assistants and autonomous agents (Claude Desktop, Cursor, Windsurf, Claude Code) to compose audio, render visuals, and inspect node graphs headlessly.
One-Command Setup
# Automatically configure Claude Desktop, Cursor, and Windsurf:
npx -y infinite-engine init
# Or via Smithery registry:
npx -y @smithery/cli install infinite-engine --client claude
npx -y @smithery/cli install infinite-engine --client cursorImplemented MCP Tools
The server implements nine native MCP tools adhering to the Model Context Protocol specification:
MCP Tool | Description |
| Synthesise WAV audio from an inline Field DSP kernel |
| Generate algorithmic MIDI sequences and Euclidean rhythms into audio |
| Process audio through an inline Field per-sample DSP filter or wavefolder kernel |
| Render 60fps MP4 video with synchronized audio from GLSL or JavaScript sketches |
| Render a still PNG frame from a shader, sketch, or |
| Validate a |
| Generate procedural 3D meshes from a JavaScript sketch |
| Generate parametric 3D point surfaces from Field UV equations |
| Deform, normalise, and shade a 3D mesh via Field vertex modifiers |
For full tool schemas, architecture details, and custom prompts, see tools/npm/infinite-engine/README.md and AGENT.md.
Installation & Quick Start
Pre-built App (macOS, Windows & Linux)
Download the latest build for your platform from GitHub Releases: Infinite.dmg for macOS, Infinite-windows-x64.zip / Infinite-windows-ARM64.zip for Windows, or Infinite-x86_64.AppImage for Linux.
macOS (Infinite is not notarized by Apple, so the first launch needs one extra step)
Open the DMG and drag
Infinite.appto Applications.Double-click
Fix & Open Infinite.commandin the DMG and pressy. It clears the download flag on Infinite only, then opens it.Or do it by hand: try to open Infinite once, then System Settings โ Privacy & Security โ Open Anyway (macOS 15 and later), or right-click
Infinite.appโ Open (older macOS).Or in Terminal:
xattr -dr com.apple.quarantine /Applications/Infinite.app
Windows
Unzip the
x64orARM64build for your CPU.Run
Infinite.exe. The build is not code-signed, so Windows SmartScreen may say "Windows protected your PC": click More info, then Run anyway. It asks once per download.
Linux
chmod +x Infinite-x86_64.AppImageRun
./Infinite-x86_64.AppImage. It bundles the static AppImage runtime, so nolibfuse2install is needed. If it's running in a container or on a system with no/dev/fuse, use./Infinite-x86_64.AppImage --appimage-extract-and-runinstead.
Build from Source
macOS
Requirements: CMake 3.16+ and Xcode Command Line Tools.
git clone https://github.com/n1m21n/Infinite.git
cd Infinite
cmake -B build -DCMAKE_BUILD_TYPE=Release
cmake --build build -j8
open build/Infinite.appTo create a standalone DMG installer, run ./package.sh.
Windows
Requirements: CMake 3.16+ and Visual Studio 2022/2026 (MSVC v143+, Desktop development with C++).
git clone https://github.com/n1m21n/Infinite.git
cd Infinite
cmake -S . -B build -G "Visual Studio 17 2022" -A x64
cmake --build build --config Release
.\build\Release\Infinite.exeTo create a packaged portable folder, run powershell -ExecutionPolicy Bypass -File package.ps1.
Linux
Requirements: CMake 3.16+, a C++20 compiler (Clang or GCC), Ninja, and the dev packages in tools/linux/deps-apt.sh (X11/GLFW/ALSA/fontconfig headers etc.). x86_64, glibc โฅ 2.35 (Ubuntu 22.04+ or equivalent) if you want the result to match the published AppImage's floor.
git clone https://github.com/n1m21n/Infinite.git
cd Infinite
tools/linux/deps-apt.sh # installs build + runtime deps via apt
tools/linux/build.sh # configures + builds build-linux/Infinite
./build-linux/InfiniteTo package a portable AppImage, run tools/linux/package-appimage.sh build-linux artifacts-linux. A containerized dev environment (no local dep install needed) is available via tools/linux/local.sh build โ see that script for details.
Architecture
src/
โโโ core/ # INode DAG engine, ImageCable, Transport, Modulation, GLUtil, Mesh
โโโ nodes/ # 160+ Node implementations (2D, 3D, Audio, Synth, Notes, Modulation)
โโโ audio/ # Audio engine, DSP kernels, Wavetable core, Plugin hosting (AU/VST3)
โโโ platform/ # OS layer: macOS (CoreAudio/AU/AVFoundation) | Windows (WASAPI/WinMM/Media Foundation/GDI+) | Linux (ALSA/GLFW/X11/VST3)See ARCHITECTURE.md and docs/CODE_STANDARDS.md for deeper implementation guides.
Linux-specific known limits
The Linux build has the same node graph and file format as macOS/Windows, with these platform gaps:
No Syphon/Spout equivalent โ no zero-copy video I/O with other apps.
No Audio Unit (AU) hosting โ VST3 only (same as Windows).
No LV2 plugin hosting.
No complex-script text shaping (no HarfBuzz) โ Latin-script text renders correctly, but right-to-left and complex scripts (Arabic, Devanagari, etc.) may not.
VST3 plugin editor windows need X11 or XWayland; a pure-Wayland session without XWayland cannot show plugin GUIs.
x86_64 only โ no arm64 build is published.
Contributing
Contributions, bug reports, and node ideas are welcome!
Join the discussion and share creations in our Discord Community.
File bugs or feature requests in GitHub Issues.
Submit Pull Requests with clean-room MIT-compatible code following docs/CODE_STANDARDS.md. See CONTRIBUTING.md.
Prior Art & Acknowledgements
The tools and papers Infinite builds on are named in ACKNOWLEDGEMENTS.md, and the people who contributed are credited in CONTRIBUTING.md.
Cite & credit
If you write about, review or build on Infinite, please credit it as: Infinite, by Naman Soni (n1m21n), https://infinitedevices.org. GitHub's "Cite this repository" button uses CITATION.cff.
License
Infinite's source code is licensed under the MIT License.
Default builds include VST3 plugin hosting linking the Steinberg VST3 SDK (GPLv3). Build with -DINFINITE_ENABLE_VST3=OFF for a pure MIT binary.
Related MCP Connectors
AI image, video, voice and music generation over MCP, routed to Veo 3.1, Seedance 2.5 and more.
Generate game-ready 3D models, textures, and audio from natural language, over MCP.
AI video editor for agents and humans: timeline, captions, color, audio and generation as MCP tools.
Autonomous music production for AI agents with MIDI generation, QC and provenance.
Related MCP Servers
- AlicenseAqualityDmaintenanceA deterministic video rendering engine that enables AI agents to create programmable, reproducible videos via MCP protocol.1412 npm2MIT

arcframe-mcpofficial
AlicenseNot gradedqualityDmaintenanceGenerate videos, images, audio, and 3D models from any MCP-compatible AI agent โ Claude, Cursor, ChatGPT, and more.MIT- AlicenseAqualityAmaintenanceRender, analyze, and verify audio (WAV or FLAC) through a fully offline, deterministic engine, exposed as MCP tools for AI agents.1215Apache 2.0
- AlicenseAqualityCmaintenanceA game-agnostic MCP toolkit for composing chiptune/retro MIDI and rendering game audio, enabling AI agents to generate multi-track MIDI files and render them to OGG/WAV.7MIT