NomonoPlatform docs

Getting started

Introduction

The Nomono Platform API separates and enhances the voices in recordings of people talking, made with any recorder and any microphone.

What the API does

You upload the files of one recording, either a track for each microphone or a single mixdown. With microphone tracks you can also upload the recording of an ambisonics array, called a bed. A job then processes the files and returns what you ask for:

  • Each microphone's track, enhanced, keeping as much bleed and background as you choose.
  • A stereo mix of the enhanced voices.
  • Loudness, peak, silence and clipping for each track.
  • With a bed, a binaural mix for headphones or ADM files with the speakers' positions for Dolby Atmos and EBU workflows.

We accept WAV and FLAC files, and tracks and mixes come back as WAV with an Opus copy and waveform data.

How the objects fit together

  1. Upload

    Sends one file in parts

  2. Source

    The file, checked and ready

  3. Session

    One recording's sources and their roles

  4. Job

    Processes the session

  5. Output

    A processed file, with a download URL

Each file becomes a source once you complete its upload. You then put the sources of one recording in a session, create a job on it and download the job's outputs once it's done.

A session can have several jobs, and ADM files always need a job of their own. Deleting a session deletes its sources and the outputs of all its jobs.

Base URLs

  • API: https://platform-api.nomono.co/v1
  • MCP server: https://platform-mcp.nomono.co/mcp

The /v1 in the API's URL is its version. Both URLs take the same API keys, which Authentication describes.

Requests and responses

Send request bodies of up to 1 MiB as JSON with Content-Type: application/json, and leave the trailing slash off paths. Responses are JSON too, except for 204 No Content, and fields without a value are returned as null. Errors have a code and a message, as described in Errors.

Sizes are in bytes and durations in seconds. Jobs are billed by minutes, and a job's minutes field is its session's length rounded to two decimals.

IDs

Every ID starts with a prefix for its type, such as ses_01a14471a03b7c56a1e28d9f4b6c7d8e, but otherwise you should treat IDs as opaque strings.

PrefixObject
upl_Upload
src_Source
ses_Session
job_Job
out_Output
evt_Webhook event

Use the upload_id with the upload routes, and once the upload is complete, use the source_id everywhere else.

Times and dates

Times are ISO 8601 strings in UTC, such as 2026-10-14T10:56:26.092633Z. Fractional seconds are sometimes missing, so parse times with an ISO 8601 parser. GET /v1/usage takes and returns dates as YYYY-MM-DD, also in UTC.

Health

GET https://platform-api.nomono.co/health returns 200 with {"status": "OK"} when the API is up. It doesn't need a key.

curl -sS "https://platform-api.nomono.co/health"

Next steps