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.
Compared with other APIs
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.