AI Stem Separation - Vocals, Drums and Bass Over API
AI stem separation with Multistem Splitter: vocals, drums and bass from one file in a single task. Per-minute price for all three stems, Studio and Python.
AI stem separation on Jantaris runs through Multistem Splitter: you send one audio file and a single task returns three separate stems, vocals, drums and bass. It costs $1.50 per minute of audio for all three stems together, with every started minute counted, so a 4-minute song is 4 × $1.50 per minute. Below: when stems are worth it and when a cheaper tool does the job, how to run it in the browser and over the API, and which options are not exposed yet.
What you get back
On Jantaris, Multistem Splitter returns a fixed set of three stems:
- vocals, lead and backing together,
- drums, kit and percussion,
- bass, the bass line.
The vendor engine can pull out up to six stems, including piano, electric guitar and acoustic guitar, but Jantaris does not let you choose the stem list yet, so every job uses the default set: vocals, drums, bass. Extraction levels, engine choice and dereverb are not exposed either.
That matters when you plan the work. Guitars, keys, strings and the rest of the arrangement do not get their own file. If what you want is "everything except the vocal" in one piece, use Music Extractor instead, which returns the full instrumental.
Which tool for which job
The catalog has three audio separation tools. Pick by what you will do with the files afterwards:
| Goal | Tool | Output | Price |
|---|---|---|---|
| remix with new drums or bass | Multistem Splitter | vocals, drums, bass | $1.50 per minute |
| transcribe a bass line or learn a drum part | Multistem Splitter | the isolated part | $1.50 per minute |
| karaoke or backing track | Music Extractor | everything except vocals | $0.50 per minute |
| acapella for a mashup | Vocal Remover | the voice only | $0.50 per minute |
A quick cost check on a 4-minute song: stems are 4 × $1.50 per minute, while an instrumental plus an acapella from the two single-purpose tools is 4 × $0.50 per minute + 4 × $0.50 per minute. If you do not need drums and bass on their own, the simpler pair costs less. The guide on how to remove vocals from a song covers that route.
Step by step in Jantaris Studio
- Sign up and add funds to your USD balance (from $10).
- In Studio, open the Audio tab and choose Multistem Splitter.
- In Source audio (URL), click Upload file (MP3 or WAV, up to 25 MB) or paste a public link to the file.
- Look at the Cost line, then press Generate.
- The stems appear in the gallery. Download them right away and label them after a listen.
The Cost figure is a hold, not the final bill. Jantaris cannot know the track length before it fetches the file, so it reserves the price of 10 minutes of audio, 10 × $1.50 per minute. When the job finishes you pay for the minutes actually started and the rest goes straight back to your balance. With this tool that is worth knowing in advance: your available balance has to cover the whole reserve, so a minimal top-up may not be enough to start a job.

Stem separation over the API
The model takes one field, audio_url, a public http(s) link to the file. The request in curl:
curl https://jantaris.com/v1/generate \
-H "Authorization: Bearer $JANTARIS_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "multistem-splitter",
"input": { "audio_url": "https://your-server.com/audio/track.wav" }
}'The 202 response includes the task id and estimated_cost (the hold). Poll GET /v1/tasks/{id}. On success, each stem is its own entry in the output array with type: "audio".
A Python script that submits the job, waits and saves every stem:
import os, time, requests
API = "https://jantaris.com/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['JANTARIS_API_KEY']}"}
task = requests.post(f"{API}/generate", headers=HEADERS, timeout=30, json={
"model": "multistem-splitter",
"input": {"audio_url": "https://your-server.com/audio/track.wav"},
}).json()
print("hold:", task["estimated_cost"])
while task["status"] not in ("succeeded", "failed"):
time.sleep(5)
task = requests.get(f"{API}/tasks/{task['id']}", headers=HEADERS, timeout=30).json()
if task["status"] == "failed":
raise SystemExit(task["error"])
for i, item in enumerate(task["output"], start=1):
url = item["url"]
ext = url.split("?")[0].rsplit(".", 1)[-1]
with open(f"track-stem-{i}.{ext}", "wb") as f:
f.write(requests.get(url, timeout=120).content)
print("saved", f"track-stem-{i}.{ext}")
print("cost:", task["cost"])Do not hardcode which array position is drums and which is bass. Listen to the files from your first jobs and name them after that. Output links expire, so the script saves them immediately. For a batch of tracks, pass webhook_url and let Jantaris call your server when each task is done (webhooks, async video and webhooks guide for the general pattern).

What stem separation costs
The rate $1.50 per minute covers all three stems. The vendor bills each minute once per returned stem, so the price on Jantaris is already that total, not a per-stem rate. Every started minute counts, rounded up:
| Track | Billed minutes | Cost |
|---|---|---|
| single, 3:05 | 4 | 4 × $1.50 per minute |
| track, 2:58 | 3 | 3 × $1.50 per minute |
| EP, 5 tracks of about 3:30 | 5 × 4 | 20 × $1.50 per minute |
| a 0:50 section for sampling | 1 | 1 × $1.50 per minute |
The first two rows show how a few seconds change the bill: 3:05 costs a full minute more than 2:58. Trim silence and long intros before you upload. The balance is prepaid in USD, has no subscription and does not expire. Failed jobs cost nothing.

Where three stems are enough
- Remixes and re-productions. Keep the vocal and replace drums and bass with new parts. The rest of the arrangement has no separate file, so this suits a rework more than a faithful re-mix of the original.
- Practice and transcription. A bassist gets the isolated line to transcribe, a drummer gets the kit to learn the groove.
- Voiceover on a song. A sung vocal fights with narration. With separate stems you can duck or cut the vocal in the edit and keep the rhythm section.
- Samples and mashups. A drum loop or bass riff from your own recording becomes raw material for a new track.
- AI songs you want to mix yourself. Generate a track in Mureka V9, split it, and mix it your way in a DAW. The Mureka V9 guide shows the generation side.

Limits and file prep
Separation works on a finished mix, so the result depends on the material:
- Bleed between stems. In a dense arrangement, parts of one instrument can land on another stem, cymbals in the vocal or kick in the bass. Check every stem before you use it.
- Best possible source. WAV or FLAC gives cleaner stems than a heavily compressed MP3. FLAC works over the API as a link; Studio uploads take MP3 or WAV up to 25 MB.
- No streaming links.
audio_urlmust point directly at an audio file. - No stem or format choice. Today you get vocals, drums and bass in the vendor's default format.
Copyright does not change. Publishing a remix of someone else's song needs the rights holder's permission. Your own recordings and AI tracks you own the rights to are the straightforward case. For turning a finished song into a clip, see the AI music video guide, and for the Suno comparison the Suno API alternative.
FAQ
How do I split a song into stems with AI?
In Jantaris Studio open the Audio tab, pick Multistem Splitter, upload an MP3 or WAV or paste a link, and press Generate. You get three files: vocals, drums and bass. Over the API, send POST /v1/generate with the model multistem-splitter and the link in audio_url.
How much does AI stem separation cost?
$1.50 per minute for all three stems together, and every started minute counts. A 3:30 track is 4 minutes, so 4 × $1.50 per minute. Failed jobs are free.
Can I extract guitar or piano?
Not on Jantaris yet. The engine supports it, but stem selection is not exposed, so jobs return vocals, drums and bass.
Is there a free AI stem splitter?
Jantaris has no free tier or signup credits; the minimum top-up is $10 and the balance never expires. Some DAWs and desktop tools ship their own separation features with their own limits.
Why does Studio show a higher cost than my track should be?
Because Jantaris holds a reserve for 10 minutes of audio before it knows the file length. After the job it charges for the real minutes and releases the rest.
Can I release a remix made from the stems?
Only with permission from whoever owns the song. Splitting a track into stems does not change the rights to the composition or the recording.












