Introduction
Vocal Isolator separates an existing audio recording into a vocal track and a background track. Send the mixed recording through audio_url; no prompt or previously generated music task is needed. This endpoint is for working with sound you already have, such as a song rehearsal, a narrated clip or a podcast recording with music underneath.
Key features & highlights
Two stems from one recording
The task is intended to return both parts of the same source: vocals first and the remaining background second. In music, the background is the instrumental accompaniment. In a spoken recording, it can include music and environmental sound. These are related stems from one processing job, rather than two alternative generations to choose between. Separation can leave audible leakage or remove details that overlap between the two parts.
Source duration sets the billing quantity
Billing follows the input recording, rounded up to whole seconds. Receiving two stems does not double that duration. This endpoint accepts recordings from 1 to 600 seconds. It does not provide a requested output length, a speaker selector or an output codec setting. Keep the original mix alongside both results so that you can compare the separation without losing the recording you started from.
Request parameters
| Parameter | Required | Description |
|---|---|---|
audio_url | Yes | The mixed recording to separate, supplied as an audio URL. The upload control accepts MP3 or WAV. at least 1 characters |
Pricing
$0.0012 / second
Billed once per second of input audio, rounded up to the whole second. Both stems are included in the same duration charge. This endpoint accepts 1 to 600 seconds.
Use cases
Prepare a music practice track
Use the background stem to rehearse against your own backing track, and keep the vocal stem for checking phrasing. Listen through pauses as well as loud passages: reverberation and backing vocals can remain in the accompaniment. Compare at similar listening levels before deciding whether a stem is suitable for the rehearsal.
Separate narration from an existing mix
For a clip with speech over music, audition the vocal result before placing it into a new edit. The background stem can be useful as an editing reference, but it is not guaranteed to contain only music. Keep both stems aligned to the same source start when comparing them in your editor.
Prompt guide & pro tips
Prepare the source recording
There is no prompt to tune. Upload the clearest version of the mixed recording you have, rather than a recording of loudspeaker playback or an extra compressed copy. Use MP3 or WAV through the upload control. This endpoint handles the complete supplied file; prepare a separate source clip first if only part of a longer recording is needed. Preserve the original and give the derived stems distinct names.
Review both tracks before using them
Check speech consonants, sustained notes, silence between phrases and the left and right channels. Listen for musical sound leaking into the vocals and voice remaining in the background. Do not assume that adding the stems back together reconstructs the original exactly. Measure their actual lengths before editing long sequences, and verify alignment in the target editor. Output format, sample rate and separation quality still require validation with your material.
API quick start
# Generate the idempotency key once; reuse it when retrying after a lost response.
export SPICY_IDEMPOTENCY_KEY="${SPICY_IDEMPOTENCY_KEY:-$(uuidgen)}"
curl -X POST https://api.spicyapi.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $SPICY_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $SPICY_IDEMPOTENCY_KEY" \
-d '{
"model": "spicyapi/vocal-isolator-v1/audio-separation",
"input": {
"audio_url": "https://example.com/reference.mp3"
}
}'
# Copy data.taskId from the response into TASK_ID, then poll the status.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.spicyapi.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $SPICY_API_KEY"
See the API reference for authentication, the complete schema, polling, and error handling.