Vocal & Instrumental Separation API
Separate vocals and instrumental from any song programmatically — the same 3-model studio-grade engine (SDR 12.97 dB) behind the web app, over a simple REST API. A pay-as-you-go alternative to the LALAL.AI, Moises and Spleeter APIs: no monthly fee, no SDK, just one HTTP call.
Quickstart
Three steps:
- Get a key — sign in on your Account page and click Generate API key.
- Add credits — the API is pay-per-call; top up credits on the same page (
$0.50per song). - Call the API — submit a song URL, then poll until it's done and download the stems.
Authentication
Send your key in the X-API-Key header on every request. Keep it secret — treat it like a password. You can rotate or revoke it any time on your Account page.
X-API-Key: vsk_your_api_key_hereBase URL
https://aivoiceseparator.com
POST/api/v1/separate
Submit a song URL (YouTube, SoundCloud, TikTok, Bandcamp, Vimeo, or a direct audio link). Runs asynchronously. Charges your credit up front — 1 credit per song, or more for clips over 7 min — and refunds it if the job fails.
Request body (JSON)
| Field | Type | Notes |
|---|---|---|
url | string | required · the song link |
output_format | string | optional · mp3 (default), wav, flac |
transcribe | boolean | optional · also generate lyrics (Whisper) |
# Submit a song curl -X POST https://aivoiceseparator.com/api/v1/separate \ -H "X-API-Key: vsk_your_api_key_here" \ -H "Content-Type: application/json" \ -d '{"url": "https://youtu.be/dQw4w9WgXcQ", "output_format": "mp3"}'
Response 200
{
"job_id": "a1b2c3d4e5f6...",
"status_url": "https://aivoiceseparator.com/api/v1/jobs/a1b2c3d4e5f6...",
"cost_credits": 1,
"credit_balance": 950
}GET/api/v1/jobs/{job_id}
Poll the job. state moves queued → downloading → processing → done (a 5-min song is typically ready in ~1 min). When done, stems holds public download URLs, valid until the job auto-deletes at 24 h.
curl https://aivoiceseparator.com/api/v1/jobs/a1b2c3d4e5f6... \
-H "X-API-Key: vsk_your_api_key_here"Response 200 (done)
{
"job_id": "a1b2c3d4e5f6...",
"state": "done",
"progress": 100,
"output_format": "mp3",
"stems": [
{ "name": "vocals", "url": "https://aivoiceseparator.com/api/download/a1b2.../vocals" },
{ "name": "instrumental", "url": "https://aivoiceseparator.com/api/download/a1b2.../instrumental" }
]
}End-to-end example
#!/usr/bin/env bash KEY="vsk_your_api_key_here" BASE="https://aivoiceseparator.com" # 1) submit JOB=$(curl -s -X POST $BASE/api/v1/separate \ -H "X-API-Key: $KEY" -H "Content-Type: application/json" \ -d '{"url":"https://youtu.be/dQw4w9WgXcQ"}' | jq -r .job_id) # 2) poll until done while true; do STATE=$(curl -s $BASE/api/v1/jobs/$JOB -H "X-API-Key: $KEY" | jq -r .state) echo "state: $STATE"; [ "$STATE" = "done" ] && break [ "$STATE" = "error" ] && exit 1; sleep 4 done # 3) download the instrumental URL=$(curl -s $BASE/api/v1/jobs/$JOB -H "X-API-Key: $KEY" \ | jq -r '.stems[] | select(.name=="instrumental") | .url') curl -sL "$URL" -o instrumental.mp3
Pricing & limits
- $0.50 per song (1 credit). Clips over 7 min cost more:
10 min = 2,16 min = 3credits. Max 20 min/clip. - Buy credits on your Account page (card or PromptPay). Credits never expire; failed jobs are refunded automatically.
- Rate limit: 30 requests per 10 minutes per key.
Errors
| Status | Meaning |
|---|---|
401 | Missing / invalid / revoked API key. |
402 | Not enough credit — top up on Account. |
413 | Clip longer than the 20-min limit. |
422 | Couldn't read the clip length (live stream / unsupported URL). |
429 | Rate limit — slow down. |
FAQ
Is there an API to separate vocals from a song?
Yes — this is a REST API that separates the vocals and instrumental from any song URL programmatically. You POST a link, poll the job, and download two stems. It runs the same studio-grade 3-model engine (SDR 12.97 dB) as the web app, so results match what you hear on the site.
How much does the vocal separation API cost?
Pay-as-you-go: $0.50 per song (one credit), no monthly fee. Clips over 7 min cost proportionally more (10 min = 2, 16 min = 3 credits). Credits never expire, and any job that fails is refunded automatically.
Is this a LALAL.AI, Moises or Spleeter API alternative?
Yes. It's a pay-as-you-go alternative to the LALAL.AI, Moises and Spleeter APIs — no subscription, no SDK, a single HTTP endpoint, and studio-grade quality. Good for karaoke apps, remix/DJ tools, sample-flipping, transcription pipelines, and resellers who separate stems in bulk.
What sources and formats are supported?
Submit a YouTube, SoundCloud, TikTok, Bandcamp or Vimeo link, or a direct audio URL. Output is mp3 (default), wav or flac. Optional lyrics transcription (Whisper) can be turned on per request.
How do I get an API key?
Sign in on your Account page, click Generate API key, and add credits. Send the key in the X-API-Key header on every request.