/blog / covers-and-add-vocals

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/generate writes 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.

Ready to try it yourself?

$5 gets you 1,000 credits — and they never expire.

[ get your API key ][ see pricing ]