{
"uploadUrlList": [
"https://example.com/audio1.mp3",
"https://example.com/audio2.mp3"
],
"lyrics": "[Verse] Night city lights shining bright",
"style": "Electronic Dance Music",
"title": "Mashup Work",
"variety": 1,
"model": "V6",
"callBackUrl": "https://example.com/callback",
"vocalGender": "m",
"styleWeight": 0.65,
"weirdnessConstraint": 0.72,
"audioWeight": 0.65
}
{
"code": 200,
"msg": "success",
"data": {
"taskId": "5c79****be8e"
}
}Generate Mashup
Mix two audio files to generate a new mashup work using AI models.
{
"uploadUrlList": [
"https://example.com/audio1.mp3",
"https://example.com/audio2.mp3"
],
"lyrics": "[Verse] Night city lights shining bright",
"style": "Electronic Dance Music",
"title": "Mashup Work",
"variety": 1,
"model": "V6",
"callBackUrl": "https://example.com/callback",
"vocalGender": "m",
"styleWeight": 0.65,
"weirdnessConstraint": 0.72,
"audioWeight": 0.65
}
{
"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.
Usage Guide
- This endpoint always runs in custom mode. Simple mode is not available.
- This endpoint creates mashup music from 2 uploaded audio files (the upstream uses only the first 2)
- Combines elements from multiple tracks into a cohesive new composition
Parameter Details
- Required:
uploadUrlList,model,callBackUrl uploadUrlListmust contain 2 audio file URLs- model (string, required):
V6,V6_WILD,V6_MINI. Deprecated:V4,V4_5,V4_5PLUS,V4_5ALL,V5,V5_5. promptis lyrics. Optional. Iflyricsis also provided,lyricstakes priority andpromptis not used as lyrics.- Character limits:
- V4, V4_5, V4_5PLUS, V4_5ALL, V5 & V5_5 (Deprecated):
prompt3000–5000 characters andstyle200–1000 characters according to the legacy model. - V6, V6_WILD & V6_MINI:
lyrics/prompt5000 characters,style1000 characters,title80 characters
- V4, V4_5, V4_5PLUS, V4_5ALL, V5 & V5_5 (Deprecated):
Optional parameters
- lyrics (string): Lyrics content. Optional. V6 series maximum 5000 characters. Takes priority over
promptas lyrics. - prompt (string): Lyrics content. Optional. Used as lyrics when
lyricsis not provided. V6 series maximum 5000 characters. - style (string): Music style. Optional. V6 series maximum 1000 characters.
- title (string): Track title. Optional. Maximum 80 characters.
- vocalGender (string): Preferred vocal gender. Allowed values:
m(male),f(female) - 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 (number): Diversity of generated results. Integer from 0–4, default 1.
0off,1normal (default),2high,3extra,4max. - duration (number): Audio duration in seconds. Range 10–360. Valid for
V5_5,V6,V6_WILD, andV6_MINI. - personaId (string): Persona ID or Suno Voice
voiceId. If you use a Voice-generated ID, setpersonaModeltovoice_persona. - personaModel (string): Persona type. Use
style_personafor Generate Persona IDs, orvoice_personafor Suno Voice IDs. Defaultstyle_persona.
{
"uploadUrlList": [
"https://example.com/audio1.mp3",
"https://example.com/audio2.mp3"
],
"lyrics": "[Verse] Night city lights shining bright",
"style": "Electronic Dance Music",
"title": "Mashup Work",
"variety": 1,
"model": "V6",
"callBackUrl": "https://example.com/callback",
"vocalGender": "m",
"styleWeight": 0.65,
"weirdnessConstraint": 0.72,
"audioWeight": 0.65
}
Developer Notes
- Generated files are retained for 14 days
- Callback process has three stages:
text(text generation),first(first track complete),complete(all tracks complete) - The two audio files in
uploadUrlListmust be valid and accessible URLs - Audio files should be in supported formats (MP3, WAV, etc.)
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
Array of audio file URLs to mashup. Required. Pass 2 audio URLs (the upstream uses only the first 2). Each URL must be publicly accessible.
2 elements[
"https://example.com/audio1.mp3",
"https://example.com/audio2.mp3"
]
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 music generation task completion updates. Required for all music generation requests.
- System will POST task status and results to this URL when generation completes
- Callback process has three stages:
text(text generation),first(first track complete),complete(all tracks complete) - Note: Some cases may skip
textandfirststages and returncompletedirectly - Your callback endpoint should accept POST requests with JSON payload containing task results and audio URLs
- For detailed callback format and implementation guide, see Music Generation Callbacks
- Alternatively, use the Get Music Details endpoint to poll task status
"https://example.com/callback"
Lyrics content. Optional. Used as lyrics when lyrics is not provided. If lyrics is also provided, lyrics takes priority and this field is not used as lyrics.
- 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] Night city lights shining bright"
Lyrics for the generated audio. Optional. For V6, V6_MINI, and V6_WILD: maximum 5000 characters. Takes priority over prompt as lyrics. If omitted, prompt is used as lyrics.
"[Verse] Night city lights shining bright"
Music style, e.g. Jazz, Classical, or Electronic. Optional. For V6, V6_WILD, and V6_MINI: maximum 1000 characters.
- V4 (Deprecated): Maximum 200 characters
- V4_5, V4_5PLUS, V4_5ALL, V5, V5_5 (Deprecated): Maximum 1000 characters
"Jazz"
Music title. Optional. Maximum 80 characters.
80"Relaxing Piano"
Vocal gender preference for the singing voice. Optional. Use m for male and f for female. In practice, this only increases probability and cannot guarantee male/female voice instructions are followed.
m, f "m"
Style adherence weight. Optional. Range 0–1, up to 2 decimal places.
0 <= x <= 1Must be a multiple of 0.010.65
Creativity/novelty constraint. Optional. Range 0–1, up to 2 decimal places.
0 <= x <= 1Must be a multiple of 0.010.65
Relative weight of audio consistency versus other controls. Optional. Range 0–1, up to 2 decimal places.
0 <= x <= 1Must be a multiple of 0.010.65
Controls the diversity and stylistic variation of generated results. Optional. Integer from 0–4, default 1.
0: off (exact style) — fully off, strictly the same style1: normal (balanced variety) — default, balances stability and diversity2: high (distinct styles) — produces results with clearly different styles3: extra (bold exploration) — higher variation, encourages bold exploration of different styles4: max (unreasonably varied) — maximum diversity; results may differ in style very significantly
0 <= x <= 4Must be a multiple of 11
Persona ID or Voice ID to apply to the generated music. Optional. When using a Voice-generated ID, set personaModel to voice_persona.
"persona_123"
Persona model type. Optional. style_persona (default) for Generate Persona IDs; voice_persona when personaId is a Suno Voice voiceId. Default style_persona.
style_persona, voice_persona "style_persona"
Duration in seconds. Optional. Range 10–360. Only valid when the model is V5_5 (Deprecated), V6, V6_WILD, or V6_MINI.
10 <= x <= 36020
Callbacks
POST{request.body#/callBackUrl}audioGenerated
Body
Response
Callback received successfully
Response status code
- 200: Success - Request has been processed successfully
- 400: Validation Error - Lyrics contained copyrighted material.
- 408: Rate Limited - Timeout.
- 413: Conflict - Uploaded audio matches existing work of art.
- 500: Server Error - An unexpected error occurred while processing the request
- 501: Audio generation failed.
- 531: Server Error - Sorry, the generation failed due to an issue. Your credits have been refunded. Please try again.
200, 400, 408, 413, 500, 501, 531 Error message when code != 200
"success"
Response
Request successful
Response Status Codes
- 200: Success - Request has been processed successfully
- 401: Unauthorized - Authentication credentials are missing or invalid
- 402: Insufficient Credits - Account does not have enough credits to perform the operation
- 404: Not Found - The requested resource or endpoint does not exist
- 409: Conflict - WAV record already exists
- 422: Validation Error - The request parameters failed validation checks
- 429: Rate Limited - Request limit has been exceeded for this resource
- 451: Unauthorized - Failed to fetch the image. Kindly verify any access limits set by you or your service provider
- 455: Service Unavailable - System is currently undergoing maintenance
- 500: Server Error - An unexpected error occurred while processing the request
200, 401, 402, 404, 409, 422, 429, 451, 455, 500 Error message when code != 200
"success"
Show child attributes
Show child attributes
