Integration reference
Technical entry points for integrating Maru into a DAW, web app, online service, controller, device or agent product: embedding, generation, sign-in, operations API, plug-in builds and their boundaries.
This page lists the technical surfaces a partner product integrates with and what each boundary leaves to the host. For choosing an engagement, scoping a pilot and commercial terms, see Maru for teams and organizations and DAWs and audio software makers.
Integration surfaces
| Integration | Entry point | Your product supplies | Guide |
|---|---|---|---|
| Load a released plug-in | Standard VST3, AU, CLAP or standalone release | Plug-in scanning, audio and MIDI routing, state and automation | Native plugins |
| Embed a module in a web app | Module player, React or imperative host | Audio context, transport, inputs, assets and lifecycle | Host a module in React |
| Connect several modules | Rack host over declared ports | Rack layout and saved configuration | Racks |
| Generation from your server | createMaruClient from maruaudio/api | Token storage, request keys, result handling | Add generative audio to your app |
| Generation for signed-in users | Registered creator app, PKCE sign-in | Sign-in UI, consent hand-off, result loading | Generate audio, Add Maru sign-in to your product |
| Agent and script access | Hosted connector https://maruaudio.com/mcp; POST /api/v1/ops/<name> | Permission prompts and review of changes | Use Maru from your agent, MCP tools |
| Music theory computation | Symbolic library | Input and presentation | Symbolic library |
| Branded interfaces | UI kit controls and the face contract | Theme and layout | Module UI |
| Licensed distribution | Plug-in licensing in release builds | Listing and support | Sell and share |
| Hardware targets | Pedal and controller projects (early access) | Device, inputs and update path | From module to hardware |
Boundaries to design around
- A module owns musical behavior; the host owns services. Devices, files, sign-in and resource access stay in your host. A face never opens devices or produces audio.
- Realtime code is restricted. The audio callback allocates no memory, takes no lock and performs no I/O. Model inference and file access stay outside it.
- Targets are qualified per module. A browser demo does not establish a native or hardware target. Each release lists its formats.
- Account access is scoped. Signing in identifies a person; spending
credits needs a separate
inference:rungrant. Creator-app grants do not open a person's whole library. - State must round-trip. Test saved sessions, automation, preset recall, device changes and asset identity, not only playback.
Licensing of the toolkit
The SDK, CLI and generated plug-in shells are not published under a general open-source license. See Licensing for current terms, and Choosing Maru for a comparison with JUCE, Cmajor and RNBO.