Audio models
Suno
On this page
- Operations
- Generate Music — suno
- Generate Voice — suno-generate-voice
- Extend Music — suno-extend
- Generate Sounds — suno-sounds
- TimeStamped Lyrics — suno-timestamped-lyrics
- Check Voice — suno-check-voice
- Generate Persona — suno-generate-persona
- Replace Section — suno-replace-section
- Generate Lyrics — suno-generate-lyrics
- Boost Music Style — suno-boost-music-style
- Cover Generate — suno-cover-generate
- Add Vocals — suno-add-vocals
- Separate Vocals — suno-separate-vocals
- Generate Midi From Audio — suno-generate-midi
- Mashup — suno-mashup
- Create Music Video — suno-create-music-video
- Upload And Extend Audio — suno-upload-extend
- Upload And Cover Audio — suno-upload-cover
- Add Instrumental — suno-add-instrumental
- Convert To WAV Format — suno-wav
Full songs with vocals from a text prompt.
| modelId | suno, suno-generate-voice, suno-extend, suno-sounds, suno-timestamped-lyrics, suno-check-voice, suno-generate-persona, suno-replace-section, suno-generate-lyrics, suno-boost-music-style, suno-cover-generate, suno-add-vocals, suno-separate-vocals, suno-generate-midi, suno-mashup, suno-create-music-video, suno-upload-extend, suno-upload-cover, suno-add-instrumental, suno-wav |
| Modality | music |
| Pricing | See this model on the Pricing page for the current per-call price (with your markup). |
Operations
| Operation | modelId | Endpoint | Required input |
|---|---|---|---|
| Generate Music | suno | POST /api/v1/generate | modelVersion, title |
| Generate Voice | suno-generate-voice | POST /api/v1/generate | taskId, verifyUrl |
| Extend Music | suno-extend | POST /api/v1/generate | audioId, modelVersion, continueAt, prompt |
| Generate Sounds | suno-sounds | POST /api/v1/generate | prompt, modelVersion, soundKey |
| TimeStamped Lyrics | suno-timestamped-lyrics | POST /api/v1/generate | taskId, audioId |
| Check Voice | suno-check-voice | POST /api/v1/generate | taskId |
| Generate Persona | suno-generate-persona | POST /api/v1/generate | taskId, audioId, name, description |
| Replace Section | suno-replace-section | POST /api/v1/generate | modelVersion, prompt, tags, title, infillStartS, infillEndS, fullLyrics |
| Generate Lyrics | suno-generate-lyrics | POST /api/v1/generate | prompt |
| Boost Music Style | suno-boost-music-style | POST /api/v1/generate | content |
| Cover Generate | suno-cover-generate | POST /api/v1/generate | taskId |
| Add Vocals | suno-add-vocals | POST /api/v1/generate | uploadUrl, prompt, title, style, negativeTags, modelVersion |
| Separate Vocals | suno-separate-vocals | POST /api/v1/generate | taskId, audioId, type |
| Generate Midi From Audio | suno-generate-midi | POST /api/v1/generate | taskId |
| Mashup | suno-mashup | POST /api/v1/generate | uploadUrlList, modelVersion |
| Create Music Video | suno-create-music-video | POST /api/v1/generate | taskId, audioId |
| Upload And Extend Audio | suno-upload-extend | POST /api/v1/generate | uploadUrl, modelVersion, continueAt, prompt |
| Upload And Cover Audio | suno-upload-cover | POST /api/v1/generate | uploadUrl, modelVersion |
| Add Instrumental | suno-add-instrumental | POST /api/v1/generate | uploadUrl, title, tags, negativeTags, modelVersion |
| Convert To WAV Format | suno-wav | POST /api/v1/generate | taskId, audioId |
| Poll task | — | GET /api/v1/task/{id}?model=suno | — |
Generate Music — suno
| Field | Type | Required | Values / example |
|---|---|---|---|
| modelVersion | string | Yes | Options: V5_5 | V5 | V4_5PLUS | V4_5 | V4_5ALL | V4 (default: V4_5PLUS) |
| customMode | boolean | No | True/false (default: false) |
| duration | number | No | Track length in seconds, 10–360. Only used by V5_5 in Custom Mode. (range 10-360) |
| prompt | string | Conditional | when `customMode` is `false`: Text value Max 500 characters. · when `customMode` is `true` and `modelVersion` is `V5_5`/`V5`/`V4_5PLUS`/`V4_5`/`V4_5ALL`: Used verbatim as the sung lyrics. Required unless Instrumental is on. Max 5000 characters. · when `customMode` is `true` and `modelVersion` is `V4`: Used verbatim as the sung lyrics. V4 allows up to 3,000 characters. Max 3000 characters. |
| title | string | Yes | Text value Max 80 characters. |
| style | string | Conditional | when `customMode` is `true` and `modelVersion` is `V5_5`/`V5`/`V4_5PLUS`/`V4_5`/`V4_5ALL`: Text value Max 1000 characters. · when `customMode` is `true` and `modelVersion` is `V4`: V4 allows up to 200 characters. Max 200 characters. |
| personaId | string | No | From Generate Persona. Requires a V5 or V5_5 model. |
| instrumental | boolean | No | True/false (default: false) |
| audioWeight | number | No | Range 0-1 (default: 0.65) |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| negativeTags | string | No | Text value |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno","input":{"modelVersion":"V4_5PLUS","customMode":false,"prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel.","instrumental":false,"audioWeight":0.65}}'Generate Voice — suno-generate-voice
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | Task ID of the reference generation |
| verifyUrl | string | Yes | Text value |
| voiceName | string | No | Text value |
| description | string | No | Text value |
| style | string | No | Text value |
| singerSkillLevel | string | No | Options: | beginner | intermediate | advanced | professional |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-generate-voice","input":{"taskId":"example","verifyUrl":"example","voiceName":"example","description":"example","style":"synthwave, energetic, retro","singerSkillLevel":""}}'Extend Music — suno-extend
| Field | Type | Required | Values / example |
|---|---|---|---|
| audioId | string | Yes | Text value |
| modelVersion | string | Yes | Options: V5 | V4_5PLUS | V4_5 | V4 (default: V4_5PLUS) |
| defaultParamFlag | boolean | No | True/false (default: false) |
| continueAt | number | Yes | Must be greater than 0 and less than the source track's length. |
| prompt | string | Yes | Text value Max 5000 characters. |
| style | string | No | Text value Max 1000 characters. |
| title | string | Conditional | when `defaultParamFlag` is `true` and `modelVersion` is `V5`/`V4_5PLUS`/`V4_5`: Text value Max 100 characters. · when `defaultParamFlag` is `true` and `modelVersion` is `V4`: Text value Max 80 characters. |
| negativeTags | string | No | Text value Max 200 characters. |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| audioWeight | number | No | Range 0-1 |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-extend","input":{"audioId":"example","modelVersion":"V4_5PLUS","defaultParamFlag":false,"negativeTags":"example","vocalGender":"","styleWeight":0,"weirdnessConstraint":0,"audioWeight":0}}'Generate Sounds — suno-sounds
| Field | Type | Required | Values / example |
|---|---|---|---|
| prompt | string | Yes | Text value Max 500 characters. |
| modelVersion | string | Yes | Options: V5 | V5_5 (default: V5) |
| soundLoop | boolean | No | True/false (default: false) |
| soundTempo | number | No | Range 1-300 |
| soundKey | string | Yes | Options: Any | Cm | C#m | Dm | D#m | Em | Fm | F#m | Gm | G#m | Am | A#m | Bm | C | C# | D | D# | E | F | F# | G | G# | A | A# | B (default: Any) |
| grabLyrics | boolean | No | True/false (default: false) |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-sounds","input":{"prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel.","modelVersion":"V5","soundLoop":false,"soundTempo":1,"soundKey":"Any","grabLyrics":false}}'TimeStamped Lyrics — suno-timestamped-lyrics
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The source generation's task ID |
| audioId | string | Yes | Text value |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-timestamped-lyrics","input":{"taskId":"example","audioId":"example"}}'Check Voice — suno-check-voice
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The Generate Voice task ID to check |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-check-voice","input":{"taskId":"example"}}'Generate Persona — suno-generate-persona
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The source generation's task ID |
| audioId | string | Yes | Text value |
| name | string | Yes | Text value |
| description | string | Yes | Text value |
| vocalStart | number | No | Start of the vocal sample the Persona is built from. (default: 0) |
| vocalEnd | number | No | End of the vocal sample. Must be after Vocal Start and within the source track. (default: 30) |
| style | string | No | Text value |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-generate-persona","input":{"taskId":"example","audioId":"example","name":"example","description":"example","vocalStart":0,"vocalEnd":30,"style":"synthwave, energetic, retro"}}'Replace Section — suno-replace-section
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | No | Use with Audio ID to target an existing track |
| audioId | string | No | Text value |
| uploadUrl | string | No | Image URL |
| modelVersion | string | Yes | Options: V5 | V4_5PLUS | V4_5 | V4 (default: V4_5PLUS) |
| prompt | string | Yes | Text value |
| tags | string | Yes | Text value Max 1000 characters. |
| title | string | Yes | Text value Max 80 characters. |
| infillStartS | number | Yes | Start of the range to regenerate. |
| infillEndS | number | Yes | End of the range. Must be after Replace Start and within the track. |
| fullLyrics | string | Yes | Text value |
| negativeTags | string | No | Text value Max 200 characters. |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-replace-section","input":{"taskId":"example","audioId":"example","uploadUrl":"https://example.com/input.mp3","modelVersion":"V4_5PLUS","prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel.","tags":"example","title":"Neon Drive","infillStartS":0,"infillEndS":0,"fullLyrics":"example","negativeTags":"example"}}'Generate Lyrics — suno-generate-lyrics
| Field | Type | Required | Values / example |
|---|---|---|---|
| prompt | string | Yes | Text value Max 200 characters. |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-generate-lyrics","input":{"prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel."}}'Boost Music Style — suno-boost-music-style
| Field | Type | Required | Values / example |
|---|---|---|---|
| content | string | Yes | Text value |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-boost-music-style","input":{"content":"example"}}'Cover Generate — suno-cover-generate
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The Generate Music task ID to make cover art for |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-cover-generate","input":{"taskId":"example"}}'Add Vocals — suno-add-vocals
| Field | Type | Required | Values / example |
|---|---|---|---|
| uploadUrl | string | Yes | Image URL |
| prompt | string | Yes | Text value |
| title | string | Yes | Text value Max 80 characters. |
| style | string | Yes | Text value Max 1000 characters. |
| negativeTags | string | Yes | Text value Max 200 characters. |
| modelVersion | string | Yes | Options: V4_5PLUS | V5 | V5_5 (default: V4_5PLUS) |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| audioWeight | number | No | Range 0-1 |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-add-vocals","input":{"uploadUrl":"https://example.com/input.mp3","prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel.","title":"Neon Drive","style":"synthwave, energetic, retro","negativeTags":"example","modelVersion":"V4_5PLUS","vocalGender":"","styleWeight":0,"weirdnessConstraint":0,"audioWeight":0}}'Separate Vocals — suno-separate-vocals
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The source generation's task ID |
| audioId | string | Yes | Text value |
| type | string | Yes | Options: separate_vocal | split_stem | split_stem_advanced (default: separate_vocal) |
| stemName | string | No | Options: Lead Vocal | Drum Kit | Kick | Snare | Risers | Bass | Backing Vocals | Piano | Electric Guitar | Percussion | String Section | Synth | Acoustic Guitar | Sound Effects | Synth Pad | Synth Bass | Guitar | Brass Section | Organ | Electronic Drum Kit | Lead Electric Guitar | Synth Keys | Rhythm Electric Guitar | Electric Piano | Upright Bass | Keyboards | Distorted Electric Guitar | Synth Strings | Synth Lead | Woodwinds | Rhythm Acoustic Guitar | Flute | Harp | Tambourine | Trumpet | Arpeggiator | Accordion | Fiddle | Pedal Steel Guitar | Synth Voice | Violin | Digital Piano | Synth Brass | Mandolin | Choir | Banjo | Bells | Clarinet | Tenor Saxophone | Trombone | Shaker | French Horn | Glockenspiel | Electric Bass | Cello | Timpani | Harmonica | Marimba | Vibraphone | Lap Steel Guitar | Saxophone | Orchestra | Horns | Cymbals | Hand Clap | Oboe | Celesta | Congas | Drone | Alto Saxophone | Double Bass | Ukulele | Harpsichord | Baritone Saxophone | Xylophone | Tuba | Bass Guitar | Whistle | Lead Guitar | Rhodes | 808 | Bongos | Bassoon | Cowbell | Viola | Sitar | Steel Drums | Piccolo | Theremin | Bagpipes | Hi-Hat | Music Box | Melodica | Tabla | Koto | Djembe | Taiko | Didgeridoo |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-separate-vocals","input":{"taskId":"example","audioId":"example","type":"separate_vocal"}}'Generate Midi From Audio — suno-generate-midi
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | Task ID from a completed Separate Vocals task |
| audioId | string | No | Which separated track; omit for all |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-generate-midi","input":{"taskId":"example","audioId":"example"}}'Mashup — suno-mashup
| Field | Type | Required | Values / example |
|---|---|---|---|
| uploadUrlList | string[] | Yes | Image URL |
| customMode | boolean | No | True/false (default: false) |
| modelVersion | string | Yes | Options: V5 | V4_5PLUS | V4_5 | V4 (default: V4_5PLUS) |
| prompt | string | Conditional | when `customMode` is `false`: Text value Max 500 characters. · when `customMode` is `true` and `modelVersion` is `V5`/`V4_5PLUS`/`V4_5`: Used verbatim as the sung lyrics. Required unless Instrumental is on. Max 5000 characters. · when `customMode` is `true` and `modelVersion` is `V4`: Used verbatim as the sung lyrics. V4 allows up to 3,000 characters. Max 3000 characters. |
| style | string | Conditional | when `customMode` is `true` and `modelVersion` is `V5`/`V4_5PLUS`/`V4_5`: Text value Max 1000 characters. · when `customMode` is `true` and `modelVersion` is `V4`: V4 allows up to 200 characters. Max 200 characters. |
| title | string | No | Text value Max 80 characters. |
| instrumental | boolean | No | True/false (default: false) |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| audioWeight | number | No | Range 0-1 |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-mashup","input":{"uploadUrlList":["https://example.com/input.mp3"],"customMode":false,"modelVersion":"V4_5PLUS","prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel.","instrumental":false,"vocalGender":"","styleWeight":0,"weirdnessConstraint":0,"audioWeight":0}}'Create Music Video — suno-create-music-video
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The source generation's task ID |
| audioId | string | Yes | Text value |
| author | string | No | Text value Max 50 characters. |
| domainName | string | No | Text value Max 50 characters. |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-create-music-video","input":{"taskId":"example","audioId":"example","author":"example","domainName":"example"}}'Upload And Extend Audio — suno-upload-extend
| Field | Type | Required | Values / example |
|---|---|---|---|
| uploadUrl | string | Yes | Image URL |
| modelVersion | string | Yes | Options: V5 | V4_5PLUS | V4_5 | V4 (default: V4_5PLUS) |
| defaultParamFlag | boolean | No | True/false (default: false) |
| instrumental | boolean | No | True/false (default: false) |
| continueAt | number | Yes | Text value |
| prompt | string | Yes | Text value Max 5000 characters. |
| style | string | No | Text value Max 1000 characters. |
| title | string | Conditional | when `defaultParamFlag` is `true` and `modelVersion` is `V5`/`V4_5PLUS`/`V4_5`: Text value Max 100 characters. · when `defaultParamFlag` is `true` and `modelVersion` is `V4`: Text value Max 80 characters. |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| audioWeight | number | No | Range 0-1 |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-upload-extend","input":{"uploadUrl":"https://example.com/input.mp3","modelVersion":"V4_5PLUS","defaultParamFlag":false,"instrumental":false,"vocalGender":"","styleWeight":0,"weirdnessConstraint":0,"audioWeight":0}}'Upload And Cover Audio — suno-upload-cover
| Field | Type | Required | Values / example |
|---|---|---|---|
| uploadUrl | string | Yes | Image URL |
| customMode | boolean | No | True/false (default: false) |
| instrumental | boolean | No | True/false (default: false) |
| modelVersion | string | Yes | Options: V5 | V4_5PLUS | V4_5 | V4 (default: V4_5PLUS) |
| prompt | string | Conditional | when `customMode` is `false`: Text value Max 500 characters. · when `customMode` is `true` and `modelVersion` is `V5`/`V4_5PLUS`/`V4_5`: Used verbatim as the sung lyrics. Required unless Instrumental is on. Max 5000 characters. · when `customMode` is `true` and `modelVersion` is `V4`: Used verbatim as the sung lyrics. V4 allows up to 3,000 characters. Max 3000 characters. |
| style | string | Conditional | when `customMode` is `true` and `modelVersion` is `V5`/`V4_5PLUS`/`V4_5`: Text value Max 1000 characters. · when `customMode` is `true` and `modelVersion` is `V4`: V4 allows up to 200 characters. Max 200 characters. |
| title | string | No | Text value Max 80 characters. |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| audioWeight | number | No | Range 0-1 |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-upload-cover","input":{"uploadUrl":"https://example.com/input.mp3","customMode":false,"instrumental":false,"modelVersion":"V4_5PLUS","prompt":"An upbeat synthwave track with driving bass, bright arpeggios and a nostalgic 80s feel.","vocalGender":"","styleWeight":0,"weirdnessConstraint":0,"audioWeight":0}}'Add Instrumental — suno-add-instrumental
| Field | Type | Required | Values / example |
|---|---|---|---|
| uploadUrl | string | Yes | Image URL |
| title | string | Yes | Text value Max 80 characters. |
| tags | string | Yes | Text value Max 1000 characters. |
| negativeTags | string | Yes | Text value Max 200 characters. |
| modelVersion | string | Yes | Options: V4_5PLUS | V5 | V5_5 (default: V4_5PLUS) |
| vocalGender | string | No | Options: | m | f |
| styleWeight | number | No | Range 0-1 |
| weirdnessConstraint | number | No | Range 0-1 |
| audioWeight | number | No | Range 0-1 |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-add-instrumental","input":{"uploadUrl":"https://example.com/input.mp3","title":"Neon Drive","tags":"example","negativeTags":"example","modelVersion":"V4_5PLUS","vocalGender":"","styleWeight":0,"weirdnessConstraint":0,"audioWeight":0}}'Convert To WAV Format — suno-wav
| Field | Type | Required | Values / example |
|---|---|---|---|
| taskId | string | Yes | The source generation's task ID |
| audioId | string | Yes | Text value |
bash
curl -X POST https://you.bot/api/v1/generate \
-H "Authorization: Bearer $YOUBOT_API_KEY" \
-H "Content-Type: application/json" \
-d '{"modelId":"suno-wav","input":{"taskId":"example","audioId":"example"}}'