AI Audio

Vocal Separation

Separate vocals and accompaniment from audio (Demucs)

Separate a mix into vocals / accompaniment (and other stems) using Demucs. Async task; poll the returned task_id after submitting.

Base URL: https://api.aiclonevoicefree.com | Auth: Authorization: Bearer sk_...

POST /api/v2/voice/vocal-separation

FieldTypeRequiredNotes
audio_urlstringAudio URL to separate
duration_secondsnumberAudio length (s), used for per-second billing
separation_modestringSeparation mode, default simple
modelstringDemucs model, default htdemucs
stemsstringSpecific stems, e.g. vocals,drums (omit to follow mode)
shiftsintInference shifts, default 1
output_formatstringwav / mp3 / flac, default wav

Billing

1 credit/second of audio (cost = ceil(duration_seconds)). Pre-deducted with a balance check at submit (402 if insufficient); auto-refunded on failure.

curl -X POST https://api.aiclonevoicefree.com/api/v2/voice/vocal-separation \
  -H "Authorization: Bearer sk_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{ "audio_url": "https://your-cdn.com/song.mp3", "duration_seconds": 180, "stems": "vocals", "output_format": "mp3" }'

Response 202{ "task_id": "...", "status": "pending", "capability": "voice", "action": "vocal-separation" }

Getting the result

Poll GET /api/v2/voice/vocal-separation/{task_id} (dedicated status endpoint):

{
  "task_id": "...",
  "status": "completed",
  "action": "vocal-separation",
  "_type": "voice.vocal-separation",
  "resultUrl": "https://.../vocals.mp3",
  "separationResults": { "vocals": "https://.../vocals.mp3", "accompaniment": "https://.../inst.mp3" }
}

On this page