Extend API

Updated 2026-09-18 · Suno-API team

Endpoint description

Extend continues an existing song from a chosen point in time and generates the following passage.

Endpoint: POST /api/music/extend

Billing: Paid, currently 0.6 ¥ per call by default. The amount actually charged follows the current 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 (0.6 → 1.2 ¥ per call); variety costs nothing extra. What they mean and how to send them is in the "Advanced parameters" section of the New API overview.

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.

Request parameters

Headers

Parameter Type Required Notes
Authorization string yes Bearer YOUR_API_KEY
Content-Type string yes application/json

Body parameters

Parameter Type Required Default Notes
model string no suno-v6 Customer-facing model name: suno-v6, suno-v6-wild or suno-v6-mini
audioId string yes - ID of the song to extend
prompt string yes - Extend description
continueAt number yes - Extend start point, in seconds. It must be greater than 0 and less than the source song's duration; leave at least 10 seconds after the start point, otherwise the result is only those few seconds
style string no - Style tags
negativeTags string no - Negative style tags
title string no - Title
sourceAudioUrl string no - Source audio URL
sourceFileName string no - Source file name
waitAudio boolean no false Whether to wait for the audio to finish

Request example

curl -X POST https://www.suno-api.io/api/music/extend \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v6",
    "audioId": "clip_id",
    "prompt": "continue the chorus with more intensity",
    "continueAt": 60,
    "style": "Mandopop, rock",
    "negativeTags": "noise",
    "title": "Extended version",
    "waitAudio": false
  }'

Response

{
  "code": 200,
  "message": "success",
  "data": {
    "clips": [
      {
        "song_id": "extended_clip_id",
        "song_title": "Extended version",
        "status": "pending"
      }
    ]
  }
}

Compatible fields

The old field names are still accepted:

New field Compatible legacy field
audioId song_id, audio_id
prompt description
continueAt start_time, continue_at
style style_tags, tags
negativeTags negative_tags
waitAudio wait_audio

Notes

NextGet Full Song API (full-length stitching)

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