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
- Create a free account and an API key on the keys page.
- Submit a song. You get a job ID back straight away.
- Poll the job, or pass a
webhook_urland get a signed callback when it finishes.
curl -X POST https://api.stemx.app/v1/jobs \
-H "Authorization: Bearer sk_live_..." \
-F "audio=@song.mp3" \
-F "stems=six" \
-F "midi=true"{
"job_id": "3n8fK2pQ7xW1mZ4vTbYh9Q",
"status": "queued",
"queue_position": 1,
"created_at": "2026-10-02T04:12:00+00:00"
}curl https://api.stemx.app/v1/jobs/3n8fK2pQ7xW1mZ4vTbYh9Q \
-H "Authorization: Bearer sk_live_..."{
"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.