Skip to content

Suno Use-Case Scenarios

  • 2026.02.04 Suno supports version suno-v4.5-all, mv is chirp-auk-turbo, same price as suno-3.5
  • 2025.09.23 Suno supports version v5, mv is chirp-crow
  • 2025.07.17 Suno supports version v4.5+, mv is chirp-bluejay
  • 2025.05.03 Suno supports version v4.5, mv is chirp-auk
  • Suno supports different scenarios through different request formats
  • All submissions are POST to https://api.openai-hk.com/sunoapi/generate
  • All results are retrieved via GET https://api.openai-hk.com/sunoapi/feed/clipsId1,clipsId2
  • The following request bodies produce different effects
shell
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "gpt_description_prompt": "nostalgia"
}'
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "gpt_description_prompt": "nostalgia"
}'

1. Inspiration Mode

json
{
  "gpt_description_prompt": "nostalgia"
}
{
  "gpt_description_prompt": "nostalgia"
}

2. Custom Lyrics & Title

json
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "mv": "chirp-v3-5",
  "title": "Work",
  "tags": " edm"
}
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "mv": "chirp-v3-5",
  "title": "Work",
  "tags": " edm"
}

3. Instrumental (Custom)

json
{
  "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
}
{
  "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. Instrumental (Inspiration Mode)

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

5. Extend Custom Audio

A. Upload Audio

First, use the upload API to get a clip_id with the value abcd-1234-1234-1234-abd

B. Extend Audio (with Version)

  • mv can be chirp-v4, chirp-auk, or chirp-bluejay
  • task must be upload_extend
json
{
  "prompt": "lyrics",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-v4",
  "title": "Title",
  "continue_clip_id": "ca94a97d-d3f2-4a63-aeee-ba3a43384bcd",
  "continue_at": 10,
  "task": "upload_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"
}

C. Extend Audio (Deprecated)

Note: mv here is chirp-v3-5-upload or chirp-v4-upload

json
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "tags": "heavy metal",
  "mv": "chirp-v3-5-upload",
  "title": "Work",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
  "continue_at": 30.792
}
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "tags": "heavy metal",
  "mv": "chirp-v3-5-upload",
  "title": "Work",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
  "continue_at": 30.792
}

D. Concatenate Full Song

shell
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}'
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}'

Request body:

json
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}

6. Extend Music and Get Full Song

Note: Extending official-generated music only; custom extension is not supported

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value abcd-1234-1234-1234-abd

B. Extend Music

Returns 2 new clip_id values; one of them is newid-1234-1234-1234-one

json
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "tags": "heavy metal",
  "mv": "chirp-v3-5",
  "title": "Work",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
  "continue_at": 30,
  "task": "extend"
}
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "tags": "heavy metal",
  "mv": "chirp-v3-5",
  "title": "Work",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
  "continue_at": 30,
  "task": "extend"
}

C. Concatenate Full Song

shell
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}'
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}'

Request body:

json
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": false
}

7. Cover Music: Remake / Style Modification

A. Generate Music

  • Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value abcd-1234-1234-1234-abd
  • You can also use the upload API to get a clip_id for covering custom audio

B. Cover Music

  • Note: mv must be chirp-v4, chirp-auk, or chirp-bluejay
  • task must be cover
  • Cross-account usage is supported — no need to worry about account expiry
  • If cover_clip_id is an uploaded clip_id, cross-account is not supported
  • mv no longer uses chirp-v3-5-tau or chirp-v4-tau
json
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "generation_type": "TEXT",
  "tags": "rock, punk",
  "negative_tags": "",
  "mv": "chirp-auk",
  "title": "Work (Cover)",
  "continue_clip_id": null,
  "continue_at": null,
  "continued_aligned_prompt": null,
  "infill_start_s": null,
  "infill_end_s": null,
  "task": "cover",
  "cover_clip_id": "abcd-1234-1234-1234-abd"
}
{
  "prompt": "[Verse]\nBusy days one after another\nFiles piling up with no end in sight\nDreams tucked away in a drawer\nCoffee cup already gone cold\n\n[Verse 2]\nClock in at eight every morning\nTired eyes with no spark left\nSmall talk with colleagues feels pointless\nJust waiting for time to speed by\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true\n\n[Verse 3]\nLunch break eating a bento box\nWatching sunshine pour through the window\nLife feels so far from the dream\nAll I see is the desk and chair\n\n[Bridge]\nThe boss's footsteps sound like thunder\nHeartbeat quickening with the rhythm\nA mountain of files on the desk\nThe sound of complaints slowly fades\n\n[Chorus]\nWork work the boss keeps calling\nFinish up finish up then we're safe\nOvertime overtime just to earn a little\nDreams dreams when will they come true",
  "generation_type": "TEXT",
  "tags": "rock, punk",
  "negative_tags": "",
  "mv": "chirp-auk",
  "title": "Work (Cover)",
  "continue_clip_id": null,
  "continue_at": null,
  "continued_aligned_prompt": null,
  "infill_start_s": null,
  "infill_end_s": null,
  "task": "cover",
  "cover_clip_id": "abcd-1234-1234-1234-abd"
}

8. Replace Section

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value abcd-1234-1234-1234-abd

B. Replace Section

  • task must be infill
  • Note: mv must be chirp-v4, chirp-auk, or chirp-bluejay
  • Reminder: the replacement lyrics should overlap with the original lyrics; ideally the timing should correspond
  • infill_start_s start time, infill_end_s end time, infill_dur_s = infill_end_s - infill_start_s
  • Cross-account usage is supported — no need to worry about account expiry
  • Returns 2 new clip_id values; choose one (newid-1234-1234-1234-one) for the next step
  • mv no longer uses chirp-v3-5-tau or chirp-v4-tau
json
{
  "task": "infill",
  "generation_type": "TEXT",
  "title": "Scale of Longing-replace",
  "tags": "Sorrow/Sad,Female Vocals,Mandarin",
  "mv": "chirp-auk",
  "prompt": "《Scale of Longing》 \n \nLyrics: A Guo Yi Luo\nThe rings of a tree hold the warmth of your running steps. \nEvery falling leaf calls out your name\nBut one gust of wind turns it to mist. \nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then. \nTime is a rewound videotape,\nThe deeper the night, the clearer your laughter comes. \nIf tears could water a time tunnel,\nI'd cry my eyes into a sea. \nWhen every spring becomes about you,\nI learn to breathe through the wound. \nTo keep loving you,\nUsing up",
  "metadata": {
    "infill_lyrics": ". \nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then"
  },
  "continue_clip_id": "8a858961-8831-4423-8ffb-2dec096aea0a",
  "continued_aligned_prompt": "《Scale of Longing》 \n \nLyrics: A Guo Yi Luo\nThe rings of a tree hold the warmth of your running steps. \nEvery falling leaf calls out your name\nBut one gust of wind turns it to mist. \nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then. \nTime is a rewound videotape,\nThe deeper the night, the clearer your laughter comes. \nIf tears could water a time tunnel,\nI'd cry my eyes into a sea. \nWhen every spring becomes about you,\nI learn to breathe through the wound. \nTo keep loving you,\nUsing up everything\nA heartbeat that no longer beats.\nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then. \nWhen every spring becomes about you,\nI learn to breathe through the wound. \nTo keep loving you,\nUsing up everything\nA heartbeat that no longer beats.\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
}
{
  "task": "infill",
  "generation_type": "TEXT",
  "title": "Scale of Longing-replace",
  "tags": "Sorrow/Sad,Female Vocals,Mandarin",
  "mv": "chirp-auk",
  "prompt": "《Scale of Longing》 \n \nLyrics: A Guo Yi Luo\nThe rings of a tree hold the warmth of your running steps. \nEvery falling leaf calls out your name\nBut one gust of wind turns it to mist. \nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then. \nTime is a rewound videotape,\nThe deeper the night, the clearer your laughter comes. \nIf tears could water a time tunnel,\nI'd cry my eyes into a sea. \nWhen every spring becomes about you,\nI learn to breathe through the wound. \nTo keep loving you,\nUsing up",
  "metadata": {
    "infill_lyrics": ". \nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then"
  },
  "continue_clip_id": "8a858961-8831-4423-8ffb-2dec096aea0a",
  "continued_aligned_prompt": "《Scale of Longing》 \n \nLyrics: A Guo Yi Luo\nThe rings of a tree hold the warmth of your running steps. \nEvery falling leaf calls out your name\nBut one gust of wind turns it to mist. \nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then. \nTime is a rewound videotape,\nThe deeper the night, the clearer your laughter comes. \nIf tears could water a time tunnel,\nI'd cry my eyes into a sea. \nWhen every spring becomes about you,\nI learn to breathe through the wound. \nTo keep loving you,\nUsing up everything\nA heartbeat that no longer beats.\nTidying up your guitar in the corner \nThe case holds all the rainy seasons,\nSoaking the back of the rosewood. \nIf I wound my longing into new strings,\nI fear one touch would shatter them\nInto echoes of back then. \nWhen every spring becomes about you,\nI learn to breathe through the wound. \nTo keep loving you,\nUsing up everything\nA heartbeat that no longer beats.\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 and Concatenate Full Song

shell
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}'
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}'

Request body:

json
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}

8.V2 Replace Section: V2 Replace Segment

  • Goal: Replace the lyric just missing your presence by my side in clip_id 4cd8a76f-802a-42a5-8064-3ba9c6138072 with just missing yesterday without you by my side
  • Actually only replacing by my sideyesterday

A. Get Timeline

get https://api.openai-hk.com/suno/act/timing/4cd8a76f-802a-42a5-8064-3ba9c6138072

json
{
  "text": "底",
  "start_s": 60.638297872340424,
  "end_s": 60.71808510638298
}
{
  "text": "底",
  "start_s": 60.638297872340424,
  "end_s": 60.71808510638298
}
  • Search for the end context word to find aligned_lyrics[13].words[9].end_s = 90.6 as infill_context_end_s
json
{
  "text": "回",
  "start_s": 90.47872340425532,
  "end_s": 90.55851063829788
}
{
  "text": "回",
  "start_s": 90.47872340425532,
  "end_s": 90.55851063829788
}
  • Search for the word to replace, find aligned_lyrics[11]
json
{
  "text": "just missing by my side,",

  "words": [
    ......
    {
      "text": "by",
      "start_s": 75.47872340425532, // use this as infill_start_s
      "end_s": 75.55851063829788
    },
    {
      "text": "side",
      "start_s": 75.71808510638299,
      "end_s": 75.79787234042553 // use this as infill_end_s
    },
   ......
  ]
}
{
  "text": "just missing by my side,",

  "words": [
    ......
    {
      "text": "by",
      "start_s": 75.47872340425532, // use this as infill_start_s
      "end_s": 75.55851063829788
    },
    {
      "text": "side",
      "start_s": 75.71808510638299,
      "end_s": 75.79787234042553 // use this as infill_end_s
    },
   ......
  ]
}

B. Replace Segment

  • task must be fixed_infill
  • Note: mv only supports chirp-carp
  • How to obtain infill_context_start_s, infill_context_end_s, infill_start_s, infill_end_s — refer to A. Get Timeline
  • infill_dur_s = infill_end_s - infill_start_s
  • Cross-account usage is supported — no need to worry about account expiry
  • Returns 2 new clip_id values; choose one (newid-1234-1234-1234-one) for the next step
json
{
  "task": "fixed_infill",
  "generation_type": "TEXT",
  "title": "Replace 01:15-01:15 (06:25 AM Feb 04)",
  "tags": "Love Song,Rock,Acoustic Guitar,Piano,Strings,R&B",
  "negative_tags": "",
  "mv": "chirp-carp",
  "prompt": "底忘记。\n\n[Interlude]\n\n[Verse 2]\n街角的灯光依然那么熟悉,\n只是昨日再也没有你的气息,\n曾经的誓言如今变成了谜题,\n只剩下我在原地默默回",
  "metadata": {
    "create_mode": "custom",
    "infill_lyrics": "昨日",
    "is_remix": true,
    "lyrics_updated": true
  },

  "continue_clip_id": "4cd8a76f-802a-42a5-8064-3ba9c6138072",
  "continued_aligned_prompt": "底忘记。\n\n[Interlude]\n\n[Verse 2]\n街角的灯光依然那么熟悉,\n只是昨日再也没有你的气息,\n曾经的誓言如今变成了谜题,\n只剩下我在原地默默回",
  "continue_at": null,
  "infill_context_start_s": 60.6,
  "infill_context_end_s": 90.6,
  "infill_start_s": 75.44,
  "infill_end_s": 75.8,
  "infill_dur_s": 0.36
}
{
  "task": "fixed_infill",
  "generation_type": "TEXT",
  "title": "Replace 01:15-01:15 (06:25 AM Feb 04)",
  "tags": "Love Song,Rock,Acoustic Guitar,Piano,Strings,R&B",
  "negative_tags": "",
  "mv": "chirp-carp",
  "prompt": "底忘记。\n\n[Interlude]\n\n[Verse 2]\n街角的灯光依然那么熟悉,\n只是昨日再也没有你的气息,\n曾经的誓言如今变成了谜题,\n只剩下我在原地默默回",
  "metadata": {
    "create_mode": "custom",
    "infill_lyrics": "昨日",
    "is_remix": true,
    "lyrics_updated": true
  },

  "continue_clip_id": "4cd8a76f-802a-42a5-8064-3ba9c6138072",
  "continued_aligned_prompt": "底忘记。\n\n[Interlude]\n\n[Verse 2]\n街角的灯光依然那么熟悉,\n只是昨日再也没有你的气息,\n曾经的誓言如今变成了谜题,\n只剩下我在原地默默回",
  "continue_at": null,
  "infill_context_start_s": 60.6,
  "infill_context_end_s": 90.6,
  "infill_start_s": 75.44,
  "infill_end_s": 75.8,
  "infill_dur_s": 0.36
}

C. Confirm and Concatenate Full Song

shell
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}'
curl --request POST \
  --url https://api.openai-hk.com/sunoapi/generate/concat \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}'

Request body:

json
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}
{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}

9. Persona: Singer Style

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value 4cd8a76f-802a-42a5-8064-3ba9c6138072

B. Create Persona

post https://api.openai-hk.com/sunoapi/persona/create/

  • clip_id must exist in the system and cannot be an uploaded clip
  • Cross-account not supported — may be unavailable if account expires
  • To prevent abuse, 100 credits will be deducted

Request body:

json
{
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "name": "Persona Title",
  "description": "Persona Description",
  "clips": ["54834687-5e79-4f08-8e14-cf188f15b598"],
  "is_public": true
}
{
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "name": "Persona Title",
  "description": "Persona Description",
  "clips": ["54834687-5e79-4f08-8e14-cf188f15b598"],
  "is_public": true
}

Response: the key id value fd213afd-ac1c-4822-9802-c1c0ea45e77b is the persona_id for the next step

json
{
  "id": "fd213afd-ac1c-4822-9802-c1c0ea45e77b",
  "name": "food",
  "description": "123",
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "clip": {
    "id": "54834687-5e79-4f08-8e14-cf188f15b598",
    "video_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp4",
    "audio_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp3",
    "image_url": "https://cdn2.suno.ai/image_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
    "image_large_url": "https://cdn2.suno.ai/image_large_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
    "major_model_version": "v4",
    "model_name": "chirp-v4",
    "metadata": {
      "tags": "electronic pop, tropical house fusion",
      "prompt": "",
      "type": "gen",
      "duration": 190,
      "refund_credits": false,
      "stream": true
    },
    "is_liked": false,
    "user_id": "21de6d0f-398c-467c-9957-8fa9065f3ca6",
    "display_name": "SensoryRecorders4685",
    "handle": "sensoryrecorders4685",
    "is_handle_updated": false,
    "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
    "is_trashed": false,
    "created_at": "2024-12-23T10:34:30.144Z",
    "status": "complete",
    "title": "noks noko wane",
    "play_count": 0,
    "upvote_count": 0,
    "is_public": false
  },
  "user_display_name": "SensoryRecorders4685",
  "user_handle": "sensoryrecorders4685",
  "user_image_url": "https://cdn1.suno.ai/defaultPink.webp",
  "persona_clips": [
    {
      "clip": {
        "id": "54834687-5e79-4f08-8e14-cf188f15b598",
        "video_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp4",
        "audio_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp3",
        "image_url": "https://cdn2.suno.ai/image_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
        "image_large_url": "https://cdn2.suno.ai/image_large_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
        "major_model_version": "v4",
        "model_name": "chirp-v4",
        "metadata": {
          "tags": "electronic pop, tropical house fusion",
          "prompt": "",
          "type": "gen",
          "duration": 190,
          "refund_credits": false,
          "stream": true
        },
        "is_liked": false,
        "user_id": "21de6d0f-398c-467c-9957-8fa9065f3ca6",
        "display_name": "SensoryRecorders4685",
        "handle": "sensoryrecorders4685",
        "is_handle_updated": false,
        "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
        "is_trashed": false,
        "created_at": "2024-12-23T10:34:30.144Z",
        "status": "complete",
        "title": "noks noko wane",
        "play_count": 0,
        "upvote_count": 0,
        "is_public": false
      },
      "id": 11288925
    }
  ]
}
{
  "id": "fd213afd-ac1c-4822-9802-c1c0ea45e77b",
  "name": "food",
  "description": "123",
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "clip": {
    "id": "54834687-5e79-4f08-8e14-cf188f15b598",
    "video_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp4",
    "audio_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp3",
    "image_url": "https://cdn2.suno.ai/image_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
    "image_large_url": "https://cdn2.suno.ai/image_large_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
    "major_model_version": "v4",
    "model_name": "chirp-v4",
    "metadata": {
      "tags": "electronic pop, tropical house fusion",
      "prompt": "",
      "type": "gen",
      "duration": 190,
      "refund_credits": false,
      "stream": true
    },
    "is_liked": false,
    "user_id": "21de6d0f-398c-467c-9957-8fa9065f3ca6",
    "display_name": "SensoryRecorders4685",
    "handle": "sensoryrecorders4685",
    "is_handle_updated": false,
    "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
    "is_trashed": false,
    "created_at": "2024-12-23T10:34:30.144Z",
    "status": "complete",
    "title": "noks noko wane",
    "play_count": 0,
    "upvote_count": 0,
    "is_public": false
  },
  "user_display_name": "SensoryRecorders4685",
  "user_handle": "sensoryrecorders4685",
  "user_image_url": "https://cdn1.suno.ai/defaultPink.webp",
  "persona_clips": [
    {
      "clip": {
        "id": "54834687-5e79-4f08-8e14-cf188f15b598",
        "video_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp4",
        "audio_url": "https://cdn1.suno.ai/54834687-5e79-4f08-8e14-cf188f15b598.mp3",
        "image_url": "https://cdn2.suno.ai/image_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
        "image_large_url": "https://cdn2.suno.ai/image_large_54834687-5e79-4f08-8e14-cf188f15b598.jpeg",
        "major_model_version": "v4",
        "model_name": "chirp-v4",
        "metadata": {
          "tags": "electronic pop, tropical house fusion",
          "prompt": "",
          "type": "gen",
          "duration": 190,
          "refund_credits": false,
          "stream": true
        },
        "is_liked": false,
        "user_id": "21de6d0f-398c-467c-9957-8fa9065f3ca6",
        "display_name": "SensoryRecorders4685",
        "handle": "sensoryrecorders4685",
        "is_handle_updated": false,
        "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
        "is_trashed": false,
        "created_at": "2024-12-23T10:34:30.144Z",
        "status": "complete",
        "title": "noks noko wane",
        "play_count": 0,
        "upvote_count": 0,
        "is_public": false
      },
      "id": 11288925
    }
  ]
}

C. Create Using persona_id

post https://api.openai-hk.com/suno/generate

  • Note: mv must be chirp-v4, chirp-auk, or chirp-bluejay
  • task must be artist_consistency
  • persona_id is the value obtained from Step B
  • artist_clip_id is the clip_id from Step A
  • Cross-account supported
  • mv no longer uses chirp-v3-5-tau or chirp-v4-tau
json
{
  "prompt": "[Verse]\nFrom dawn to dusk you've been by my side so warm\nRain or shine I'm not afraid\nHolding hands we'll never part\n\n[Verse 2]\nWith you I'm never alone\nLike stars shining in the night\nNo road feels too long\nBecause you are my light\n\n[Chorus]\nDarling darling I love you\nYou're the only one in my world\nNo matter where we roam\nOur hearts will always follow\n\n[Verse 3]\nYou're my safe harbor\nEvery night my dreams are of you\nEven if the road ahead is hard\nWith you everything's beautiful\n\n[Chorus]\nDarling darling I love you\nYou're the only one in my world\nNo matter where we roam\nOur hearts will always follow\n\n[Bridge]\nEvery moment in this life\nWith you to share and feel\nAll tomorrows will be better\nBecause with you I'm invincible",
  "generation_type": "TEXT",
  "tags": "electronic, pop",
  "negative_tags": "",
  "mv": "chirp-v4",
  "title": "Darling",
  "task": "artist_consistency",
  "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
  "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163"
}
{
  "prompt": "[Verse]\nFrom dawn to dusk you've been by my side so warm\nRain or shine I'm not afraid\nHolding hands we'll never part\n\n[Verse 2]\nWith you I'm never alone\nLike stars shining in the night\nNo road feels too long\nBecause you are my light\n\n[Chorus]\nDarling darling I love you\nYou're the only one in my world\nNo matter where we roam\nOur hearts will always follow\n\n[Verse 3]\nYou're my safe harbor\nEvery night my dreams are of you\nEven if the road ahead is hard\nWith you everything's beautiful\n\n[Chorus]\nDarling darling I love you\nYou're the only one in my world\nNo matter where we roam\nOur hearts will always follow\n\n[Bridge]\nEvery moment in this life\nWith you to share and feel\nAll tomorrows will be better\nBecause with you I'm invincible",
  "generation_type": "TEXT",
  "tags": "electronic, pop",
  "negative_tags": "",
  "mv": "chirp-v4",
  "title": "Darling",
  "task": "artist_consistency",
  "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
  "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163"
}

Response:

json
{
  "id": "2d453a5f-c539-4fe0-9a66-24058c5dfb6a",
  "clips": [
    {
      "id": "0e6937df-64d8-41f9-82c6-b6dadc4426a8",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "v4",
      "model_name": "chirp-v4",
      "metadata": {
        "tags": "electronic, pop",
        "prompt": "...(lyrics)...",
        "type": "gen",
        "stream": true,
        "has_vocal": false,
        "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
        "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
        "task": "artist_consistency"
      },
      "is_liked": false,
      "user_id": "a3da04d5-0442-4bd3-b837-4c73ff600914",
      "display_name": "TwinklingVenue1595",
      "handle": "twinklingvenue1595",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-23T10:37:43.596Z",
      "status": "submitted",
      "title": "Darling",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    },
    {
      "id": "fff58de4-7ccc-4b95-937b-3b66ec07cc65",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "v4",
      "model_name": "chirp-v4",
      "metadata": {
        "tags": "electronic, pop",
        "prompt": "...(lyrics)...",
        "type": "gen",
        "stream": true,
        "has_vocal": false,
        "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
        "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
        "task": "artist_consistency"
      },
      "is_liked": false,
      "user_id": "a3da04d5-0442-4bd3-b837-4c73ff600914",
      "display_name": "TwinklingVenue1595",
      "handle": "twinklingvenue1595",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-23T10:37:43.596Z",
      "status": "submitted",
      "title": "Darling",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    }
  ],
  "metadata": {
    "tags": "electronic, pop",
    "prompt": "...(lyrics)...",
    "type": "gen",
    "stream": true,
    "has_vocal": false,
    "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
    "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
    "task": "artist_consistency"
  },
  "major_model_version": "v4",
  "status": "complete",
  "created_at": "2024-12-23T10:37:43.581Z",
  "batch_size": 1
}
{
  "id": "2d453a5f-c539-4fe0-9a66-24058c5dfb6a",
  "clips": [
    {
      "id": "0e6937df-64d8-41f9-82c6-b6dadc4426a8",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "v4",
      "model_name": "chirp-v4",
      "metadata": {
        "tags": "electronic, pop",
        "prompt": "...(lyrics)...",
        "type": "gen",
        "stream": true,
        "has_vocal": false,
        "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
        "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
        "task": "artist_consistency"
      },
      "is_liked": false,
      "user_id": "a3da04d5-0442-4bd3-b837-4c73ff600914",
      "display_name": "TwinklingVenue1595",
      "handle": "twinklingvenue1595",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-23T10:37:43.596Z",
      "status": "submitted",
      "title": "Darling",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    },
    {
      "id": "fff58de4-7ccc-4b95-937b-3b66ec07cc65",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "v4",
      "model_name": "chirp-v4",
      "metadata": {
        "tags": "electronic, pop",
        "prompt": "...(lyrics)...",
        "type": "gen",
        "stream": true,
        "has_vocal": false,
        "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
        "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
        "task": "artist_consistency"
      },
      "is_liked": false,
      "user_id": "a3da04d5-0442-4bd3-b837-4c73ff600914",
      "display_name": "TwinklingVenue1595",
      "handle": "twinklingvenue1595",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-23T10:37:43.596Z",
      "status": "submitted",
      "title": "Darling",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    }
  ],
  "metadata": {
    "tags": "electronic, pop",
    "prompt": "...(lyrics)...",
    "type": "gen",
    "stream": true,
    "has_vocal": false,
    "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
    "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
    "task": "artist_consistency"
  },
  "major_model_version": "v4",
  "status": "complete",
  "created_at": "2024-12-23T10:37:43.581Z",
  "batch_size": 1
}

10. stems: Vocals/Instrumental Separation

  • After separation: Vocals (vocals track)
  • After separation: Instrumental (backing track / pure music)

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value a624123d-22cc-4d4d-bf28-78d312f61597

B. Separate Vocals/Instrumental (Deprecated)

B. Separate Vocals/Instrumental (New)

post https://api.openai-hk.com/suno/generate

Request body:

  • Note: mv must be chirp-auk
  • task must be gen_stem
  • stem_task must be two
  • stem_type_group_name must be Two
  • continue_clip_id is the clip_id from Step A
  • Cross-account supported
  • Billing: cost of one generation
json
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "Safety String",
  "mv": "chirp-auk",
  "prompt": "",
  "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"
}
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "Safety String",
  "mv": "chirp-auk",
  "prompt": "",
  "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"
}
  • Response:
json
{
  "clips": [
    {
      "id": "5f3587e2-75fb-4c36-84b3-3ec113897a4c",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "",
      "model_name": "",
      "metadata": {
        "tags": "Chinese",
        "prompt": "...(lyrics)...",
        "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
        "type": "stem",
        "duration": 217.24
      },
      "is_liked": false,
      "user_id": "58387c47-dc80-466f-a7b1-a2eed61c24fb",
      "display_name": "FluidXylophone2289",
      "handle": "fluidxylophone2289",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-25T16:51:36.619Z",
      "status": "queued",
      "title": "Riding the Dream Dragon - Vocals",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    },
    {
      "id": "9c85d619-4cac-4561-8fa3-604c116fa1c5",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "",
      "model_name": "",
      "metadata": {
        "tags": "Chinese",
        "prompt": "",
        "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
        "type": "stem",
        "duration": 217.24
      },
      "is_liked": false,
      "user_id": "58387c47-dc80-466f-a7b1-a2eed61c24fb",
      "display_name": "FluidXylophone2289",
      "handle": "fluidxylophone2289",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-25T16:51:36.625Z",
      "status": "queued",
      "title": "Riding the Dream Dragon - Instrumental",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    }
  ]
}
{
  "clips": [
    {
      "id": "5f3587e2-75fb-4c36-84b3-3ec113897a4c",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "",
      "model_name": "",
      "metadata": {
        "tags": "Chinese",
        "prompt": "...(lyrics)...",
        "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
        "type": "stem",
        "duration": 217.24
      },
      "is_liked": false,
      "user_id": "58387c47-dc80-466f-a7b1-a2eed61c24fb",
      "display_name": "FluidXylophone2289",
      "handle": "fluidxylophone2289",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-25T16:51:36.619Z",
      "status": "queued",
      "title": "Riding the Dream Dragon - Vocals",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    },
    {
      "id": "9c85d619-4cac-4561-8fa3-604c116fa1c5",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "",
      "model_name": "",
      "metadata": {
        "tags": "Chinese",
        "prompt": "",
        "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
        "type": "stem",
        "duration": 217.24
      },
      "is_liked": false,
      "user_id": "58387c47-dc80-466f-a7b1-a2eed61c24fb",
      "display_name": "FluidXylophone2289",
      "handle": "fluidxylophone2289",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
      "is_trashed": false,
      "created_at": "2024-12-25T16:51:36.625Z",
      "status": "queued",
      "title": "Riding the Dream Dragon - Instrumental",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false
    }
  ]
}

C. Get Results

get https://api.openai-hk.com/sunoapi/feed/5f3587e2-75fb-4c36-84b3-3ec113897a4c,9c85d619-4cac-4561-8fa3-604c116fa1c5

Response:

json
[
  {
    "audio_url": "https://cdn1.suno.ai/5f3587e2-75fb-4c36-84b3-3ec113897a4c.mp3",
    "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
    "created_at": "2024-12-25T16:51:36.619Z",
    "display_name": "FluidXylophone2289",
    "handle": "fluidxylophone2289",
    "id": "5f3587e2-75fb-4c36-84b3-3ec113897a4c",
    "image_large_url": "https://cdn2.suno.ai/image_large_5f3587e2-75fb-4c36-84b3-3ec113897a4c.jpeg",
    "image_url": "https://cdn2.suno.ai/image_5f3587e2-75fb-4c36-84b3-3ec113897a4c.jpeg",
    "is_handle_updated": false,
    "is_liked": false,
    "is_public": false,
    "is_trashed": false,
    "major_model_version": "",
    "metadata": {
      "duration": 217.24,
      "prompt": "...(lyrics)...",
      "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
      "tags": "Chinese",
      "type": "stem"
    },
    "model_name": "",
    "play_count": 0,
    "status": "complete",
    "title": "Riding the Dream Dragon - Vocals",
    "upvote_count": 0,
    "video_url": "https://cdn1.suno.ai/5f3587e2-75fb-4c36-84b3-3ec113897a4c.mp4"
  },
  {
    "audio_url": "https://cdn1.suno.ai/9c85d619-4cac-4561-8fa3-604c116fa1c5.mp3",
    "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
    "created_at": "2024-12-25T16:51:36.625Z",
    "display_name": "FluidXylophone2289",
    "handle": "fluidxylophone2289",
    "id": "9c85d619-4cac-4561-8fa3-604c116fa1c5",
    "image_large_url": "https://cdn2.suno.ai/image_large_9c85d619-4cac-4561-8fa3-604c116fa1c5.jpeg",
    "image_url": "https://cdn2.suno.ai/image_9c85d619-4cac-4561-8fa3-604c116fa1c5.jpeg",
    "is_handle_updated": false,
    "is_liked": false,
    "is_public": false,
    "is_trashed": false,
    "major_model_version": "",
    "metadata": {
      "duration": 217.24,
      "prompt": "",
      "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
      "tags": "Chinese",
      "type": "stem"
    },
    "model_name": "",
    "play_count": 0,
    "status": "complete",
    "title": "Riding the Dream Dragon - Instrumental",
    "upvote_count": 0,
    "video_url": "https://cdn1.suno.ai/9c85d619-4cac-4561-8fa3-604c116fa1c5.mp4"
  }
]
[
  {
    "audio_url": "https://cdn1.suno.ai/5f3587e2-75fb-4c36-84b3-3ec113897a4c.mp3",
    "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
    "created_at": "2024-12-25T16:51:36.619Z",
    "display_name": "FluidXylophone2289",
    "handle": "fluidxylophone2289",
    "id": "5f3587e2-75fb-4c36-84b3-3ec113897a4c",
    "image_large_url": "https://cdn2.suno.ai/image_large_5f3587e2-75fb-4c36-84b3-3ec113897a4c.jpeg",
    "image_url": "https://cdn2.suno.ai/image_5f3587e2-75fb-4c36-84b3-3ec113897a4c.jpeg",
    "is_handle_updated": false,
    "is_liked": false,
    "is_public": false,
    "is_trashed": false,
    "major_model_version": "",
    "metadata": {
      "duration": 217.24,
      "prompt": "...(lyrics)...",
      "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
      "tags": "Chinese",
      "type": "stem"
    },
    "model_name": "",
    "play_count": 0,
    "status": "complete",
    "title": "Riding the Dream Dragon - Vocals",
    "upvote_count": 0,
    "video_url": "https://cdn1.suno.ai/5f3587e2-75fb-4c36-84b3-3ec113897a4c.mp4"
  },
  {
    "audio_url": "https://cdn1.suno.ai/9c85d619-4cac-4561-8fa3-604c116fa1c5.mp3",
    "avatar_image_url": "https://cdn1.suno.ai/defaultPink.webp",
    "created_at": "2024-12-25T16:51:36.625Z",
    "display_name": "FluidXylophone2289",
    "handle": "fluidxylophone2289",
    "id": "9c85d619-4cac-4561-8fa3-604c116fa1c5",
    "image_large_url": "https://cdn2.suno.ai/image_large_9c85d619-4cac-4561-8fa3-604c116fa1c5.jpeg",
    "image_url": "https://cdn2.suno.ai/image_9c85d619-4cac-4561-8fa3-604c116fa1c5.jpeg",
    "is_handle_updated": false,
    "is_liked": false,
    "is_public": false,
    "is_trashed": false,
    "major_model_version": "",
    "metadata": {
      "duration": 217.24,
      "prompt": "",
      "stem_from_id": "a624123d-22cc-4d4d-bf28-78d312f61597",
      "tags": "Chinese",
      "type": "stem"
    },
    "model_name": "",
    "play_count": 0,
    "status": "complete",
    "title": "Riding the Dream Dragon - Instrumental",
    "upvote_count": 0,
    "video_url": "https://cdn1.suno.ai/9c85d619-4cac-4561-8fa3-604c116fa1c5.mp4"
  }
]

11. Timing: Lyrics & Audio Timeline

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value 54834687-5e79-4f08-8e14-cf188f15b598

B. Get Lyrics

Response:

json
{
  "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
}
{
  "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

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value a624123d-22cc-4d4d-bf28-78d312f61597

B. Get WAV File

get https://api.openai-hk.com/sunoapi/act/wav/a624123d-22cc-4d4d-bf28-78d312f61597

  • If wav_file_url in the response is null, try requesting again
  • To prevent abuse, 100 credits will be deducted
  • Cross-account not supported; unavailable if account expires
  • Response:
json
{
  "wav_file_url": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.wav"
}
{
  "wav_file_url": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.wav"
}

13. MP4: Generate MP4 MV Video

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value a624123d-22cc-4d4d-bf28-78d312f61597

B. Get MP4 File

get https://api.openai-hk.com/sunoapi/act/mp4/a624123d-22cc-4d4d-bf28-78d312f61597

  • The song must have status complete for this to work
  • After execution, wait ~30 seconds before the URL becomes accessible
  • To prevent abuse, 100 credits will be deducted
  • Cross-account not supported; unavailable if account expires
  • Response:
json
{
  "mp4": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.mp4"
}
{
  "mp4": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.mp4"
}

14. all-stems: Full Track Separation

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value a624123d-22cc-4d4d-bf28-78d312f61597

B. Full Track Separation

post https://api.openai-hk.com/suno/generate

  • Note: mv must be chirp-auk
  • task must be gen_stem
  • stem_task must be twelve
  • stem_type_group_name must be Twelve
  • continue_clip_id is the clip_id from Step A
  • Cross-account supported
  • Billing: 5× base price — cost of 5 requests / 10 songs
json
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "Safety String",
  "mv": "chirp-auk",
  "prompt": "",
  "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"
}
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "Safety String",
  "mv": "chirp-auk",
  "prompt": "",
  "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 all 24 clip_ids at once

  • Response example:

json
{
  "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 String (Vocals)",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false,
      "allow_comments": true
    },
    {
      "more": "24 similar items in total"
    }
  ],
  "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
}
{
  "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 String (Vocals)",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false,
      "allow_comments": true
    },
    {
      "more": "24 similar items in total"
    }
  ],
  "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 https://api.openai-hk.com/suno/feed/4f72cbf2-44ec-4afa-8e54-9ac1d8fad362,9d6b3790-e460-4d86-9dac-0f365de79a13,7bace6af-0424-481d-b11b-285d976a68bc,5edf410a-98bd-4d65-8b5d-85dc823c92d2,90fdb909-6e4c-4b84-950d-de0871ba5f8e,958cf624-4021-4c48-a455-7ef2471cbfb5,9b4e6452-d39b-4071-b25f-b3003058bd5f,d9f39a13-ba39-41d6-abaf-c7035535021d,09a6ad16-c5f7-4a24-9873-0d21d03324d3,6c1138ea-68f5-43fc-a34b-65f0bd7ca3a3,a7004238-4570-4480-8542-698131dcfd9a,9975eda4-551d-48c7-b840-490c59ac7fa1,88860fc9-b09e-44fc-acb8-9373885c0b6b,fa327c28-0468-4a6b-862b-c68e6929f002,300295af-b31a-41de-a21c-c8ed4af45d63,0c9de950-1fc2-44b5-ac1a-71605273ccfd,96c6b96e-a596-4c1c-bda5-bcdbc243030b,d2029f8e-e43a-4bbc-910f-7ca97903caa0,643cc7ee-5f14-47d3-889e-a27a6a764542,f5570d79-2a88-436e-8341-620b7594a47d,37a8686a-5269-46a5-ac9b-5c48486639f3,f6dda4cb-ba98-4498-9735-3fba4a4c1db0,20f6db47-429f-421a-a16c-1a9aeb3d5a98,d93cd7df-cf79-4eaa-8ab9-cbe6215c8b1d

  • Concatenate all 24 clip_ids into one request

15. Advanced Parameters

  • In June 2025, Suno added 3 new advanced parameters
  • Parameters: weirdness_constraint, style_weight, audio_weight
  • audio_weight only appears during cover, Add Instrumental, and Add Vocals
  • All values range from 0 to 1
  • In September 2025, vocal_gender was added: female f, male m

A. Standard Generation

post https://api.openai-hk.com/suno/generate

json
{
  "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"
  }
}
{
  "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

  • During a cover, there is an additional audio_weight parameter

post https://api.openai-hk.com/suno/generate

json
{
  "prompt": "[Verse]\nNew Year's bell is ringing\nFireworks light up the night\nLaughter spreading everywhere\nGood fortune by your side\n\n[Chorus]\nHappy New Year joy and cheer\nRed lanterns glow along the street\nFamily reunion happiness blooms\nMay wishes come true and blessings meet\n\n[Verse 2]\nSpring breeze gently blowing\nBringing luck and flowers in bloom\nNew clothes new shoes new expectations\nDreams begin to unfold\n\n[Chorus]\nHappy New Year joy and cheer\nRed lanterns glow along the street\nFamily reunion happiness blooms\nMay wishes come true and blessings meet\n\n[Bridge]\nFirecracker sounds exploding\nWelcoming new opportunities\nEvery household filled with joy\nThe spirit of the new year spreading\n\n[Chorus]\nHappy New Year joy and cheer\nRed lanterns glow along the street\nFamily reunion happiness blooms\nMay wishes come true and blessings meet",
  "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
  }
}
{
  "prompt": "[Verse]\nNew Year's bell is ringing\nFireworks light up the night\nLaughter spreading everywhere\nGood fortune by your side\n\n[Chorus]\nHappy New Year joy and cheer\nRed lanterns glow along the street\nFamily reunion happiness blooms\nMay wishes come true and blessings meet\n\n[Verse 2]\nSpring breeze gently blowing\nBringing luck and flowers in bloom\nNew clothes new shoes new expectations\nDreams begin to unfold\n\n[Chorus]\nHappy New Year joy and cheer\nRed lanterns glow along the street\nFamily reunion happiness blooms\nMay wishes come true and blessings meet\n\n[Bridge]\nFirecracker sounds exploding\nWelcoming new opportunities\nEvery household filled with joy\nThe spirit of the new year spreading\n\n[Chorus]\nHappy New Year joy and cheer\nRed lanterns glow along the street\nFamily reunion happiness blooms\nMay wishes come true and blessings meet",
  "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. Add Instrumental

  • Version must be v4.5+ or higher
  • Introduced by Suno in August 2025
  • Upload an a cappella (vocals-only, no music) track, and let Suno add the instrumentation
  • task must be underpainting
  • underpainting_clip_id is the upload_clip_id
  • underpainting_end_s must be less than or equal to the upload's duration
  • Billing: cost of one song generation
  • Cross-account not allowed

A. Upload A Cappella Track

post https://api.openai-hk.com/suno/uploads/audio-url

shell
curl --request POST \
  --url https://api.openai-hk.com/suno/uploads/audio-url \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}'
curl --request POST \
  --url https://api.openai-hk.com/suno/uploads/audio-url \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}'

Returns clip_id as upload_clip_id:

json
{
  "clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "code": "success",
  "data": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "message": ""
}
{
  "clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "code": "success",
  "data": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "message": ""
}

B. Get Song Duration and Parameters

get http://api.openai-hk.com/suno/feed/9b1d2e8d-a365-4bfd-8a18-8989e159b29f

  • Use the feed API to get metadata.duration

C. Execute Add Instrumental

post https://api.openai-hk.com/suno/generate

  • task must be underpainting
  • underpainting_clip_id is the upload_clip_id
  • underpainting_end_s must be less than or equal to the upload's duration
  • It's best to leave the lyrics empty since this is for adding music
  • Request body:
json
{
  "mv": "chirp-bluejay",
  "tags": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
  "title": "Hi Instrumental",
  "underpainting_clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "underpainting_start_s": 0,
  "underpainting_end_s": 57.9,
  "task": "underpainting",
  "prompt": "",
  "override_fields": ["prompt", "tags"]
}
{
  "mv": "chirp-bluejay",
  "tags": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
  "title": "Hi Instrumental",
  "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 v4.5+ or higher
  • Introduced by Suno in August 2025
  • Upload an instrumental track and let Suno write lyrics and add vocals
  • task must be overpainting
  • overpainting_clip_id is the upload_clip_id
  • overpainting_end_s must be less than or equal to the upload's duration
  • Billing: cost of one song generation
  • Cross-account not allowed

A. Upload Instrumental Track

post https://api.openai-hk.com/suno/uploads/audio-url

shell
curl --request POST \
  --url https://api.openai-hk.com/suno/uploads/audio-url \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}'
curl --request POST \
  --url https://api.openai-hk.com/suno/uploads/audio-url \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}'

Returns clip_id as upload_clip_id:

json
{
  "clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "code": "success",
  "data": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "message": ""
}
{
  "clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "code": "success",
  "data": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "message": ""
}

B. Get Song Duration and Parameters

get http://api.openai-hk.com/suno/feed/9b1d2e8d-a365-4bfd-8a18-8989e159b29f

  • Use the feed API to get metadata.duration
  • Also retrieve metadata.tags (Tags)

C. Execute Add Vocals

post https://api.openai-hk.com/suno/generate

  • task must be overpainting
  • overpainting_clip_id is the upload_clip_id
  • overpainting_end_s must be less than or equal to the upload's metadata.duration
  • tags should match the upload's metadata.tags
  • Request body:
json
{
  "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": "Write the lyrics yourself",
  "override_fields": ["prompt", "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": "Write the lyrics yourself",
  "override_fields": ["prompt", "tags"]
}

18. Get MIDI

A. Full-Track Separated clip_id

  • Obtain a clip_id from 14. all-stems: Full Track Separation with value a624123d-22cc-4d4d-bf28-78d312f61597
  • Note: regular music clip_id can also be used, but on the official site only full-track separated clips have this feature
  • Billing: 100 credits
  • Cross-account not supported; unavailable if account expires

B. Get MIDI

get https://api.openai-hk.com/suno/act/midi/c5bffd3a-96ad-4e83-9fbe-4720a5b9a664

  • While still processing:
json
{ "state": "running" }
{ "state": "running" }
  • On completion:
json
{
    "state": "complete",
    "instruments": [
        {
            "name": "String Ensembles 1",
            "notes": [
             {
                    "pitch": 60,
                    "start": 1.1041666666666667,
                    "end": 1.9583333333333333,
                    "velocity": 0.7165354330708661
                },
               ......
            ]

        },
        ......
    ]
}
{
    "state": "complete",
    "instruments": [
        {
            "name": "String Ensembles 1",
            "notes": [
             {
                    "pitch": 60,
                    "start": 1.1041666666666667,
                    "end": 1.9583333333333333,
                    "velocity": 0.7165354330708661
                },
               ......
            ]

        },
        ......
    ]
}

19. Expand Style Tags

  • Tags are the same as style
  • If you don't know how to write a style, use this API
  • Billing: 100 credits

post https://api.openai-hk.com/suno/act/tags

shell
curl --request POST \
  --url https://api.openai-hk.com/suno/act/tags \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --header 'myuid: 123' \
  --data '{"original_tags":"student"}'
curl --request POST \
  --url https://api.openai-hk.com/suno/act/tags \
  --header 'Authorization: Bearer hk-your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --header 'myuid: 123' \
  --data '{"original_tags":"student"}'
  • original_tags: pass in a relevant prompt keyword

  • Response:

json
{
  "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"
}
{
  "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"
}

20. Remaster

post https://api.openai-hk.com/suno/generate

  • model_name: chirp-carp for v5, chirp-bass for v4.5+

  • clip_id: the ID to remaster

  • variation_category is only supported on v5+, and has only 3 values: high, normal, subtle

  • Cross-account not allowed

  • Billing: cost of one generation

  • Request body:

json
{
  "clip_id": "e8bd1ba8-63cd-45f9-b340-7d00f5cfd25b",
  "model_name": "chirp-carp",
  "variation_category": "high"
}
{
  "clip_id": "e8bd1ba8-63cd-45f9-b340-7d00f5cfd25b",
  "model_name": "chirp-carp",
  "variation_category": "high"
}

21. Persona-v2-vox: Singer Style

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value 7b5a87af-d567-4444-97c2-387ba5c816d5

B. Get Vox

post https://api.openai-hk.com/suno/act/vox/{clip_id}

json
{
  "vocal_start_s": 45,
  "vocal_end_s": 74
}
{
  "vocal_start_s": 45,
  "vocal_end_s": 74
}

Response: the id field is vox_audio_id = e044ac0d-7eb1-4014-b134-3ff7656886be

json
{
	"id": "e044ac0d-7eb1-4014-b134-3ff7656886be",
	"source_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
	"status": "complete",
	"vocal_audio_url": "https://cdn1.suno.ai/processed_e044ac0d-7eb1-4014-b134-3ff7656886be_vocals.m4a",
	"vocal_end_s": 74,
	"vocal_start_s": 45,
	"wave_response": {
		"waveform_aggregates": [
			{
				"data": [
					[
						-54,
						60,
						-146,
            ...
          ]
        ]
      }
    ]
  }
}
{
	"id": "e044ac0d-7eb1-4014-b134-3ff7656886be",
	"source_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
	"status": "complete",
	"vocal_audio_url": "https://cdn1.suno.ai/processed_e044ac0d-7eb1-4014-b134-3ff7656886be_vocals.m4a",
	"vocal_end_s": 74,
	"vocal_start_s": 45,
	"wave_response": {
		"waveform_aggregates": [
			{
				"data": [
					[
						-54,
						60,
						-146,
            ...
          ]
        ]
      }
    ]
  }
}

C. Create Persona

post https://api.openai-hk.com/sunoapi/persona/create/

  • root_clip_id must exist in the system and cannot be an uploaded clip; obtained from Step A
  • Cross-account not supported — may be unavailable if account expires
  • To prevent abuse, 100 credits will be deducted
  • vocal_end_s - vocal_start_s must be less than 30
  • persona_type must be vox

Request body:

json
{
  "root_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
  "name": "food",
  "description": "123",
  "is_public": true,
  "persona_type": "vox",
  "vox_audio_id": "e044ac0d-7eb1-4014-b134-3ff7656886be",
  "vocal_start_s": 66.3,
  "vocal_end_s": 95.3,
  "user_input_styles": "Style: Verse—Chinese Folk narrative + Chorus—explosive rock + Hook—catchy, repetitive loop. A breezy guitar riff kicks in with building drum intensity, blended with \"keyboard typing sounds + faint vocal samples,\" followed by electronic effects layering after 15 seconds. The intro cuts abruptly into the verse with a sharp, punchy \"Lao Xu!\" to instantly grab attention."
}
{
  "root_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
  "name": "food",
  "description": "123",
  "is_public": true,
  "persona_type": "vox",
  "vox_audio_id": "e044ac0d-7eb1-4014-b134-3ff7656886be",
  "vocal_start_s": 66.3,
  "vocal_end_s": 95.3,
  "user_input_styles": "Style: Verse—Chinese Folk narrative + Chorus—explosive rock + Hook—catchy, repetitive loop. A breezy guitar riff kicks in with building drum intensity, blended with \"keyboard typing sounds + faint vocal samples,\" followed by electronic effects layering after 15 seconds. The intro cuts abruptly into the verse with a sharp, punchy \"Lao Xu!\" to instantly grab attention."
}

Response: the key id value fd213afd-ac1c-4822-9802-c1c0ea45e77b is the persona_id for the next step

json
{
  "id": "fd213afd-ac1c-4822-9802-c1c0ea45e77b",
  "name": "food",
  "description": "123",
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "clip": {
    "id": "54834687-5e79-4f08-8e14-cf188f15b598"
  }
}
{
  "id": "fd213afd-ac1c-4822-9802-c1c0ea45e77b",
  "name": "food",
  "description": "123",
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "clip": {
    "id": "54834687-5e79-4f08-8e14-cf188f15b598"
  }
}

D. Create Using persona_id

post https://api.openai-hk.com/suno/generate

  • task must be vox (previously artist_consistency)
  • Note: mv only supports chirp-crow (v5+)
  • persona_id is obtained from Step C
  • artist_clip_id is the clip_id from Step A
  • Cross-account supported
  • To use chirp-v4-tau, chirp-auk, or chirp-bluejay, task must be artist_consistency
json
{
  "prompt": "[Verse]\nThe noise finally steps aside,\nMoonlight quietly climbs the window frame.\nWeary soul, put down your disguise,\nHide in the soft world of dreams.\n[Chorus] (recommend soft breathy vocals, extremely gentle)\nGoodnight, starlight by the pillow,\nTake you drifting through the Milky Way.\nForget the panic of the daylight,\nSleep now, the night is long.",
  "generation_type": "TEXT",
  "tags": "Ethereal Lullaby, Acoustic Piano, Ambient, Healing, Slow Tempo",
  "negative_tags": "",
  "mv": "chirp-crow",
  "title": "Goodnight",
  "task": "vox",
  "persona_id": "88cca736-7263-4794-8480-360c0123b6fc",
  "artist_clip_id": "6c983654-7ee9-4e1f-b195-47259a5bed48"
}
{
  "prompt": "[Verse]\nThe noise finally steps aside,\nMoonlight quietly climbs the window frame.\nWeary soul, put down your disguise,\nHide in the soft world of dreams.\n[Chorus] (recommend soft breathy vocals, extremely gentle)\nGoodnight, starlight by the pillow,\nTake you drifting through the Milky Way.\nForget the panic of the daylight,\nSleep now, the night is long.",
  "generation_type": "TEXT",
  "tags": "Ethereal Lullaby, Acoustic Piano, Ambient, Healing, Slow Tempo",
  "negative_tags": "",
  "mv": "chirp-crow",
  "title": "Goodnight",
  "task": "vox",
  "persona_id": "88cca736-7263-4794-8480-360c0123b6fc",
  "artist_clip_id": "6c983654-7ee9-4e1f-b195-47259a5bed48"
}

22. Mashup

A. Generate Music

Use scenarios 1, 2, or 3 to generate music and get two songs: clip_id_1 = 9f102969-0024-479e-b38f-c0c5db21383dclip_id_2 = 6aebb715-701c-433f-b976-a7ff5cf16255

B. Generate Mashup

  • task must be mashup_condition
  • mashup_clip_ids is the array ['clip_id_1', 'clip_id_2'] from Step A
  • prompt is the lyrics; if you want to mix lyrics from both songs, refer to 23. Lyrics Mashup
  • Billing: base cost of one song generation

post https://api.openai-hk.com/suno/generate

json
{
  "task": "mashup_condition",
  "generation_type": "TEXT",
  "title": "Banban83 vs bluespawn x Orphan of Guangzhou (Mashup)",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "You keep turning back inside the station\nI can't bring myself to leave outside\nI have an ominous feeling\nToday's farewell feels like a breakup\n \nYou disappear into the crowd\nLike a dream scattered by the wind\nGuangzhou South Station, crowds surging\nWho cares about the pain in my heart\n \nI'm like an orphan of Guangzhou\nI'm like a superfluous orphan\nI'm like a helpless orphan\nAlone again now\n \nSafe travels my loved one\nTake care my loved one\nSafe travels the one who left\nTake care the one gone far away",

  "mashup_clip_ids": [
    "9f102969-0024-479e-b38f-c0c5db21383d",
    "6aebb715-701c-433f-b976-a7ff5cf16255"
  ]
}
{
  "task": "mashup_condition",
  "generation_type": "TEXT",
  "title": "Banban83 vs bluespawn x Orphan of Guangzhou (Mashup)",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "You keep turning back inside the station\nI can't bring myself to leave outside\nI have an ominous feeling\nToday's farewell feels like a breakup\n \nYou disappear into the crowd\nLike a dream scattered by the wind\nGuangzhou South Station, crowds surging\nWho cares about the pain in my heart\n \nI'm like an orphan of Guangzhou\nI'm like a superfluous orphan\nI'm like a helpless orphan\nAlone again now\n \nSafe travels my loved one\nTake care my loved one\nSafe travels the one who left\nTake care the one gone far away",

  "mashup_clip_ids": [
    "9f102969-0024-479e-b38f-c0c5db21383d",
    "6aebb715-701c-433f-b976-a7ff5cf16255"
  ]
}

23. Lyrics Mashup: Lyrics Mashup

json
{
  "lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
  "lyrics_b": "You keep turning back inside the station\nI can't bring myself to leave outside\nI have an ominous feeling\nToday's farewell feels like a breakup\n \nYou disappear into the crowd\nLike a dream scattered by the wind\nGuangzhou South Station, crowds surging\nWho cares about the pain in my heart\n \nI'm like an orphan of Guangzhou\nI'm like a superfluous orphan\nI'm like a helpless orphan\nAlone again now\n \nSafe travels my loved one\nTake care my loved one\nSafe travels the one who left\nTake care the one gone far away"
}
{
  "lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
  "lyrics_b": "You keep turning back inside the station\nI can't bring myself to leave outside\nI have an ominous feeling\nToday's farewell feels like a breakup\n \nYou disappear into the crowd\nLike a dream scattered by the wind\nGuangzhou South Station, crowds surging\nWho cares about the pain in my heart\n \nI'm like an orphan of Guangzhou\nI'm like a superfluous orphan\nI'm like a helpless orphan\nAlone again now\n \nSafe travels my loved one\nTake care my loved one\nSafe travels the one who left\nTake care the one gone far away"
}

Result:

json
{
  "lyrics_request_id": "04edfa84-290e-4a08-bd35-73906079b26e",
  "mashup_id": "1c250665-a7c9-4852-97d1-3d291ebb9565",
  "response": {
    "error_message": "",
    "status": "complete",
    "tags": [],
    "text": "You keep turning back inside the station  \nI can't bring myself to leave outside  \nI have an ominous feeling  \nToday's farewell feels like a breakup  \n\nSambuy come back  \nbluespawn greenspawn are making you a spawn  \nSambuy come back  \nbluespawn greenspawn are making you a spawn  \n\nYou disappear into the crowd  \nLike a dream scattered by the wind  \nGuangzhou South Station, crowds surging  \nWho cares about the pain in my heart  \n\nSambuy come back  \nbluespawn greenspawn  \nare making you a spawn  \n\nI'm like an orphan of Guangzhou  \nI'm like a superfluous orphan  \nI'm like a helpless orphan  \nAlone again now  \n\nSafe travels my loved one  \nTake care my loved one  \nSafe travels the one who left  \nTake care the one gone far away  \n\nSambuy come back  \nbluespawn greenspawn are making you a spawn  \nSambuy don't go  \nbluespawn greenspawn are making you a spawn",
    "title": "Lyrics Mashup"
  }
}
{
  "lyrics_request_id": "04edfa84-290e-4a08-bd35-73906079b26e",
  "mashup_id": "1c250665-a7c9-4852-97d1-3d291ebb9565",
  "response": {
    "error_message": "",
    "status": "complete",
    "tags": [],
    "text": "You keep turning back inside the station  \nI can't bring myself to leave outside  \nI have an ominous feeling  \nToday's farewell feels like a breakup  \n\nSambuy come back  \nbluespawn greenspawn are making you a spawn  \nSambuy come back  \nbluespawn greenspawn are making you a spawn  \n\nYou disappear into the crowd  \nLike a dream scattered by the wind  \nGuangzhou South Station, crowds surging  \nWho cares about the pain in my heart  \n\nSambuy come back  \nbluespawn greenspawn  \nare making you a spawn  \n\nI'm like an orphan of Guangzhou  \nI'm like a superfluous orphan  \nI'm like a helpless orphan  \nAlone again now  \n\nSafe travels my loved one  \nTake care my loved one  \nSafe travels the one who left  \nTake care the one gone far away  \n\nSambuy come back  \nbluespawn greenspawn are making you a spawn  \nSambuy don't go  \nbluespawn greenspawn are making you a spawn",
    "title": "Lyrics Mashup"
  }
}

24. Samples: Sample-Based Song Generation

A. Generate Music

  • Use scenarios 1, 2, or 3 to generate music and get one song's clip_id with value 0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88
  • Or obtain a clip_id via the upload API

B. Generate Samples

  • task must be chop_sample_condition
  • chop_sample_clip_id is the clip_id from Step A
  • chop_sample_start_s: sample start time
  • chop_sample_end_s: sample end time
  • Billing: base cost of one song generation
  • Cross-account allowed

post https://api.openai-hk.com/suno/generate

json
{
  "task": "chop_sample_condition",
  "generation_type": "TEXT",
  "title": "Breaking My Own News",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "[Verse 1]\nPhone lit up\nHeadline in my hand\nFeels made up\nStill says "you won't understand"\nYour name\nMy name\nSide by side in the scroll\nCold black text\nOn a story I used to hold\n\n[Chorus]\nYou're breaking news\nAnd I'm just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou're a story now\nAnd I'm the one you broke it to\n\n[Verse 2]\nNeighbors talk\nThrough a half-closed door\nCoffee cools\nOn a cracked old floor\nYour suitcase snaps\nLike a camera flash\nOne last quote\nThen you cut to black\n\n[Chorus]\nYou're breaking news\nAnd I'm just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou're a story now\nAnd I'm the one you broke it to\n\n[Bridge]\nIs there a line\nWhere we rewind\nOr just a feed\nThat leaves us behind\nTell me\nWho gets\nThe final view\nWhen I stop trending\nWith you\n\n[Chorus]\nYou're breaking news\nAnd I'm just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou're a story now\nAnd I'm the one you broke it to (yeah)",
  "chop_sample_clip_id": "0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88",
  "chop_sample_start_s": 59.88,
  "chop_sample_end_s": 102.16
}
{
  "task": "chop_sample_condition",
  "generation_type": "TEXT",
  "title": "Breaking My Own News",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "[Verse 1]\nPhone lit up\nHeadline in my hand\nFeels made up\nStill says "you won't understand"\nYour name\nMy name\nSide by side in the scroll\nCold black text\nOn a story I used to hold\n\n[Chorus]\nYou're breaking news\nAnd I'm just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou're a story now\nAnd I'm the one you broke it to\n\n[Verse 2]\nNeighbors talk\nThrough a half-closed door\nCoffee cools\nOn a cracked old floor\nYour suitcase snaps\nLike a camera flash\nOne last quote\nThen you cut to black\n\n[Chorus]\nYou're breaking news\nAnd I'm just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou're a story now\nAnd I'm the one you broke it to\n\n[Bridge]\nIs there a line\nWhere we rewind\nOr just a feed\nThat leaves us behind\nTell me\nWho gets\nThe final view\nWhen I stop trending\nWith you\n\n[Chorus]\nYou're breaking news\nAnd I'm just breaking\nFront-page truth\nHeart still shaking\nEverybody reads\nWhat we already knew\nYou're a story now\nAnd I'm the one you broke it to (yeah)",
  "chop_sample_clip_id": "0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88",
  "chop_sample_start_s": 59.88,
  "chop_sample_end_s": 102.16
}