Skip to main content

Versions and features

VersionmvOnline timetitle limittag limitmaximum song duration
v5chirp-crow2025.09.23500010008 minutes
v4.5+chirp-bluejay2025.07.17500010008 minutes
v4.5chirp-auk2025.05.03500010004 minutes
v4chirp-v42024.12.173000200150 seconds
v3.5chirp-v3-5---3000200120 seconds

Suno scene application

1. Inspiration mode

{
"gpt_description_prompt": "Nostalgia"
}

2. Customize lyrics and song titles

{
"prompt": "[Verse]\nContinuous days have been busy\nEndless piles of files\nHiding dreams deep in drawers\nThe coffee cup has become cold\n\n[Verse 2]\nClock in to work at eight o'clock in the morning\nTired eyes are dull\nChatting among colleagues is meaningless\nJust looking forward to the time to run quickly\n\n[Chorus]\nThe shout of the boss at work\nOnly when it is done is it safe\nOnly when you work overtime can you make some money\nWhen will the dream come true\n\n[Verse 3]\nHave a bento during lunch time\nLook out the window and the sun is shining\nLife is so far away from your dreams\nThere are only desks and chairs in front of you\n\n[Bridge]\nThe boss's footsteps are like thunder\nMy heartbeat speeds up\nThere are a lot of files on the table\nThe complaining voice gradually disappears\n\n[Chorus]\nWork, work, boss's cry\nIt is safe when you have done it\nOnly by working overtime can you earn some money\nWhen will your dream come true?",
"mv": "chirp-v3-5",
"title": "work",
"tags": " edm"
}

3. Pure music. Customization

{
"prompt": "",
"tags": "heavy metal",
"mv": "chirp-v3-5",
"title": "Beijing",
"continue_clip_id": null,
"continue_at": null,
"infill_start_s": null,
"infill_end_s": null
}

4.Pure music.Inspiration mode

{
"gpt_description_prompt": "An anthem dance pop song about dancing all night long",
"mv": "chirp-v3-5",
"prompt": "",
"make_instrumental": true
}

5. Continue writing custom audio

A.Upload music

First get it through the upload interfaceclip_idThe value isabcd-1234-1234-1234-abd

B. Extended music. With version information

mv ischirp-v4 chirp-auk chirp-bluejay task isupload_extend
{
"prompt": "lyrics",
"tags": "",
"negative_tags": "",
"mv": "chirp-v4",
"title": "title",
"continue_clip_id": "ca94a97d-d3f2-4a63-aeee-ba3a43384bcd",
"continue_at": 10,
"task": "upload_extend",
"task_id": "xxxxxx"
}

C. Splicing complete music

  • Notice :is_infillforfalse
  • Get the id of a replaced song and obtain the status through the query interface
  • Deduction: cost of one song
curl --request POST \
--url https://BASE_URL/suno/submit/concat \
--header 'Authorization: Bearer API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"clip_id": "xxxxx",
"is_infill": false
}'

6. Continue writing music and get complete music

NOTE: Continuation of officially generated music customization is not available

A. Generate music

You can generate music through scenes 1 2 3 to get the content of one of the songs.clip_idThe value isabcd-1234-1234-1234-abd

B.Extended music

will get 2 new onesclip_idone of themnewid-1234-1234-1234-one
{
"prompt": "[Verse]\nContinuous days have been busy\nEndless piles of files\nHiding dreams deep in drawers\nThe coffee cup has become cold\n\n[Verse 2]\nClock in to work at eight o'clock in the morning\nTired eyes are dull\nChatting among colleagues is meaningless\nJust looking forward to the time to run quickly\n\n[Chorus]\nThe shout of the boss at work\nOnly when it is done is it safe\nOnly when you work overtime can you make some money\nWhen will the dream come true\n\n[Verse 3]\nHave a bento during lunch time\nLook out the window and the sun is shining\nLife is so far away from your dreams\nThere are only desks and chairs in front of you\n\n[Bridge]\nThe boss's footsteps are like thunder\nMy heartbeat speeds up\nThere are a lot of files on the table\nThe complaining voice gradually disappears\n\n[Chorus]\nWork, work, boss's cry\nIt is safe when you have done it\nOnly by working overtime can you earn some money\nWhen will your dream come true?",
"tags": "heavy metal",
"mv": "chirp-v3-5",
"title": "work",
"continue_clip_id": "abcd-1234-1234-1234-abd",
"continue_at": 30,
"task": "extend",
"task_id": "xxxxxx"
}

C. Splicing complete music

Notice :is_infillfortrue Get the id of a replaced song and obtain the status through the query interface
curl --request POST \
--url https://BASE_URL/suno/submit/concat \
--header 'Authorization: Bearer API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"Clip_id": "Change-1234-1234-1234-one",
"is_infill": true
}'

7.Cover music: music copy\modification style

A. Generate music

  • You can generate music through scenes 1 2 3 to get the content of one of the songs.clip_idThe value isabcd-1234-1234-1234-abd
  • You can also get clip_id through the upload interface so that you can cover custom audio

B.Cover Music

  • Noticemvforchirp-v4 chirp-aukorchirp-bluejay
  • taskforcover
  • It can be used across accounts, so you don’t have to worry about your account going offline.
  • cover_clip_idIf it is uploadedclip_idIt is not possible to cross accounts
  • mvno longer usedchirp-v3-5-tau chirp-v4-tau
{
"prompt": "[Verse]\nContinuous days have been busy\nEndless piles of files\nHiding dreams deep in drawers\nThe coffee cup has become cold\n\n[Verse 2]\nClock in to work at eight o'clock in the morning\nTired eyes are dull\nChatting among colleagues is meaningless\nJust looking forward to the time to run quickly\n\n[Chorus]\nThe shout of the boss at work\nOnly when it is done is it safe\nOnly when you work overtime can you make some money\nWhen will the dream come true\n\n[Verse 3]\nHave a bento during lunch time\nLook out the window and the sun is shining\nLife is so far away from your dreams\nThere are only desks and chairs in front of you\n\n[Bridge]\nThe boss's footsteps are like thunder\nMy heartbeat speeds up\nThere are a lot of files on the table\nThe complaining voice gradually disappears\n\n[Chorus]\nWork, work, boss's cry\nIt is safe when you have done it\nOnly by working overtime can you earn some money\nWhen will your dream come true?",
"tags": "rock, punk",
"mv": "chirp-v4-tau",
"title": "Work (Cover)",
"cover_clip_id": "abcd-1234-1234-1234-abd",
"task_id": "xxxxxx",
"task": "cover"
}

8.Replace Section: Replace section

A. Generate music

You can generate music through scenes 1 2 3 to get the content of one of the songs.clip_idThe value isabcd-1234-1234-1234-abd

B.Replace Section

  • taskforinfill
  • Noticemvforchirp-v4 chirp-aukorchirp-bluejay
  • Reminder: The replacement lyrics should have some overlap with the original lyrics, so it is best to match them at the corresponding time.
  • infill_start_sstart time,infill_end_send time,infill_dur_sforinfill_end_s-infill_start_s
  • It can be used across accounts, so you don’t have to worry about your account going offline.
  • will get 2 new onesclip_idChoose onenewid-1234-1234-1234-oneUse for next step
  • mvno longer usedchirp-v3-5-tau chirp-v4-tau
{
"task": "infill",
"generation_type": "TEXT",
"title": "The scale of missing-replace",
"tags": "Sorrow/Sad,Female Vocals,Mandarin",
"mv": "chirp-auk",
"prompt": ""The Scale of Longing" \n \nLyricist: A Guo Yiluo\nThe temperature of your running is engraved in the annual rings. \nEvery fallen leaf is calling for you\nBut it will break into mist when the wind blows. \nTidy up your guitar in the corner \nAll the rainy seasons are accumulated in the piano case,\nThe back of the rosewood is wet.\nIf you twist your thoughts into new strings,\nI'm afraid that they will break into\nthe echoes of the year at the first touch. \nTime is a video tape that goes backwards. \nThe deeper the night, the clearer your laughter comes. \nIf tears can water the time tunnel, \nI will cry my eyes into the sea. \nI will learn to breathe through my wounds. \nExhausted."
"metadata": {
"infill_lyrics": ". \nTidy up your guitar in the corner \nAll the rainy season has accumulated in the piano case, \nThe back of the rosewood is damp. \nIf you twist your thoughts into new strings, \nI'm afraid it will break into pieces at the first touch\nThe echo of the year"
  },
"continue_clip_id": "8a858961-8831-4423-8ffb-2dec096aea0a",
"continued_aligned_prompt": ""The Scale of Longing" \n \nLyricist: A Guo Yiluo\nThe temperature of your running is engraved in the annual rings. \nEvery fallen leaf is calling for you\nBut it will break into mist when the wind blows. \nOrganize your guitar in the corner \nAll the rainy season is accumulated in the piano case, \nThe back of the rosewood is wet. \nIf you twist your thoughts into new strings,\nI'm afraid it will break into pieces at the touch of a touch. \nThe echo of the past. \nThe deeper the night, the clearer your laughter comes. \nIf tears can water the time tunnel,\nI will cry into the sea when all the spring is related to you.\nI will continue to love you with all my heart. \nTidy up your guitar in the corner. \nIf you twist your thoughts into new strings, \nI'm afraid that they will break into pieces at the first touch. \nWhen all the spring is related to you, \nI will continue to love you with all my heart\n\n",
"infill_context_start_s": 3.48,
"infill_context_end_s": 109.96,
"infill_start_s": 33.48,
"infill_end_s": 79.96,
"infill_dur_s": 46.48
}

C. Confirm. Splice complete music

  • Notice :is_infillfortrue
  • Get the id of the last replaced song and obtain the status through the query interface
curl --request POST \
--url https://BASE_URL/suno/submit/concat \
--header 'Authorization: Bearer API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"Clip_id": "Change-1234-1234-1234-one",
"is_infill": true
}'

9. Persona: singer style

A. Generate music

Get one of the songs through Generate Musicclip_idThe value isabcd-1234-1234-1234-abd

B. Create a new Persona

Call New Persona interface
  • clip_idIt needs to exist in the system memory, not uploader
  • You cannot cross accounts, so you may not be able to use your account if it goes offline.
{
"root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
"name": "Persona title",
"description": "Persona description",
"clips": ["54834687-5e79-4f08-8e14-cf188f15b598"],
"is_public": true
}
Response body contentidfor next step

C. Create using persona_id

Call the generate music interface
  • Noticemvforchirp-v4 chirp-aukorchirp-bluejay
  • taskforartist_consistency
  • persona_idThe id obtained in step B
  • artist_clip_idIt’s in step Aclip_id
  • Can cross accounts
{
"prompt": "[Verse]\nYou are always warm by my side from early morning to dusk\nYou are not afraid of wind or rain\nHold tightly and never separate\n\n[Verse 2]\nWith you I am not alone\nJust like the stars at night\nNo matter how long the road is, it never feels far\nBecause you are my light\n\n[Chorus]\nHusband, I love you\nYou are the only one in the world\nNo matter where we are in the world\nOur hearts are always together like a shadow\n\n[Verse 3]\nYou are my safe haven\nEvery night I dream of you\nNo matter how hard the road ahead\nEverything is so beautiful with you\n\n[Chorus]\nHusband, husband, I love you\nYou are the only one in the world\nNo matter where I am in the world\nMy heart is always with you\n\n[Bridge]\nEvery moment of my life\nI have you by my side to experience\nAll tomorrows are better\nBecause of you I am invincible.",
"tags": "electronic, pop",
"mv": "chirp-v4-tau",
"title": "husband",
"persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
"artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
"task_id": "xxxxxx",
"task": "artist_consistency"
}

10.stems: Vocals Instrumental

  • Vocals after separation
  • After separation, Instrumental, pure music accompaniment

A. Generate music

Get one of the songs through Generate Musicclip_idThe value is54834687-5e79-4f08-8e14-cf188f15b598

B. Separation of sound and music

  • Use the Generate Music interface
  • Noticemvforchirp-auk
  • taskforgen_stem
  • stem_taskfortwo
  • stem_type_group_nameforTwo
  • continue_clip_idIt’s in step Aclip_id
  • Can cross accounts
  • The cost is the same as generating a song once
{
"task": "gen_stem",
"task_id": "e3f492cb-27d9-41b6-aa1d-bdf7f3781a61",
"title": "Safety String",
"mv": "chirp-auk",
"make_instrumental": true,
"continue_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"continued_aligned_prompt": null,
"continue_at": null,
"stem_type_id": 91,
"stem_type_group_name": "Two",
"stem_task": "two"
}
  • Return body getclip_idfor next step

C. Get results

Get status through query interface
curl --request GET \
--url https://BASE_URL/suno/feed/{clip_id} \
--header 'Authorization: Bearer API_KEY' \

11.Timing: lyrics, audio timeline

A. Generate music

Get one of the songs through Generate Musicclip_idThe value is54834687-5e79-4f08-8e14-cf188f15b598

B. Get lyrics

Call the Timing interface response:
{
"aligned_words": [
    {
"word": "[Verse]\nWinter ",
"success": true,
"start_s": 8.38,
"end_s": 8.78,
"p_align": 0.982
    },
    {
"word": "winds ",
"success": true,
"start_s": 8.78,
"end_s": 9.54,
"p_align": 0.961
    },
    {
"word": "they ",
"success": true,
"start_s": 9.54,
"end_s": 9.93,
"p_align": 0.99
    },
    {
"word": "cut ",
"success": true,
"start_s": 9.93,
"end_s": 10.41,
"p_align": 0.998
    },
    {
"word": "so ",
"success": true,
"start_s": 10.41,
"end_s": 10.93,
"p_align": 0.996
    },
    {
"word": "deep\n",
"success": true,
"start_s": 10.93,
"end_s": 11.93,
"p_align": 0.997
    },
    ....
  ],
"waveform_data": [
    0.001, 0.00109, 0.04219, 0.03597, ....
  ],
"hoot_cer": 0.03556771545827633,
"is_streamed": false
}

12.wav: Get wav format file

A. Generate music

Get one of the songs through Generate Musicclip_idThe value is54834687-5e79-4f08-8e14-cf188f15b598

B. Get wav file

  • If return bodywav_file_urlGet multiple times for null response:
{
"wav_file_url": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.wav"
}

13.mp4: Generate mp4 mv video

A. Generate music

Get one of the songs through Generate Musicclip_idThe value is54834687-5e79-4f08-8e14-cf188f15b598

B. Generate mp4 mv video

  • After execution, please wait 30 seconds before the url can be accessed. response:
{
"mp4": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.mp4"
}

14.all-stems: full-track vocal separation

A. Generate music

Get one of the songs through Generate Musicclip_idThe value is54834687-5e79-4f08-8e14-cf188f15b598

B. Full track vocal separation

  • Use the Generate Music interface
  • Noticemvforchirp-auk
  • taskforgen_stem
  • stem_taskfortwelve
  • stem_type_group_nameforTwelve
  • continue_clip_idIt’s in step Aclip_id
  • Can cross accounts
  • Billed 5 times base price
{
"task": "gen_stem",
"task_id": "e3f492cb-27d9-41b6-aa1d-bdf7f3781a61",
"generation_type": "TEXT",
"title": "Safety String",
"mv": "chirp-auk",
"make_instrumental": true,
"continue_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"continued_aligned_prompt": null,
"continue_at": null,
"stem_type_id": 91,
"stem_type_group_name": "Twelve",
"stem_task": "twelve"
}
  • Returns 24 clip_ids
  • Query in one go using 24 clip_ids
  • Return body instance
"id": "b19ee87f-574d-42c7-9761-df6aafc0fd9c",
"clips": [
    {
"id": "0e5be1db-4834-4890-acfb-2fea7fd24eb9",
"entity_type": "song_schema",
"video_url": "",
"audio_url": "",
"major_model_version": "",
"model_name": "chirp-stem",
"metadata": {
"prompt": "",
"history": [
          {
"id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"type": "gen",
"source": "web",
"infill": false,
"stem_type_id": 91,
"stem_type_group_name": "Twelve",
"stem_task": "twelve",
"stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc"
          }
        ],
"stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"stem_task": "twelve",
"stem_type_id": 91,
"stem_type_group_name": "Vocals",
"edited_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"type": "gen",
"stream": true,
"infill": false,
"task": "gen_stem",
"can_remix": true,
"is_remix": false,
"priority": 10
      },
"is_liked": false,
"user_id": "a8a4d117-d5aa-4a9f-ab5b-88cc2c2eb79d",
"display_name": "ugknurymt91r",
"handle": "ugknurymt91r",
"is_handle_updated": false,
"avatar_image_url": "https://cdn1.suno.ai/sAura20.jpg",
"is_trashed": false,
"flag_count": 0,
"created_at": "2025-06-06T11:22:30.753Z",
"status": "submitted",
"title": "Safety Chords (Vocals)",
"play_count": 0,
"upvote_count": 0,
"is_public": false,
"allow_comments": true
    },
    {
"more": "There are 24 things like this"
    }
  ],
"metadata": {
"prompt": "",
"history": [
      {
"id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"type": "gen",
"source": "web",
"infill": false,
"stem_type_id": 91,
"stem_type_group_name": "Twelve",
"stem_task": "twelve",
"stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc"
      }
    ],
"stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"stem_task": "twelve",
"stem_type_id": 91,
"stem_type_group_name": "Twelve",
"edited_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
"type": "gen",
"stream": true,
"infill": false,
"task": "gen_stem",
"can_remix": true,
"is_remix": false,
"priority": 10
  },
"major_model_version": "",
"status": "complete",
"created_at": "2025-06-06T11:22:30.737Z",
"batch_size": 1
}

C. Get results

  • Get status through query interface
  • Piece together 24 clip_ids and get them at once
curl --request GET \
--url https://BASE_URL/suno/feed/{clip_id} \
--header 'Authorization: Bearer API_KEY' \

15.High-order parameters

  • In June 2025, suno added 3 new high-order parameters
  • The parameters areweirdness_constraint style_weight audio_weight
  • inaudio_weightAppears only when cover
  • The values ​​are all between 0-1
  • In September 2025, new vocal_gender female voice f, male voice m

A. Ordinary generation

Use the Generate Music interface
{
"prompt": "[Verse]\nI got a plate of dreams piled high\nA world of flavors I wanna try\nSpices dancing under the sky\nTaste buds soaring I won’t deny\n\n[Chorus]\nCrunch and sizzle sweet and sour\nEvery bite holds a little power\nBite by bite I’m feeling bold\nLife’s a buffet can’t be controlled\n\n[Verse 2]\nFrom tacos wrapped so tight with love\nTo noodles swimming skies above\nPizza slices like a dove\nFlying straight to my tastebud glove\n\n[Bridge]\nOh the crunch of chips so loud\nPopcorn popping in a cloud\nChocolate melting makes me proud\nIn this feast I’m unbowed\n\n[Chorus]\nCrunch and sizzle sweet and sour\nEvery bite holds a little power\nBite by bite I’m feeling bold\nLife’s a buffet can’t be controlled\n\n[Verse 3]\nSaucy rivers on a plate\nFlavors whispering don’t be late\nEvery meal’s a twist of fate\nI’ll devour till it’s too great",
"generation_type": "TEXT",
"tags": "house, tight drums",
"negative_tags": "Modern",
"mv": "chirp-auk",
"title": "Savor the Flavor",
"metadata": {
"create_mode": "custom",
"control_sliders": {
"style_weight": 0.4,
"weirdness_constraint": 0.7
    },
"can_control_sliders": ["weirdness_constraint", "style_weight"],
"vocal_gender": "f"
  }
}

B.cover generation

  • coverwhen there will be oneaudio_weightparameter
  • Use the Generate Music interface
{
"prompt": "[Verse]\nNew Year's bell rings\nFireworks light up the night\nLaughter spreads everywhere\nGood luck is with you\n\n[Chorus]\nHappy New Year is full of joy\nRed lights hang high and the streets are brilliant\nReunion and happiness bloom\nWishes come true\n\n[Verse 2]\nThe spring breeze blows gently\nWith auspicious flowers blooming\nNew clothes, new shoes and new expectations\nDreams unfold from now on\n\n[Chorus]\nHappy New Year and full of joy\nRed lights hang high and the streets are brilliant\nReunion, happiness and happiness bloom\nWishes come true\n\n[ Bridge]\nThe sound of firecrackers sounds\nWelcome new opportunities\nEvery household is happy\nThe rich flavor of the new year is conveyed\n\n[Chorus]\nHappy New Year is full of joy\nThe red lights are hung high and the streets are brilliant\nReunion, happiness and happiness are blooming\nWishes come true and the house is filled with happiness",
"generation_type": "TEXT",
"tags": "",
"negative_tags": "",
"mv": "chirp-auk",
"title": "Happy New Year (Remix)",
"task": "cover",
"cover_clip_id": "f31754fc-2c83-4fc1-8a07-70ae218dd0a6",
"metadata": {
"create_mode": "custom",
"control_sliders": {
"style_weight": 0.68,
"audio_weight": 0.48,
"weirdness_constraint": 0.37
    },
"can_control_sliders": [
"weirdness_constraint",
"style_weight",
"audio_weight"
    ],
"is_remix": true
  }
}

16. Instrumental Add

  • Version must be higher than v4.5+
  • New in suno in August 2025 Add Insterumental
  • Upload a song sung a cappella without dubbing and let suno help you score it
  • taskforunderpainting
  • underpainting_clip_idforupload_clip_id
  • underpainting_end_sMust be less than or equal touploadofduration
  • Billing One time song fee

A. Upload a cappella songs

  • Use the Upload Music interface
  • getclip_idforupload_clip_id

B. Get parameters such as song duration

  • Use the Batch Query Songs interface
  • Obtained through the acquisition interfacemetadata.durationduration

C. Execute Add Insterumental

Use the Generate Music interface
  • taskforunderpainting
  • underpainting_clip_idforupload_clip_id
  • underpainting_end_sMust be less than or equal touploadofduration
  • It’s best not to use lyrics, it’s dubbing after all
{
"mv": "chirp-bluejay",
"tags": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
"title": "Hi Insterumental",
"underpainting_clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
"underpainting_start_s": 0,
"underpainting_end_s": 57.9,
"task": "underpainting",
"prompt": "",
"override_fields": ["prompt", "tags"]
}

17. Add Vocals

  • Version must be higher than v4.5+
  • Newly released by suno in August 2025 Add Vocals
  • Upload a piece of pure music and let suno write lyrics and sing with vocals
  • taskforoverpainting
  • overpainting_clip_idforupload_clip_id
  • overpainting_end_sMust be less than or equal touploadofduration
  • Billing One time song fee

A. Upload pure music

  • Use the Upload Music interface getclip_idforupload_clip_id

B. Get parameters such as song duration

  • Use the Batch Query Songs interface
  • Obtained through the acquisition interfacemetadata.durationduration
  • Also get metadata.tags Tags

C. Execute Add Vocals

Use the Generate Music interface
  • taskforoverpainting
  • overpainting_clip_idforupload_clip_id
  • overpainting_end_sMust be less than or equal touploadofduration
  • tagsfor uploadmetadata.tags
{
"mv": "chirp-bluejay",
"tags": "A smooth, soulful R&B track with a moderate tempo and a relaxed, laid-back feel. The instrumentation features a clean electric guitar playing arpeggiated chords, a prominent bass guitar providing a walking bass line, and a drum kit with a soft, brushed snare sound. The male lead vocal is smooth and melodic, with a baritone range and a slightly melancholic tone. The song is in a minor key, contributing to its introspective mood. Production elements include a subtle reverb on the vocals and guitar, creating a spacious and intimate atmosphere. The song structure follows a typical verse-chorus format with a clear melodic progression.",
"title": "Hi vocal",
"overpainting_clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
"overpainting_start_s": 0,
"overpainting_end_s": 57.9,
"task": "overpainting",
"prompt": "You have to fill in the lyrics yourself",
"override_fields": ["prompt", "tags"]
}

18. Get midi

A. Full track separated clip_id

  • 14.all-stems: full-track vocal separationGet one of the songsclip_idThe value isa624123d-22cc-4d4d-bf28-78d312f61597
  • Note that ordinary musicclip_idIt can also be executed, but the official website only has full track separation.clip_idonly have
  • It cannot be used across accounts and cannot be called after the account is offline.

B. Get midi

  • Use get midi interface
curl --request GET \
--url https://BASE_URL/suno/act/midi/{clip_id} \
--header 'Authorization: Bearer API_KEY'
Those who didn’t succeed were all { "state": "running" } After success it is
{
"state": "complete",
"instruments": [
        {
"name": "String Ensembles 1",
"notes": [
             {
"pitch": 60,
"start": 1.1041666666666667,
"end": 1.9583333333333333,
"velocity": 0.7165354330708661
                },
               ......
            ]

        },
        ......
    ]
}

19.Expand style tags

  • tagsIt’s style
  • If you don’t know how to write style, you can use this interface
curl --request POST \
--url https://BASE_URL/suno/act/tags \
--header 'Authorization: Bearer API_KEY' \
--header 'Content-Type: application/json' \
--data '{"original_tags": "student"}'
  • original_tagsIncoming relevant prompt words
response:
{
"upsampled_tags": "Laid-back indie pop driven by a clean guitar riff, tight bass, and crisp drums. Verses feature subtle synth textures and gentle background vocals. A catchy chorus lifts with layered harmonies and handclaps. Bridge introduces a bright Rhodes piano before a dynamic final chorus.",
"request_id": "507acd16-8b84-4e55-be2b-4329d82efb26"
}