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

IntegrationEntry pointYour product suppliesGuide
Load a released plug-inStandard VST3, AU, CLAP or standalone releasePlug-in scanning, audio and MIDI routing, state and automationNative plugins
Embed a module in a web appModule player, React or imperative hostAudio context, transport, inputs, assets and lifecycleHost a module in React
Connect several modulesRack host over declared portsRack layout and saved configurationRacks
Generation from your servercreateMaruClient from maruaudio/apiToken storage, request keys, result handlingAdd generative audio to your app
Generation for signed-in usersRegistered creator app, PKCE sign-inSign-in UI, consent hand-off, result loadingGenerate audio, Add Maru sign-in to your product
Agent and script accessHosted connector https://maruaudio.com/mcp; POST /api/v1/ops/<name>Permission prompts and review of changesUse Maru from your agent, MCP tools
Music theory computationSymbolic libraryInput and presentationSymbolic library
Branded interfacesUI kit controls and the face contractTheme and layoutModule UI
Licensed distributionPlug-in licensing in release buildsListing and supportSell and share
Hardware targetsPedal and controller projects (early access)Device, inputs and update pathFrom 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:run grant. 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.