{"slug": "ai-agents-make-music-art-and-3d-with-infinite-headless-engine", "title": "AI agents make music, art and 3D with Infinite headless engine", "summary": "Infinite Devices' Infinite engine can run headless as a command-line tool, letting AI coding agents write, validate, render and iterate on plain-text .inf patches that produce audio, images and 3D scenes without a GUI. The tool exposes --describe, --validate, --explain, --frame and --audio-summary flags so agents can inspect node parameters, catch errors with line numbers, and measure output loudness, clipping and frame statistics in a feedback loop. The company ships an agent skill, infinite-patch-authoring, written for AI coding agents to author patches.", "body_md": "An AI agent that can run shell commands can make music, pictures and 3D with Infinite, because the engine runs headless. The executable inside the app is also a command-line tool. It reads a plain-text patch and writes stills, video and audio, with no window and no mouse. A patch is text, so an agent such as Claude can write it, check it, listen to it and fix it in a loop.\n\nThis post shows that loop, then three small patches: a sound, a picture and a 3D scene. It builds on the [headless render walkthrough](https://infinitedevices.org/blog/render-video-and-audio-from-a-text-file.html) and the [Headless User Guide](https://infinitedevices.org/assets/Infinite_Headless_User_Guide.pdf).\n\nMost creative tools hide their state behind a window. An agent can only guess at what a click did. An Infinite patch is different in four ways:\n\n`node`, `cable`, `mod` and `expr` lines in a `.inf` file. An agent writes it the way it writes code, and it diffs cleanly in version control.`Infinite --describe \"<node type>\"` lists a node's controls with defaults, ranges and dropdown options, so the agent never has to guess a name or a range.`--validate` reports every problem with a line number and a hint that names the nearest valid key.`ok`, `files`, `warnings` and `errors`, and the exit code says whether the patch loaded, was refused or failed to render.\nThe output is also deterministic: the same patch gives the same frames and the same samples, so an agent can change one thing and trust that any difference came from that change.\n\nThe Headless User Guide gives the order, and it works as a prompt for an agent as it stands:\n\n`--describe`. Do not guess.`--explain`, which prints the graph that was actually built. A patch can validate and still be the wrong patch, so the agent compares this against what you asked for.`--frame` draws stills and `--audio-summary` describes the sound as numbers.`--render`.\nInfinite ships this loop as an agent skill, [infinite-patch-authoring](https://github.com/n1m21n/Infinite/blob/main/docs/ai-skills/infinite-patch-authoring.md), written for AI coding agents. Point your agent at it and at the Headless User Guide, then describe what you want.\n\nThis is the smallest audio patch that ships with Infinite. A random note generator plays a Wavetable synth into an Audio Out.\n\n```\ninfinite-patch 1\nnode 1 Notes Random Note Generator\n  id notes\nend\nnode 2 Synths Wavetable\n  id synth\nend\nnode 3 Utility Audio Out\n  id speakers\nend\nnote synth 0 notes\naud speakers 0 synth\n```\n\nAn agent cannot hear, so it measures. `--audio-summary` writes loudness, peaks, clipping, silence, a spectrum and a tempo guess to a JSON file, and `--wav` keeps the audio.\n\n```\nInfinite --validate music.inf\nInfinite --audio-summary music.inf summary.json --wav music.wav --duration 8\n```\n\nTwo warnings are worth teaching your agent to react to. `W_SILENT` means no sound reached an Audio Out, so check that notes reach the synth. `W_CLIPPING` means samples hit full scale, so lower a gain or add a Limiter. Add `--stems id,id --stems-dir dir` to write one WAV per named node, and `--notes events.json` to play your own note events into the patch. The agent can also ask `--describe` for the Synths and Audio Effects node types and build a fuller arrangement from them.\n\nPictures work the same way. The Field Pixel node draws an image from a formula, which suits an agent because it is short code with no hidden state. This patch ships as the Field starter template:\n\n```\ninfinite-patch 1\nnode 1 Source FieldPixel\n  id pix\n  s code col = vec3(0.5 + 0.5 * sin(uv.x * 10.0 + t), 0.5 + 0.5 * sin(uv.y * 10.0 - t), 0.6);\nend\nnode 2 Utility Output\n  id out\nend\ncable out 0 pix\n```\n\nThe agent looks before it commits to a video. A contact sheet costs seconds:\n\n```\nInfinite --frame art.inf 0,1,2,3 pics/ --contact-sheet sheet.png\n```\n\nThe result line includes `frame_stats` with brightness, the share of black and white pixels, and a histogram per frame, so the agent can notice a black or washed-out frame without opening the image. Field is the built-in language for shaders, geometry and audio kernels; the [Field Language Manual](https://infinitedevices.org/blog/field-language-write-what-a-node-does.html) explains it.\n\nBecause sound and pictures live in one graph, an agent can wire them together. Audio Analyze listens to a synth and outputs level, low, mid, high, onset and eight frequency bands, and any of those can drive a modulatable control. The Music and Image starter does it with two `mod` lines:\n\n```\naud hear 0 synth\nmod shape sizeX hear 0 0 1 0.5 0.12 0.4\nmod shape sizeY hear 0 0 1 0.5 0.12 0.4\n```\n\nThe last two numbers are absolute values the control sweeps between, not percentages. Put the Audio Analyze after your effects so the picture follows what you hear. The [first steps tutorial](https://infinitedevices.org/blog/make-your-first-audio-reactive-visual.html) builds this one by hand.\n\nA 3D scene has four parts, and the starter template wires them like this:\n\n```\ninfinite-patch 1\nnode 1 3D Torus Knot\n  id knot\nend\nnode 2 3D Camera\n  id cam\n  f orbitPerBeat 0.2\nend\nnode 3 3D Light\n  id sun\nend\nnode 4 3D Render 3D\n  id view\nend\nnode 5 Utility Output\n  id out\nend\ngeo view 0 knot\ngeo view camera cam\ngeo view light_1 sun\ncable out 0 view\n```\n\nRender a few stills, then a clip:\n\n```\nInfinite --frame scene.inf 0,2,4 pics/ --contact-sheet sheet.png\nInfinite --render scene.inf scene.mp4 --duration 6 --fps 30\n```\n\nGive your agent the 3D rules from the guide. Primitives have fixed position, scale and rotation, so to animate a shape it should send it through a Transform node and modulate that. `Infinite --explain scene.inf --all` prints each piece's world bounding box, which tells the agent where things really are before it blames the lights. If the picture is black or faint, it should check the camera distance, the light intensities and the Render 3D ambient colour first.\n\nShort, specific briefs work best. For example:\n\nThe agent loops through describe, write, validate, explain, look and listen, and hands back the patch plus the files. You can open the same `.inf` file in the app and keep working by hand, because it is the same engine.\n\n`xvfb-run -a Infinite ...`.\nInfinite is free and open source (MIT) for macOS, Windows and Linux. Download it from [infinitedevices.org](https://infinitedevices.org), read the Headless User Guide, and give your agent the patch-authoring skill. The source is at [github.com/n1m21n/Infinite](https://github.com/n1m21n/Infinite).\n\n*Originally published at [https://infinitedevices.org/blog/ai-agents-make-music-art-3d-headless.html](https://infinitedevices.org/blog/ai-agents-make-music-art-3d-headless.html). Infinite is a free, open-source DAW for visuals, music and code: [infinitedevices.org](https://infinitedevices.org).*", "url": "https://wpnews.pro/news/ai-agents-make-music-art-and-3d-with-infinite-headless-engine", "canonical_source": "https://dev.to/n1m21n/ai-agents-make-music-art-and-3d-with-infinite-headless-engine-518h", "published_at": "2026-10-24 12:29:33+00:00", "updated_at": "2026-10-24 12:44:32.710491+00:00", "lang": "en", "topics": ["ai-agents", "ai-tools", "generative-ai", "developer-tools", "ai-products"], "entities": ["Infinite", "Infinite Devices", "Claude", "infinite-patch-authoring"], "also_reported_by": [], "alternates": {"html": "https://wpnews.pro/news/ai-agents-make-music-art-and-3d-with-infinite-headless-engine", "markdown": "https://wpnews.pro/news/ai-agents-make-music-art-and-3d-with-infinite-headless-engine.md", "text": "https://wpnews.pro/news/ai-agents-make-music-art-and-3d-with-infinite-headless-engine.txt", "jsonld": "https://wpnews.pro/news/ai-agents-make-music-art-and-3d-with-infinite-headless-engine.jsonld"}}