Covers and add-vocals: remix any track through the API
Every track SongAPI generates arrives as a finished, mixed file. That’s what most integrations want — but often the track you have is almost right: the melody works but the genre doesn’t, or the instrumental is perfect and just needs a singer. That’s what /v1/cover and /v1/add-vocals do: they take existing audio and transform it, instead of rerolling from scratch.
Covers: same song, new style
Point /v1/cover at any track — a previous generation’s audio_url works directly — and describe the style you want. The melody and structure carry over; the genre, instrumentation, and energy change:
curl https://api.songapi.dev/v1/cover \
-H "Authorization: Bearer $SONGAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://cdn.songapi.dev/gen_h2vJk8.../clip_1.mp3",
"style": "acoustic folk, warm, fingerpicked guitar"
}'
Like generation, it runs asynchronously: you get a 202 back with a generation of type: "cover", then poll GET /v1/generations/:id or take a webhook. The completed payload has two variations in clips, same as /v1/generate. An optional audio_weight (0–1) controls how closely the cover follows the source — higher stays truer to the original.
Add-vocals: from instrumental to song
/v1/add-vocals goes the other direction: take an instrumental and sing over it. Pass the lyrics (or a description of them) as prompt:
curl https://api.songapi.dev/v1/add-vocals \
-H "Authorization: Bearer $SONGAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"audio_url": "https://cdn.songapi.dev/gen_h2vJk8.../clip_1.mp3",
"prompt": "[Verse]\nWindows down, radio loud...",
"vocal_gender": "f"
}'
Pair it with /v1/lyrics (1 credit) to write the words first, then commit them to audio.
Why this belongs in the same API
Neither operation is new — producers have re-cut and re-voiced tracks forever. What changes when they’re endpoints next to /v1/generate is the workflow:
- No file shuffling. Both endpoints take an
audio_url— feed a previous generation straight back in without the audio ever leaving your pipeline. - One auth, one billing model. No second vendor, no separate credit system for post-processing. Each transform is 11 credits, the same as a generation, and includes two variations.
- Composable. Generate an instrumental, add vocals, then cover the result into a second genre — three API calls, one credit balance.
Three workflows this unlocks
One track, both assets. Generate with instrumental: true for the version that sits under dialogue, then /v1/add-vocals for the intro/outro version with a singer. Same musical bed, two deliverables.
TIP If you know up front you want vocals, generate with them directly —
/v1/generatewrites and sings lyrics from the prompt in one 11-credit call. Add-vocals earns its keep when the instrumental already exists.
Localized and versioned audio. Marketing jingle approved? Cover it per market (“bossa nova”, “synthwave”, “acoustic”) and re-voice it per language — the brand melody stays recognizable across every variant.
Human-in-the-loop production. For teams using generation as a starting point, covers are the iteration loop: keep the take the client liked, change the arrangement, never reroll the part that already works.
Cost and limits
Both endpoints bill like a generation — 11 credits, two variations included, refunded automatically if the job fails — see pricing. They work with sandbox keys too (sandbox output is silent placeholder audio, like all sandbox generations), so the whole chain is testable for free.
If you haven’t generated a track yet, start with the one-API-call guide — you’ll have something to remix five minutes from now.
$5 gets you 1,000 credits — and they never expire.