Suno Use-Case Scenarios
- 2026.02.04 Suno supports version
suno-v4.5-all, mv ischirp-auk-turbo, same price assuno-3.5 - 2025.09.23 Suno supports version
v5, mv ischirp-crow - 2025.07.17 Suno supports version
v4.5+, mv ischirp-bluejay - 2025.05.03 Suno supports version
v4.5, mv ischirp-auk - Suno supports different scenarios through different request formats
- All submissions are
POSTtohttps://api.openai-hk.com/sunoapi/generate - All results are retrieved via
GEThttps://api.openai-hk.com/sunoapi/feed/clipsId1,clipsId2 - The following request bodies produce different effects
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
{
"gpt_description_prompt": "nostalgia"
}{
"gpt_description_prompt": "nostalgia"
}2. Custom Lyrics & Title
{
"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)
{
"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)
{
"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, orchirp-bluejay - task must be
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"
}{
"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:
mvhere ischirp-v3-5-uploadorchirp-v4-upload
{
"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
- Note:
is_infillmust befalse - After getting the replaced song ID, use the query API to check status
- Billing: cost of one song
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:
{
"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
{
"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
- Note:
is_infillmust befalse - After getting the replaced song ID, use the query API to check status
- Billing: 100 credits (¥0.01)
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:
{
"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_idwith valueabcd-1234-1234-1234-abd - You can also use the upload API to get a
clip_idfor covering custom audio
B. Cover Music
- Note:
mvmust bechirp-v4,chirp-auk, orchirp-bluejay taskmust becover- Cross-account usage is supported — no need to worry about account expiry
- If
cover_clip_idis an uploaded clip_id, cross-account is not supported mvno longer useschirp-v3-5-tauorchirp-v4-tau
{
"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
taskmust beinfill- Note:
mvmust bechirp-v4,chirp-auk, orchirp-bluejay - Reminder: the replacement lyrics should overlap with the original lyrics; ideally the timing should correspond
infill_start_sstart time,infill_end_send 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_idvalues; choose one (newid-1234-1234-1234-one) for the next step mvno longer useschirp-v3-5-tauorchirp-v4-tau
{
"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
- Note:
is_infillmust betrue - After getting the replaced song ID, use the query API to check status
- Billing: 100 credits (¥0.01)
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:
{
"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 sidein clip_id4cd8a76f-802a-42a5-8064-3ba9c6138072withjust missing yesterday without you by my side - Actually only replacing
by my side→yesterday
A. Get Timeline
get https://api.openai-hk.com/suno/act/timing/4cd8a76f-802a-42a5-8064-3ba9c6138072
- Timeline content parameters can be downloaded here: https://www.openai-hk.com/res/timing.json
- Search for the target word to find its
start_sfromaligned_lyrics[8].words[8]=60.6asinfill_context_start_s
{
"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.6asinfill_context_end_s
{
"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]
{
"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
taskmust befixed_infill- Note:
mvonly supportschirp-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_idvalues; choose one (newid-1234-1234-1234-one) for the next step
{
"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
- Note:
is_infillmust betrue - After getting the replaced song ID, use the query API to check status
- Billing: 100 credits (¥0.01)
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:
{
"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
clip_idmust 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:
{
"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
{
"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
- Note:
mvmust bechirp-v4,chirp-auk, orchirp-bluejay taskmust beartist_consistencypersona_idis the value obtained from Step Bartist_clip_idis the clip_id from Step A- Cross-account supported
mvno longer useschirp-v3-5-tauorchirp-v4-tau
{
"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:
{
"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)
Official API deprecated, please use the new API below
get https://api.openai-hk.com/sunoapi/act/stems/a624123d-22cc-4d4d-bf28-78d312f61597
To prevent abuse,
100credits will be deductedResponse returns clip_1 and clip_2
Cross-account not supported; unavailable if account expires
B. Separate Vocals/Instrumental (New)
Request body:
- Note:
mvmust bechirp-auk taskmust begen_stemstem_taskmust betwostem_type_group_namemust beTwocontinue_clip_idis the clip_id from Step A- Cross-account supported
- Billing: cost of one generation
{
"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:
{
"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
Response:
[
{
"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
- Cross-account supported
get https://api.openai-hk.com/sunoapi/act/timing/a624123d-22cc-4d4d-bf28-78d312f61597
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
}{
"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_urlin the response isnull, try requesting again - To prevent abuse,
100credits will be deducted - Cross-account not supported; unavailable if account expires
- Response:
{
"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
completefor this to work - After execution, wait ~30 seconds before the URL becomes accessible
- To prevent abuse,
100credits will be deducted - Cross-account not supported; unavailable if account expires
- Response:
{
"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
- Note:
mvmust bechirp-auk taskmust begen_stemstem_taskmust betwelvestem_type_group_namemust beTwelvecontinue_clip_idis the clip_id from Step A- Cross-account supported
- Billing: 5× base price — cost of 5 requests / 10 songs
{
"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:
{
"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
- 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_weightonly appears duringcover,Add Instrumental, andAdd Vocals- All values range from 0 to 1
- In September 2025,
vocal_genderwas added: femalef, malem
A. Standard Generation
{
"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_weightparameter
{
"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
taskmust beunderpaintingunderpainting_clip_idis theupload_clip_idunderpainting_end_smust be less than or equal to the upload'sduration- Billing: cost of one song generation
- Cross-account not allowed
A. Upload A Cappella Track
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:
{
"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
taskmust beunderpaintingunderpainting_clip_idis theupload_clip_idunderpainting_end_smust be less than or equal to the upload'sduration- It's best to leave the lyrics empty since this is for adding music
- Request body:
{
"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
taskmust beoverpaintingoverpainting_clip_idis theupload_clip_idoverpainting_end_smust be less than or equal to the upload'sduration- Billing: cost of one song generation
- Cross-account not allowed
A. Upload Instrumental Track
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:
{
"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
taskmust beoverpaintingoverpainting_clip_idis theupload_clip_idoverpainting_end_smust be less than or equal to the upload'smetadata.durationtagsshould match the upload'smetadata.tags- Request body:
{
"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_idfrom 14. all-stems: Full Track Separation with valuea624123d-22cc-4d4d-bf28-78d312f61597 - Note: regular music
clip_idcan 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:
{ "state": "running" }{ "state": "running" }- On completion:
{
"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
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 keywordResponse:
{
"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
model_name:chirp-carpfor v5,chirp-bassfor v4.5+clip_id: the ID to remastervariation_categoryis only supported on v5+, and has only 3 values:high,normal,subtleCross-account not allowed
Billing: cost of one generation
Request body:
{
"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
- Cross-account not supported — may be unavailable if account expires
- To prevent abuse, 100 credits will be deducted
vocal_end_s-vocal_start_smust be less than 30post https://api.openai-hk.com/suno/act/vox/7b5a87af-d567-4444-97c2-387ba5c816d5
{
"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
{
"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
root_clip_idmust 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_smust be less than 30persona_typemust bevox
Request body:
{
"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
{
"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
taskmust bevox(previouslyartist_consistency)- Note:
mvonly supportschirp-crow(v5+) persona_idis obtained from Step Cartist_clip_idis the clip_id from Step A- Cross-account supported
- To use
chirp-v4-tau,chirp-auk, orchirp-bluejay,taskmust beartist_consistency
{
"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
taskmust bemashup_conditionmashup_clip_idsis the array['clip_id_1', 'clip_id_2']from Step Apromptis the lyrics; if you want to mix lyrics from both songs, refer to 23. Lyrics Mashup- Billing: base cost of one song generation
{
"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
lyrics_a: lyrics set 1lyrics_b: lyrics set 2- Billing: 100 credits/request
{
"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:
{
"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_idwith value0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88 - Or obtain a
clip_idvia the upload API
B. Generate Samples
taskmust bechop_sample_conditionchop_sample_clip_idis theclip_idfrom Step Achop_sample_start_s: sample start timechop_sample_end_s: sample end time- Billing: base cost of one song generation
- Cross-account allowed
{
"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
}
OpenAi-HK