Docs / Nebula Sound System manual / 17. The Control API (for scripts)

17. The Control API (for scripts)

Nebula can be driven by other programs on your machine — and by the AI assistant that is planned to sit on top of it.

  • Turn it on in Settings → Local API. It listens on localhost only, with a token that is generated for your machine.
  • It speaks JSON-RPC 2.0 over a socket: {"jsonrpc":"2.0","id":1,"method":"tracks.add","params":{},"token":"…"}. There are 61 methods covering projects, tracks, clips, notes, devices, knobs, transport, history and rendering, and the app pushes events back (nebula/render.finished, nebula/project.changed).
  • Everything a script does is a normal, undoable command — the same edit a click would make.
  • An OSC door (UDP) exposes the same actions for hardware controllers.

If you write Python, the usual shape is: connect to 127.0.0.1:<port>, send one JSON line per request, read one JSON line per reply. docs/FEATURES.md lists the method families.

Updated 2026-11-02

An unhandled error has occurred. Reload 🗙

Rejoining the server...

Rejoin failed... trying again in seconds.

Failed to rejoin.
Please retry or reload the page.

The session has been paused by the server.

Failed to resume the session.
Please retry or reload the page.