Suno Music Generation
http
POST /v1/audio/generationsCompatibility endpoint:
http
POST /media/audio/generationsQuery and cancel:
http
GET /v1/audio/generations/{id}
POST /v1/audio/generations/{id}/cancel/media/audio/generations/{id} and /media/audio/generations/{id}/cancel are also supported.
Generate Music
json
{
"model": "suno-music",
"mode": "v5_5",
"generation_type": "music_generation",
"client_request_id": "suno-demo-001",
"custom_mode": false,
"prompt": "uplifting synth pop with bright drums and a confident chorus"
}Custom instrumental:
json
{
"model": "suno-music",
"mode": "v5_5",
"generation_type": "music_generation",
"client_request_id": "suno-instrumental-001",
"custom_mode": true,
"instrumental": true,
"style": "cinematic ambient pop, warm analog synths",
"title": "Soft Horizon"
}Rules:
modecurrently supports onlyv5_5.custom_mode=falserequiresprompt, max 500 characters.custom_mode=truerequiresstyleandtitle.custom_mode=truewithinstrumental=falsealso requiresprompt.- Custom
promptis limited to 5000 characters,styleto 1000 characters, and generationtitleto 80 characters. duration_seconds,persona_id,persona_model, rawaudio_id, rawtask_id, and user callback URLs are not supported.
Create responses use 202 Accepted:
json
{
"code": 0,
"message": "accepted",
"data": {
"id": "task_xxx",
"status": "queued"
}
}Extend Music
Use the platform task_xxx ID as source_generation_id; do not send upstream task IDs.
json
{
"model": "suno-music",
"mode": "v5_5",
"generation_type": "music_extend",
"client_request_id": "suno-extend-001",
"source_generation_id": "task_xxx",
"source_track_index": 0,
"default_param_flag": false
}Custom extension:
json
{
"model": "suno-music",
"mode": "v5_5",
"generation_type": "music_extend",
"client_request_id": "suno-extend-custom-001",
"source_generation_id": "task_xxx",
"source_track_index": 0,
"default_param_flag": true,
"continue_at_seconds": 42.5,
"prompt": "continue with a bigger second chorus and tighter drums",
"style": "cinematic synth pop",
"title": "Soft Horizon Extended"
}Completed Result
json
{
"code": 0,
"message": "success",
"data": {
"id": "task_xxx",
"kind": "audio",
"status": "completed",
"model": "suno-music",
"mode": "v5_5",
"family": "suno",
"generation_type": "music_generation",
"poll_url": "/v1/audio/generations/task_xxx",
"cancel_url": "/v1/audio/generations/task_xxx/cancel",
"result": {
"outputs": ["https://static.example.com/media/suno-output.mp3"],
"tracks": [
{
"index": 0,
"title": "Soft Horizon",
"duration_seconds": 123.4,
"cover_url": "https://example.com/cover.jpg"
}
]
}
}
}Notes:
result.outputscontains playable or downloadable audio URLs.result.trackscontains per-track result metadata such as title, cover, duration, lyrics/prompt, and tags when returned by the upstream provider.