{
"instrumental": false,
"audioId": "e231****-****-****-****-****8cadc7dc",
"taskId": "5c79****be8e",
"lyrics": "[Chorus] Brighter lights, we keep going on",
"prompt": "[Verse] City hums under neon rain",
"style": "Indie Pop",
"title": "Evening Sky (Extended)",
"continueAt": 60,
"model": "V6",
"callBackUrl": "https://example.com/callback",
"vocalGender": "m",
"styleWeight": 0.61,
"weirdnessConstraint": 0.72,
"audioWeight": 0.65,
"variety": 1
}
{
"code": 200,
"msg": "success",
"data": {
"taskId": "5c79****be8e"
}
}Extend Music
Extend or modify existing music tracks.
{
"instrumental": false,
"audioId": "e231****-****-****-****-****8cadc7dc",
"taskId": "5c79****be8e",
"lyrics": "[Chorus] Brighter lights, we keep going on",
"prompt": "[Verse] City hums under neon rain",
"style": "Indie Pop",
"title": "Evening Sky (Extended)",
"continueAt": 60,
"model": "V6",
"callBackUrl": "https://example.com/callback",
"vocalGender": "m",
"styleWeight": 0.61,
"weirdnessConstraint": 0.72,
"audioWeight": 0.65,
"variety": 1
}
{
"code": 200,
"msg": "success",
"data": {
"taskId": "5c79****be8e"
}
}Model Versions
- Current models:
V6(default),V6_WILD,V6_MINI - Deprecated models:
V5_5,V5,V4_5PLUS,V4_5ALL,V4_5,V4 - Deprecated values remain available only for backward compatibility. New integrations should use a V6-series model.
Parameter Usage Guide
- This endpoint always uses custom parameters. Simple mode is not available.
- Source audio (
audioId) is enough to generate.lyrics,prompt,style, andtitleare optional. - model (string, required):
V6,V6_WILD,V6_MINI. Deprecated:V4_5ALL,V4,V4_5,V4_5PLUS,V5,V5_5. instrumental(boolean, optional) determines whether to extend the track as instrumental music and defaults tofalse.- If
instrumentalisfalseor omitted: uselyricsas the lyrics when provided; otherwise useprompt. Both are optional. - If
instrumentalistrue: do not provideprompt,lyrics, orvocalGender
- If
promptis optional and is treated as lyrics. Whenlyricsis also provided,lyricstakes priority andpromptis not used as lyrics.lyricsis optional. It takes priority overpromptas the lyrics. Iflyricsis omitted,promptis used as the lyrics.continueAt: the time point in seconds from which to start extending (must be greater than 0 and less than the source audio duration). Required.taskIdis optional and can be provided to identify the original generation task- Character limits by model:
- V4 (Deprecated):
promptmax 3000,stylemax 200,titlemax 80 - V4_5ALL (Deprecated):
promptmax 5000,stylemax 1000,titlemax 80 - V4_5, V4_5PLUS, V5, V5_5 (Deprecated):
promptmax 5000,stylemax 1000,titlemax 100 - V6, V6_WILD & V6_MINI:
promptandlyricsmax 5000,stylemax 1000,titlemax 100
- V4 (Deprecated):
Optional parameters
- lyrics (string): Lyrics for the extension. Optional. Takes priority over
prompt. If omitted,promptis used as the lyrics. For V6, V6_WILD, and V6_MINI: maximum 5000 characters. - taskId (string): Unique identifier of the original music generation task that produced the source audio. Can be a taskId returned from Generate Music or a previous Extend Music request.
- instrumental (boolean): Whether to extend the track as instrumental music. Defaults to
false. Whentrue,prompt,lyrics, andvocalGendermust not be provided. - vocalGender (string): Preferred vocal gender. Allowed values:
m(male),f(female). Must not be provided wheninstrumentalistrue. - styleWeight (number): Style adherence weight in range 0–1 (recommended two decimals)
- weirdnessConstraint (number): Creativity/novelty constraint in range 0–1 (recommended two decimals)
- audioWeight (number): Relative weight of audio consistency in range 0–1 (recommended two decimals)
- variety (integer): Diversity of generated results. Integer from 0–4, default 1.
0off,1normal (default),2high,3extra,4max. - personaId (string): Persona ID or Suno Voice
voiceIdto apply to the generated music. If you use a Voice-generated ID, setpersonaModeltovoice_persona. - personaModel (string): Persona type. Use
style_personafor Generate Persona IDs, orvoice_personafor Suno Voice IDs.
{
"instrumental": false,
"audioId": "e231****-****-****-****-****8cadc7dc",
"taskId": "5c79****be8e",
"lyrics": "[Chorus] Brighter lights, we keep going on",
"prompt": "[Verse] City hums under neon rain",
"style": "Indie Pop",
"title": "Evening Sky (Extended)",
"continueAt": 60,
"model": "V6",
"callBackUrl": "https://example.com/callback",
"vocalGender": "m",
"styleWeight": 0.61,
"weirdnessConstraint": 0.72,
"audioWeight": 0.65,
"variety": 1
}
Developer Notes
- Generated files are retained for 15 days
- Model version must be consistent with the source music
- This feature is ideal for creating longer compositions by extending existing tracks
Authorizations
🔑 API Authentication
All endpoints require authentication using Bearer Token.
Get API Key
- Visit the API Key Management Page to obtain your API Key
Usage
Add to request headers:
Authorization: Bearer YOUR_API_KEY
⚠️ Note:
- Keep your API Key secure and do not share it with others
- If you suspect your API Key has been compromised, reset it immediately from the management page
Body
Audio ID of the track to extend. Required. This is the source track that will be continued. Providing this source audio is enough to generate; lyrics, prompt, style, and title are optional.
"e231****-****-****-****-****8cadc7dc"
The time point (in seconds) from which to start extending the music.
- Required.
- Value range: greater than 0 and less than the total duration of the generated audio.
- Specifies the position in the original track where the extension should begin.
60
AI model version. Default: V6.
V6: Current standard model and recommended default.V6_WILD: Current model for more experimental and creative results.V6_MINI: Current lightweight model.- Deprecated:
V5_5,V5,V4_5PLUS,V4_5ALL,V4_5, andV4. These values remain listed only for backward compatibility; use a V6-series model for new integrations.
V6, V6_WILD, V6_MINI, V5_5, V5, V4_5PLUS, V4_5ALL, V4_5, V4 "V6"
The URL to receive task completion notifications when music extension is complete.
- For detailed callback format and implementation guide, see Music Extension Callbacks
- Alternatively, you can use the Get Music Generation Details interface to poll task status
"https://api.example.com/callback"
Whether the extended music should be instrumental (without vocals). This endpoint always uses custom parameters. Optional. Defaults to false.
- If
true: generate instrumental music.prompt,lyrics, andvocalGendermust not be provided. - If
false: uselyricsas the lyrics when provided; otherwise useprompt. Both are optional.
styleandtitleare optional in either case.
false
Unique identifier of the original music generation task that produced the source audio. Optional. Can be a taskId returned from Generate Music (/api/v1/generate) or a previous Extend Music (/api/v1/generate/extend) request.
"5c79****be8e"
Lyrics for the extension. Optional. When provided, it is used as lyrics. If lyrics is also provided, lyrics takes priority and prompt is not used as lyrics. Must not be provided when instrumental is true. Character limits by model:
- V4 (Deprecated): Maximum 3000 characters
- V4_5, V4_5PLUS, V4_5ALL, V5 & V5_5 (Deprecated): Maximum 5000 characters
- V6, V6_WILD & V6_MINI: Maximum 5000 characters
"[Verse] City hums under neon rain"
Lyrics for the extension. Optional. Takes priority over prompt as the lyrics. If lyrics is omitted, prompt is used as the lyrics. Must not be provided when instrumental is true.
- V6, V6_WILD & V6_MINI: Maximum 5000 characters
"[Chorus] Brighter lights, we keep going on"
Music style, e.g., Jazz, Classical, Electronic. Optional. Source audio (audioId) alone is enough to generate. Character limits by model:
- V4 (Deprecated): Maximum 200 characters
- V4_5, V4_5PLUS, V5, V5_5 & V4_5ALL (Deprecated): Maximum 1000 characters
- V6, V6_WILD & V6_MINI: Maximum 1000 characters
"Classical"
Music title. Optional. Character limits by model:
- V4 & V4_5ALL (Deprecated): Maximum 80 characters
- V4_5, V4_5PLUS, V5 & V5_5 (Deprecated): Maximum 100 characters
- V6, V6_WILD & V6_MINI: Maximum 100 characters
"Peaceful Piano Extended"
Persona ID to apply to the generated music. Optional. You can use either:
- A Persona ID generated by the Generate Persona endpoint. Use
personaModel: style_personaor omitpersonaModelto use the default. - A
voiceIdgenerated by the Suno Voice workflow. When using a voice-generated ID, you must setpersonaModel: voice_persona.
"persona_123"
Persona model type to apply when using personaId. Optional.
style_persona(default): Use this for Persona IDs generated by the Generate Persona endpoint.voice_persona: Required whenpersonaIdis avoiceIdgenerated by Suno Voice. This option is only available with V5 (Deprecated), V5_5 (Deprecated), V6, V6_WILD, and V6_MINI models.
style_persona, voice_persona "style_persona"
Music styles to exclude from generation
"Relaxing Piano"
Preferred vocal gender. Optional. Allowed values: 'm' (male), 'f' (female). Must not be provided when instrumental is true.
m, f "m"
Style adherence weight. Optional. Range: 0-1. Two decimal places recommended.
0 <= x <= 1Must be a multiple of 0.010.65
Creativity/novelty constraint. Optional. Range: 0-1. Two decimal places recommended.
0 <= x <= 1Must be a multiple of 0.010.65
Relative weight of audio consistency versus other controls. Optional. Range: 0-1. Two decimal places recommended.
0 <= x <= 1Must be a multiple of 0.010.65
Diversity of generated results. Optional. Integer from 0 to 4. Default: 1.
0: off — variety off, strictly the same style1: normal — default, balances stability and diversity2: high — results with clearly different styles3: extra — higher variation, bolder exploration4: max — maximum variation
0 <= x <= 4Must be a multiple of 11
Callbacks
Response
Request successful
Status Codes
- ✅ 200 - Request successful
- ⚠️ 400 - Invalid parameters
- ⚠️ 401 - Unauthorized access
- ⚠️ 404 - Invalid request method or path
- ⚠️ 405 - Rate limit exceeded
- ⚠️ 413 - Theme or prompt too long
- ⚠️ 429 - Insufficient credits
- ⚠️ 430 - Your call frequency is too high. Please try again later.
- ⚠️ 455 - System maintenance
- ❌ 500 - Server error
200, 400, 401, 404, 405, 413, 429, 430, 455, 500 200
Error message when code != 200
"success"
Show child attributes
Show child attributes
