Stem separation API

Send a song, get the vocals and the instrumental back, or all six stems with a MIDI file for each, with the key and BPM. One REST endpoint, an API key, and per-minute pricing from $0.0098 a minute. The same minutes work on the website.

Quickstart

  1. Create a free account and an API key on the keys page.
  2. Submit a song. You get a job ID back straight away.
  3. Poll the job, or pass a webhook_url and get a signed callback when it finishes.
1. Submit
curl -X POST https://api.stemx.app/v1/jobs \
  -H "Authorization: Bearer sk_live_..." \
  -F "audio=@song.mp3" \
  -F "stems=six" \
  -F "midi=true"
Response (202)
{
  "job_id": "3n8fK2pQ7xW1mZ4vTbYh9Q",
  "status": "queued",
  "queue_position": 1,
  "created_at": "2026-10-02T04:12:00+00:00"
}
2. Poll
curl https://api.stemx.app/v1/jobs/3n8fK2pQ7xW1mZ4vTbYh9Q \
  -H "Authorization: Bearer sk_live_..."
Response (200)
{
  "job_id": "3n8fK2pQ7xW1mZ4vTbYh9Q",
  "status": "succeeded",
  "created_at": "2026-10-02T04:12:00+00:00",
  "result_uris": {
    "vocals": "https://storage.googleapis.com/...",
    "drums": "https://storage.googleapis.com/...",
    "bass": "https://storage.googleapis.com/...",
    "guitar": "https://storage.googleapis.com/...",
    "piano": "https://storage.googleapis.com/...",
    "other": "https://storage.googleapis.com/..."
  },
  "analysis": {
    "key": "G major",
    "key_confidence": 0.82,
    "bpm": 128,
    "bpm_confidence": 0.94
  },
  "midi_uris": {
    "vocals": "https://storage.googleapis.com/...",
    "drums": "https://storage.googleapis.com/...",
    "bass": "https://storage.googleapis.com/...",
    "guitar": "https://storage.googleapis.com/...",
    "piano": "https://storage.googleapis.com/...",
    "other": "https://storage.googleapis.com/...",
    "combined": "https://storage.googleapis.com/..."
  }
}

Full details in the API reference.

What you can build

  • Karaoke and sing-along apps: instrumental tracks from any song.
  • Remix and DJ tools: clean acapellas with the key and BPM attached.
  • Music practice apps: mute the vocal and play along.
  • Content tools: pull music out from under a voice, or a voice out from music.

Frequently asked questions

How is the API priced?

Per minute of input audio, from the same balance as the web app. Every stem in a job, and its MIDI, together count as one minute. Failed jobs are not billed.

Is there a free tier?

Yes. Every account gets 30 free minutes a month, on the web or the API. No card needed.

What are the limits?

Files up to 100 MB and 10 minutes long. Paid plans run more jobs at once: Pro 2, Scale 4.

What do I get back?

Signed download links for the vocals and the instrumental, or with stems=six for all six stems (vocals, drums, bass, guitar, piano and other), as MP3, or WAV or FLAC with a paid plan or a minutes pack; with midi=true, a MIDI file per stem; plus the track's key and BPM. Links are valid for an hour and can be re-requested while the files are kept.

Which models do you use?

Separation: BS-RoFormer-SW (bs-roformer-infer, MIT; weights enerjazzer/BS-ROFO-SW-Fixed); HT-Demucs 6s (Meta AI Research, demucs MIT). MIDI: YourMT3+ (mimbres/YourMT3) for pitched stems and ADTOF (CC BY-NC-SA) for drums. Lead and backing vocal split: models by UVR (Anjok07 & aufr33), used under their MIT licence.