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
| Field | Type | Required | Notes |
|---|---|---|---|
audio_url | string | ✅ | Audio URL to separate |
duration_seconds | number | ✅ | Audio length (s), used for per-second billing |
separation_mode | string | ⬜ | Separation mode, default simple |
model | string | ⬜ | Demucs model, default htdemucs |
stems | string | ⬜ | Specific stems, e.g. vocals,drums (omit to follow mode) |
shifts | int | ⬜ | Inference shifts, default 1 |
output_format | string | ⬜ | wav / mp3 / flac, default wav |
Billing
1 credit/second of audio (
cost = ceil(duration_seconds)). Pre-deducted with a balance check at submit (402if 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" }
}