Skip to main content
POST
Source Audio Reference: No additional IDs are needed for tracks based on existing songs. Just pass task_id (the task ID from the previous run of this task) + audio_index (which result track in the data.result.music[] list, 1-based, default is 1).
This endpoint has no version dimension: do not pass version — if passed, it is discarded and does not affect billing.

Authorizations

string
required
All endpoints require authentication using a Bearer TokenGet an API Key:Visit the API Key management page to get your API KeyAdd the following to the request headers when using it:

Body

string
default:"suno"
Audio model. Currently pass suno (defaults to suno if omitted).
string
required
Our task_id of the job that produced the source track. If missing or the source cannot be resolved, a 400 is returned at submission time.
integer
default:"1"
Selects a track from the source task’s data.result.music[] array (1-based; default 1).
string
default:"lead_vocal"
types of tracks to extract. Omitted will use lead_vocal by default. Common values include lead_vocal, backing_vocals, drum_kit, bass, piano, and electric_guitar.
808 must be sent as a string, for example "stem_type": "808".
string
Output audio format: mp3 / m4a / wav.
Get Result: This is an asynchronous task. After submission, you will receive task_id and then poll GET /v1/music/tasks/{task_id} every 3–5 seconds until status becomes completed or failed (while generation is in progress, status may be pending or processing, and progress is an integer from 0 to 100 and is not guaranteed to change at fixed intervals). Once completed, the result contains the separated track URL. In case of failure, data.error.message provides the reason, and the deducted amount will be automatically refunded.

Response

integer
Response status code
array
Returned data array