Capability
Audio Inpainting
Rewrite one selected section or time range of an uploaded song while preserving the surrounding audio. Use it for targeted lyric, section, or arrangement repairs instead of regenerating the whole track.
Dedicated route only
Audio inpainting uses POST /v1/audio-inpainting. It is separate from Remix: inpainting edits one chosen region of an uploaded source, while Remix reimagines a full song.
Quickstart
POST/v1/audio-inpaintingrewrite a selected region
curl -X POST https://apiv2.soundverse.ai/v1/audio-inpainting \
-H "Authorization: Bearer sksoundverse_..." \
-H "Content-Type: application/json" \
-H "Idempotency-Key: inpaint-req-001" \
-d '{
"source_file_id": "018f0000-0000-7000-8000-000000000002",
"section": "chorus",
"lyrics": "Turn the lights up, let the whole room glow\nHold on tight, we are ready to go",
"prompt": "bright modern pop chorus, confident female vocal, punchy drums; preserve the source song tempo and key",
"license": "royalty_free"
}'The source_file_id must be an active uploaded audio file owned by the authenticated enterprise account. Inpainting accepts source audio up to 40 MiB.
Request fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
| source_file_id | uuid | Yes | — | Owner-scoped uploaded source audio file to edit. Maximum 40 MiB. |
| section | string | No | null | Named region to rewrite, such as chorus, verse, bridge, intro, or outro. Do not combine with start_seconds/end_seconds. |
| start_seconds | number | No | null | Start of the exact region to rewrite. Must be used with end_seconds when section is omitted. |
| end_seconds | number | No | null | End of the exact region to rewrite. Must be greater than start_seconds. |
| lyrics | string | Yes | — | Replacement lyrics for the selected region. Maximum 3000 characters. |
| prompt | string | No | null | Optional production guidance for the rewritten section. Maximum 1024 characters. |
| license | license tier | No | "royalty_free" | License tier to price and attach to the queued inpainting task. |
Lyrics and prompt example
Set lyrics to the exact words that should replace the selected region. Use promptto describe how that replacement should sound, such as genre, vocal character, energy, and production direction. Keep the prompt consistent with the source song when you want a seamless edit.
{
"source_file_id": "018f0000-0000-7000-8000-000000000002",
"section": "chorus",
"lyrics": "Turn the lights up, let the whole room glow\nHold on tight, we are ready to go",
"prompt": "bright modern pop chorus, confident female vocal, punchy drums; preserve the source song tempo and key"
}Targeting the region
Provide either section or both start_seconds and end_seconds. Sending both targeting styles, or sending neither, returns a validation error before a task is queued.
{
"source_file_id": "018f0000-0000-7000-8000-000000000002",
"section": "chorus",
"lyrics": "Turn the lights up, let the whole room glow",
"prompt": "bright modern pop chorus with a confident vocal hook"
}Results and playback
Poll GET /v1/generations/{task_id} until the task iscompleted. Its primary output asset includes a file_id andblob_hash, and the inpainted audio is added to the authenticated account’s Soundverse Library. Enterprise API outputs are hidden from public/profile surfaces by default.
For API-only download, call GET /v1/files/{file_id}/download 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. The assets[].url value is a private storage locator, not a public audio URL.
Pricing
$1.00 USD per inpainting request. The price is flat across all license tiers.
| Version | Price |
|---|---|
| v5 | $1.00 |
USD flat price per song, regardless of license tier.