| task_type | Description | Credits | Required Parameters |
|---|---|---|---|
create_music | Create new music from scratch | 10 | custom_mode, mv |
extend_music | Extend an existing song from a timestamp | 10 | continue_clip_id, continue_at, custom_mode, mv |
cover_music | Create a cover version with style transformation | 10 | continue_clip_id, custom_mode, mv |
concat_music | Concatenate/merge songs together | 2 | continue_clip_id only |
persona_music | Generate music with a virtual singer's voice | 10 | persona_id, custom_mode, mv |
extend_upload_music | Extend your own uploaded music | 10 | continue_clip_id, continue_at, custom_mode, mv |
cover_upload_music | Cover your own uploaded music | 10 | continue_clip_id, custom_mode, mv |
Important: When extending or covering your own uploaded music (via the upload endpoint), you must use extend_upload_musicorcover_upload_musictask types instead ofextend_musicorcover_music.
custom_mode: true){
"custom_mode": true,
"mv": "sonic-v4-5",
"title": "Starry Night",
"tags": "pop, dreamy",
"prompt": "[Verse]\nStars they shine above me\nMoonlight softly glows\n\n[Chorus]\nStarry night, starry night\nLet your light ignite"
}[Verse] - Main verses[Chorus] - Repeated chorus sections[Pre-Chorus] - Build-up before chorus[Bridge] - Contrasting middle section[Outro] - Ending section[Intro] - Opening section[Hook] - Catchy repeated phrase[Break] - Instrumental breakprompt:| Model Version | Max Characters |
|---|---|
| sonic-v3-5, sonic-v4 | 3,000 |
| sonic-v4-5, sonic-v4-5-plus, sonic-v5,sonic-v5-5 | 5,000 |
custom_mode: false){
"custom_mode": false,
"mv": "sonic-v4-5",
"gpt_description_prompt": "An upbeat summer pop song about road trips and freedom, with catchy hooks and positive energy"
}gpt_description_prompt max 400 characters.auto_lyrics: true)custom_mode: true.{
"custom_mode": true,
"auto_lyrics": true,
"mv": "sonic-v4-5",
"prompt":"pop song",
"title": "Midnight Dreams",
"tags": "r&b, smooth, romantic"
}Model availability — updated 2026-09-09. Suno shipped v6 and, the same
day, withdrew v3.5, v4, v4.5, v4.5-plus, v5 and v5.5 from its own platform.
All three v6 models are selectable here:chirp-v6,chirp-v6-wildandchirp-v6-mini(thesonic-v6spellings work too).No call of yours needs editing. Every withdrawn identifier is still
accepted, and Suno maps it onto v6 — so a request naming one of them runs v6.⚠️ The credit cost did change. A generation is now 14 credits on every
model.chirp-v3-5,chirp-v4andchirp-v4-5-allused to cost 10,
because Suno charged less to run them; they no longer select a cheaper model,
so they no longer cost less. See the Credits Usage Guide.
| Model | Description | Vocal Gender Support |
|---|---|---|
chirp-v6 | Latest model | Yes |
chirp-v6-wild | Latest model, experimental output | Yes |
chirp-v6-mini | Latest model, smaller and faster | Yes |
chirp-v5-5 | Withdrawn by Suno; served by v6 | Yes |
chirp-v5 | Withdrawn by Suno; served by v6 | Yes |
chirp-v4-5-plus | Withdrawn by Suno; served by v6 | Yes |
chirp-v4-5 | Withdrawn by Suno; served by v6 | Yes |
chirp-v4-5-all | Withdrawn by Suno; served by v6 | Yes |
chirp-v4 | Withdrawn by Suno; served by v6 | No |
chirp-v3-5 | Withdrawn by Suno; served by v6 | No |
sonic-v4-5, sonic-v4-5-plus, and sonic-v5,sonic-v5-5.| Value | Description |
|---|---|
f | Female vocal |
m | Male vocal |
{
"custom_mode": true,
"mv": "sonic-v4-5",
"vocal_gender": "f",
"prompt": "...",
"tags": "pop, female vocal"
}{
"custom_mode": false,
"mv": "sonic-v4-5",
"make_instrumental": true,
"gpt_description_prompt": "A peaceful piano melody with soft strings"
}| Parameter | Range | Description |
|---|---|---|
style_weight | 0 - 1 | How strongly style tags influence output. Higher = stronger adherence to tags. |
weirdness_constraint | 0 - 1 | Creativity/randomness level. Higher = more experimental/unusual output. |
{
"custom_mode": true,
"mv": "sonic-v4-5",
"style_weight": 0.8,
"weirdness_constraint": 0.3,
"tags": "electronic, synthwave",
"negative_tags": "acoustic, folk",
"prompt": "..."
}{
"tags": "pop, modern",
"negative_tags": "country, folk, acoustic, slow"
}cover_music task type only. Controls how much the original audio influences the cover.| Value | Effect |
|---|---|
| 0 | Minimal original influence, maximum creative freedom |
| 0.5 | Balanced mix |
| 1 | Maximum original influence, closer to source |
{
"task_type": "cover_music",
"continue_clip_id": "original-clip-id",
"audio_weight": 0.6,
"tags": "jazz, smooth",
"custom_mode": true,
"mv": "sonic-v4-5",
"prompt": "..."
}duration)| Field | Range | Notes |
|---|---|---|
duration | 10 - 360 | Integer seconds. Works in both custom mode and AI description mode. |
create_music, persona_music, extend_music, cover_music,extend_upload_music and cover_upload_music, plus the /upload-cover and/upload-extend endpoints. Sending it with any other task type returns a{
"task_type": "create_music",
"custom_mode": false,
"mv": "sonic-v5",
"gpt_description_prompt": "upbeat lo-fi study beat",
"duration": 90
}tags| Model Version | Max Characters |
|---|---|
| sonic-v3-5, sonic-v4 | 200 |
| sonic-v4-5, sonic-v4-5-plus, sonic-v5,sonic-v5-5 | 1,000 |
{
"custom_mode": true,
"mv": "sonic-v4-5",
"prompt": "...",
"webhook_url": "https://your-server.com/webhook",
"webhook_secret": "your-secret-key"
}webhook_secret for verification.| State | Description |
|---|---|
pending | Task is queued |
running | Task is processing |
succeeded | Task completed successfully |
failed | Task failed |
| Endpoint | Description |
|---|---|
| upload-extend-music | One-stop API: upload + extend in single request |
| upload-cover-music | One-stop API: upload + cover in single request |
| create-persona | Create virtual singer from existing song |
| get-music | Poll task results |
| upload-music | Upload audio file to get clip_id |
| get-bpm | Get BPM information of a song |
| get-vox | Extract vocals from a song |
| Error | Cause | Solution |
|---|---|---|
mv field is invalid | Invalid model version | Use one of: sonic-v3-5, sonic-v4, sonic-v4-5, sonic-v4-5-plus, sonic-v5 |
prompt length exceeded | Lyrics too long | Reduce to 3000 (v4-) or 5000 (v4.5+) characters |
gpt_description_prompt length exceeded | Description too long | Reduce to 400 characters |
tags length exceeded | Tags too long | Reduce to 200 (v4-) or 1000 (v4.5+) characters |
continue_clip_id is required | Missing source clip | Provide clip_id for extend/cover/concat tasks |
persona_id is required | Missing persona | Provide persona_id for persona_music task |
audio_weight should be 0-1 | Invalid audio weight | Use value between 0 and 1 |
The duration should be an integer number of seconds. | Non-integer duration | Send a whole number, e.g. 90, not "90" or 90.5 |
The duration should be between 10 and 360 seconds. | Duration out of range | Use a value from 10 to 360 |