Add instrumental API

Updated 2026-09-18 · Suno-API team

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

NextAdd vocal 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