Opennan

Stem splitting API

Live

Split a song into vocals and instrumental, or vocals, drums, bass and other.

From $0.01794 per 1-min song, +$0.00299 per extra minute with Demucs

Demucs

Meta

from $0.01794/min of audio

Input

  • 6603e279-4bfc-4077-b73b-63ddbc87585a_example.mp3Reading the song's length…
Split into

Songs under a minute cost at least $0.01.

Output

Example
Example outputMade with this prompt
0:00 / 0:00
  • Vocals
  • Drums
  • Bass
  • Other

Compare Stem splitting API models

Every model behind this endpoint, with live prices. Try one in the playground or open its page.

  • DemucsMeta$0.01794 per 1-min song, +$0.00299 per extra minute
    Vocals + instrumental · Vocals, drums, bass, other
    Page

Call Stem splitting API from your code

One endpoint for every model above. Change the model field to switch.

POSThttps://api.opennan.com/v1/audio/separations
  • GET/v1/models?category=musicEvery model of this endpoint, with prices
  1. Get an API key

    Create a key in the console. It uses the same balance as the playground.

    Create a key
  2. Send your first request

    The same request the playground sends. Set OPENNAN_KEY to your key.

    curl https://api.opennan.com/v1/audio/separations \
      -H "Authorization: Bearer $OPENNAN_KEY" \
      -H "Content-Type: application/json" \
      -d '{"model":"demucs","audio_url":"https://example.com/song.mp3","stems":"vocals"}'
    
    # Then poll until "status" is "succeeded" or "failed":
    curl https://api.opennan.com/v1/tasks/<task id> -H "Authorization: Bearer $OPENNAN_KEY"
  3. Poll the task

    The call answers right away with a task id. Ask for the task until it finishes:

    GEThttps://api.opennan.com/v1/tasks/{id}
    queued
    Waiting for a worker
    running
    Being made
    succeeded
    Done: outputs[].url holds the files
    failed
    Failed: you are not charged

Parameters

Built from the live catalog: every value listed here is one the API accepts.

Parameters
NameTypeAllowed valuesDefaultEffect on price
modelrequiredWhich model runs the call.stringdemucs——
audio_urlrequiredThe song to split (https link).URL——Billed by song length
stemsoptionalWhich parts to split the song into.stringvocals · allvocals—
callback_urloptionalWe send the finished task to this URL.URL———

Errors and how to fix them

  • 401Missing or wrong key

    Send the header Authorization: Bearer with a key from the console.

  • 402Balance too low

    Add credit in Billing, then send the same call again.

  • 400A value is not accepted

    Read error.message: it names the field. Use a value from the parameter table.

  • 429Too many requests

    Wait a few seconds and try again, waiting longer after each 429.

Add Opennan to your AI app

One install gives your AI every Opennan tool: video, images, chat, voice, music, sound effects, 3D, captions and dubbing. Pick your app and follow the steps.

MCP serverhttps://api.opennan.com/v1/mcp

Works in the Codex CLI, the Codex app and the Codex IDE extension: they share ~/.codex/config.toml. If the app or IDE does not see OPENNAN_KEY, use the config.toml option with your key in it. Codex asks before each tool call: approve it to go on.

  1. Get an API key

    Create a key in the console. It starts with sk- and uses the same balance as the website.

    Create a key
  2. Save your key as OPENNAN_KEY

    # macOS / Linux (zsh shown; bash: ~/.bashrc)
    echo 'export OPENNAN_KEY="sk-..."' >> ~/.zshrc
    source ~/.zshrc
    
    # Windows (PowerShell), then open a new terminal
    setx OPENNAN_KEY "sk-..."
  3. Install the Opennan plugin: the server plus a skill that teaches your AI to pick models, confirm prices and wait for results

    codex plugin marketplace add Opennan/opennan-ai-plugin
    codex plugin add opennan@opennan
  4. Or add only the server

    codex mcp add opennan --url https://api.opennan.com/v1/mcp --bearer-token-env-var OPENNAN_KEY
  5. Or add this to ~/.codex/config.toml

    [mcp_servers.opennan]
    url = "https://api.opennan.com/v1/mcp"
    http_headers = { Authorization = "Bearer sk-..." }
  6. Check that opennan is listed

    codex mcp list
  7. Restart Codex, then ask for anything

    “Make a 5 second video of rain on a neon street, a song to go with it and a poster image.”

Replace sk-... with your own key and keep it private: anyone who has it can spend your balance. Your app can list the tools before you add a key; making anything needs one.

This tool from your AI

Once Opennan is added, your AI calls this tool with arguments like these.

Tool
separate_audio
Example arguments
{
  "model": "demucs",
  "audio_url": "https://example.com/song.mp3",
  "stems": "vocals"
}

Stem splitting API: questions

Every model and price
How much does Stem splitting API cost?

From $0.01794 per 1-min song, +$0.00299 per extra minute with Demucs, the cheapest of 1 model here. You see the price before you run.

How do I call it from my code?

Send POST https://api.opennan.com/v1/audio/separations with your API key. It answers with a task id: ask https://api.opennan.com/v1/tasks/{id} until the task succeeds or fails.

Can my AI agent use it?

Yes. Add the MCP server https://api.opennan.com/v1/mcp and call the separate_audio tool, or point your agent at https://api.opennan.com/llms.txt.

What happens if a run fails?

A failed run is not charged. You pay only for results.

We only use the cookies the site needs, such as your language and a referral code. No ads. We count page visits with cookie-free analytics. See our Cookie Policy for details.