Add instrumental API
Endpoint description
Add instrumental re-arranges an existing song, adds instruments or generates a new backing structure.
Endpoint: POST /api/music/add-instrumental
Billing: Paid, billed by the requested model; the amount actually charged follows the back-office price configuration.
Max Mode / Variety: this endpoint supports the optional parameters max_mode and variety (0-4). With
max_mode on, this call is billed at 2× the price; variety costs nothing extra. What they mean and how to send
them is in the "Advanced parameters" section of the New API overview.
Recommended model: suno-v6. suno-v6, suno-v6-wild and suno-v6-mini are available.
Wait times and timeouts (important): this is a synchronous endpoint — the order is only accepted and handed to generation when the response arrives. Measured, most requests return in 1-3 seconds, about 10% take longer than 30 seconds, and the longest is about 230 seconds. Set your client timeout to 300 seconds or more; no response does not mean nothing was generated, and do not retry immediately after a timeout (that duplicates the order and charges again). If the connection dropped, confirm later with
GET /api/music/songs. See "Wait times and timeout settings" in the New API overview.
Authentication
| Parameter | Type | Required | Notes |
|---|---|---|---|
| Authorization | string | yes | Bearer YOUR_API_KEY |
| Content-Type | string | yes | application/json |
Request parameters
| Parameter | Type | Required | Default | Notes |
|---|---|---|---|---|
| model | string | yes | - | Customer-facing model name: suno-v6, suno-v6-wild or suno-v6-mini |
| source_clip_id | string | yes | - | The real song_id of the source song; it must be completed and accessible to the current API key |
| lyrics | string | no | - | New lyrics or a creative direction |
| style_tags | string | no | - | Style tags |
| song_title | string | no | - | Title of the result |
| negative_tags | string | no | - | Negative style tags |
| audio_weight | number | no | 1 | Influence weight of the reference audio, from 0.0-1.0; the default 1 means keeping the original song as reference as far as possible |
| duration | integer | no | - | Desired duration in seconds, range 1-480. The platform's practical minimum is about 30 seconds: asking for 10 seconds still measured 29.96 / 29.76 seconds |
| wait_completion | boolean | no | false | Whether to wait a long time before responding; keeping it asynchronous is recommended |
Request example
curl -X POST https://www.suno-api.io/api/music/add-instrumental \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"source_clip_id": "source_song_id",
"lyrics": "",
"style_tags": "cinematic, strings, acoustic guitar",
"song_title": "Enhanced backing version",
"audio_weight": 1,
"wait_completion": false
}'
Response
{
"code": 200,
"message": "success",
"data": {
"clips": [
{
"song_id": "result_song_id",
"song_title": "Enhanced backing version",
"status": "pending"
},
{
"song_id": "result_song_id_2",
"song_title": "Enhanced backing version",
"status": "pending"
}
]
}
}
One call returns 2 results (billed as 2 songs); the example shows 2. Judge by the length of the clips array and do not hard-code a fixed count. Save clips[].song_id and poll the song query API until completed. Once done you can play or download via audio_url; see the WAV generation/retrieval API and the download endpoints.
Notes
source_clip_idmust be a real, completed song ID accessible to the current API key; apending:placeholder ID cannot be used.- Add instrumental is not a cover; for a cover use the cover from a source clip API.
- To add a specific instrument or track to an existing song, use the add stem API.
Get an API key
Create an API key in the console after signing up. ¥0.6 per run returns 2 tracks, downloads are unlimited, and no phone number is required.
Get API key Back to overview