Capability

Song Translation

Translate a full song into another language. Soundverse transcribes the uploaded track, translates its lyrics into the target language, regenerates the vocals in that language while preserving the original singer's character and gender, layers the new vocals over the original instrumental, and renders one finished master file. The result is added to your Soundverse Library.

Dedicated route only

Song translation uses POST /v1/song-translations. It runs a fixed multi-step pipeline; there is no generic tool_id for it.

Quickstart

POST/v1/song-translationstranslate a song into another language

curl -X POST https://apiv2.soundverse.ai/v1/song-translations \ -H "Authorization: Bearer sksoundverse_..." \ -H "Content-Type: application/json" \ -H "Idempotency-Key: song-translation-001" \ -d '{ "song_file_id": "018f0000-0000-7000-8000-000000000002", "target_language": "Spanish", "syllable_matched": true, "song_style": "pop ballad, emotional, female vocals", "license": "royalty_free" }'

The song_file_id must be an active uploaded audio file owned by the authenticated enterprise account. Song translation accepts source audio up to 60 MiB.

Getting a song_file_id

Upload the song first via POST /v1/files — either {"source_url": "..."} if you already host the file, or a multipart/form-data file part to upload bytes directly. Both return a file_id owned by your account, ready to pass here.

Request fields

FieldTypeRequiredDefaultDescription
song_file_iduuidYes—Owner-scoped uploaded audio file — the original song to translate. Maximum 60 MiB.
target_languagestringYes—Language to translate the song into, as a human-readable name (for example "Spanish", "Hindi", "Japanese").
syllable_matchedbooleanNotrueWhen true, each translated line keeps a syllable count close to the original so it still fits the melody. When false, the lyrics are translated literally.
song_stylestringYes—The song’s style: genre, mood, and the singer’s voice/gender (for example "pop ballad, emotional, female vocals"). Used to regenerate the vocals in the target language while preserving the original singer’s character.
licenselicense tierNo"royalty_free"License tier to price and attach to every step of the pipeline.

How it works

Each request runs six steps in order:

  1. Transcribe the uploaded song’s lyrics.
  2. Translate the lyrics into target_language.
  3. Separate the original song into vocal and instrumental stems.
  4. Regenerate the vocals singing the translated lyrics, guided by song_style, preserving the original singer’s character and gender.
  5. Layer the new vocals over the original instrumental.
  6. Render the mix into one finished master file.

Progress streams over GET /v1/generations/{task_id}/stream as each step starts and finishes.

Results and playback

Poll GET /v1/generations/{task_id} until the task is completed. The finished translated song is added to the authenticated account’s Soundverse Library. Enterprise API outputs are hidden from public/profile surfaces by default.

For API-only download, resolve the output’s file_id with GET /v1/files/{file_id}/url and use the returned short-lived signed URL.

Use the Library for playback or download

Open Soundverse Library using the same account as the API key. The Library creates an authorized, temporary playback/download link for the result.

Pricing

Song translation is priced pass-through: you are billed for each step the pipeline runs, at that step’s enterprise rate, in the license tier you requested. The pipeline itself adds no separate fee. Your billing ledger shows one entry per step.

Because the total depends on the source song (length, whether a transcription cache hit applies), there is no fixed per-request price. The steps that carry the cost are lyric transcription, lyric translation, stem separation, vocal regeneration, mixing, and the final render to master.