Suno Application Scenarios
- 2025.07.17 Suno supports the new version
v4.5+
with MV aschirp-bluejay
- 2025.05.03 Suno supports the new version
v4.5
with MV aschirp-auk
- Suno can be applied to different scenarios by varying submission formats
- Submissions are all
POST
tohttps://api.openai-hk.com/sunoapi/generate
- Results are retrieved via
GET
athttps://api.openai-hk.com/sunoapi/feed/clipsId1,clipsId2
- Different effects can be achieved using the following request bodies
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]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"mv": "chirp-v3-5",
"title": "Work",
"tags": " edm"
}
{
"prompt": "[Verse]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"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 anthem-style dance pop song about dancing all night",
"mv": "chirp-v3-5",
"prompt": "",
"make_instrumental": true
}
{
"gpt_description_prompt": "A national anthem-style dance pop song about dancing all night",
"mv": "chirp-v3-5",
"prompt": "",
"make_instrumental": true
}
5. Extend Custom Audio
A. Upload Music
First, obtain the clip_id
(e.g., abcd-1234-1234-1234-abd
) via the upload endpoint.
B. Extend Music (With Version Info)
- MV:
chirp-v4
,chirp-auk
, orchirp-bluejay
- 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"
}
{
"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 Music (Deprecated)
Note: Here,
mv
is eitherchirp-v3-5-upload
orchirp-v4-upload
.
{
"prompt": "[Verse]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"tags": "heavy metal",
"mv": "chirp-v3-5-upload",
"title": "Work",
"continue_clip_id": "abcd-1234-1234-1234-abd",
"continue_at": 30.792
}
{
"prompt": "[Verse]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"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 Music
- Note:
is_infill
isfalse
. - Obtain the new song ID after replacement and check status via the query endpoint.
- Cost: Equivalent to one song.
POST
https://api.openai-hk.com/sunoapi/generate/concat
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 & Get Full Track
Note: Extending officially generated music only—custom uploads not supported.
A. Generate Music
Use scenarios 1, 2, or 3 to generate music and obtain a clip_id
(e.g., abcd-1234-1234-1234-abd
).
B. Extend Music
This will return 2 new clip_id
s, one of which is newid-1234-1234-1234-one
.
{
"prompt": "[Verse]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"tags": "heavy metal",
"mv": "chirp-v3-5",
"title": "Work",
"continue_clip_id": "abcd-1234-1234-1234-abd",
"continue_at": 30,
"task": "extend"
}
{
"prompt": "[Verse]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"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 Music
- Note:
is_infill
isfalse
. - Obtain the new song ID after replacement and check status via the query endpoint.
- Cost: 100 credits (equivalent to $0.01).
POST
https://api.openai-hk.com/sunoapi/generate/concat
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: Style Remix
A. Generate Music
Use scenarios 1, 2, or 3 to generate music and obtain a clip_id
(e.g., abcd-1234-1234-1234-abd
).
Alternatively, upload a custom audio file to cover.
B. Cover Music
- Note:
mv
ischirp-v4
,chirp-auk
, orchirp-bluejay
. task
iscover
.- Can be used across accounts—no worry about account deactivation.
- If
cover_clip_id
is from an upload, it cannot be used across accounts. mv
no longer useschirp-v3-5-tau
orchirp-v4-tau
.
{
"prompt": "[Verse]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"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]\nDays keep passing in a blur\nPiles of files never end\nDreams tucked deep inside a drawer\nCoffee cup gone cold again\n\n[Verse 2]\nClock in sharp at eight AM\nEyes so tired, barely there\nSmall talk feels so meaningless\nJust want time to disappear\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape\n\n[Verse 3]\nLunch break with a boxed meal\nSunshine bright outside the pane\nLife feels far from what I dreamed\nJust this desk and chair remain\n\n[Bridge]\nBoss's footsteps sound like thunder\nHeartbeats racing with the dread\nPapers stacked up to the ceiling\nGrumbles fade till all is said\n\n[Chorus]\nWork work, boss keeps calling\nFinish finish, then I'm safe\nOvertime just for some earnings\nDreams dreams when will they take shape",
"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: Modify Segment
A. Generate Music
Use scenarios 1, 2, or 3 to generate music and obtain a clip_id
(e.g., abcd-1234-1234-1234-abd
).
B. Replace Section
task
isinfill
.- Note:
mv
ischirp-v4
,chirp-auk
, orchirp-bluejay
. - Tip: The replacement lyrics should overlap with the original, ideally matching timing.
infill_start_s
: Start time,infill_end_s
: End time,infill_dur_s
=infill_end_s
-infill_start_s
.- Can be used across accounts.
- Returns 2 new
clip_id
s—select one (newid-1234-1234-1234-one
) for the next step. mv
no longer useschirp-v3-5-tau
orchirp-v4-tau
.
{
"task": "infill",
"generation_type": "TEXT",
"title": "Measure of Longing - Replace",
"tags": "Sorrow/Sad,Female Vocals,Mandarin",
"mv": "chirp-auk",
"prompt": "《Measure of Longing》 \n \nLyrics: Aguo Yiluo\nTree rings mark the warmth of your stride. \nEvery fallen leaf calls your name,\nBut the wind scatters them like mist. \nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past. \nTime is a rewinding tape,\nYour laughter clearer as night deepens. \nIf tears could water a time tunnel,\nI’d cry my eyes into an ocean. \nWhen every spring reminds me of you,\nI learn to breathe through wounds. \nLoving you still,\nWith all",
"metadata": {
"infill_lyrics": ". \nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past"
},
"continue_clip_id": "8a858961-8831-4423-8ffb-2dec096aea0a",
"continued_aligned_prompt": "《Measure of Longing》 \n \nLyrics: Aguo Yiluo\nTree rings mark the warmth of your stride. \nEvery fallen leaf calls your name,\nBut the wind scatters them like mist. \nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past. \nTime is a rewinding tape,\nYour laughter clearer as night deepens. \nIf tears could water a time tunnel,\nI’d cry my eyes into an ocean. \nWhen every spring reminds me of you,\nI learn to breathe through wounds. \nLoving you still,\nWith all \nMy lifeless heartbeat.\nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past. \nWhen every spring reminds me of you,\nI learn to breathe through wounds. \nLoving you still,\nWith all \nMy lifeless heartbeat.\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": "Measure of Longing - Replace",
"tags": "Sorrow/Sad,Female Vocals,Mandarin",
"mv": "chirp-auk",
"prompt": "《Measure of Longing》 \n \nLyrics: Aguo Yiluo\nTree rings mark the warmth of your stride. \nEvery fallen leaf calls your name,\nBut the wind scatters them like mist. \nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past. \nTime is a rewinding tape,\nYour laughter clearer as night deepens. \nIf tears could water a time tunnel,\nI’d cry my eyes into an ocean. \nWhen every spring reminds me of you,\nI learn to breathe through wounds. \nLoving you still,\nWith all",
"metadata": {
"infill_lyrics": ". \nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past"
},
"continue_clip_id": "8a858961-8831-4423-8ffb-2dec096aea0a",
"continued_aligned_prompt": "《Measure of Longing》 \n \nLyrics: Aguo Yiluo\nTree rings mark the warmth of your stride. \nEvery fallen leaf calls your name,\nBut the wind scatters them like mist. \nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past. \nTime is a rewinding tape,\nYour laughter clearer as night deepens. \nIf tears could water a time tunnel,\nI’d cry my eyes into an ocean. \nWhen every spring reminds me of you,\nI learn to breathe through wounds. \nLoving you still,\nWith all \nMy lifeless heartbeat.\nYour guitar in the corner \nHolds all the rainy seasons,\nDampening the rosewood’s spine. \nIf longing could be wound into new strings,\nThey’d shatter at a touch \nInto echoes of the past. \nWhen every spring reminds me of you,\nI learn to breathe through wounds. \nLoving you still,\nWith all \nMy lifeless heartbeat.\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 & Concatenate Full Music
- Note:
is_infill
istrue
. - Obtain the new song ID after replacement and check status via the query endpoint.
- Cost: 100 credits (equivalent to $0.01).
POST
https://api.openai-hk.com/sunoapi/generate/concat
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: Artist Style
A. Generate Music
Use scenarios 1, 2, or 3 to generate music and obtain a clip_id
(e.g., 54834687-5e79-4f08-8e14-cf188f15b598
).
B. Create Persona
POST
https://api.openai-hk.com/sunoapi/persona/create/
clip_id
must exist in the system (not from upload).- Cannot be used across accounts—deactivated accounts lose access.
- Costs 100 credits to prevent abuse.
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: Key id
(e.g., fd213afd-ac1c-4822-9802-c1c0ea45e77b
) is set as 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
POST
https://api.openai-hk.com/suno/generate
- Note:
mv
ischirp-v4
,chirp-auk
, orchirp-bluejay
. task
isartist_consistency
.persona_id
is obtained from step B.artist_clip_id
is theclip_id
from step A.- Can be used across accounts.
mv
no longer useschirp-v3-5-tau
orchirp-v4-tau
.
{
"prompt": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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 till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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": "[Verse]\nFrom dawn till dusk you're by my side\nWarming me through storm and tide\nNo fear when winds are wild and wide\nHand in hand we'll never divide\n\n[Verse 2]\nWith you I'm never left alone\nLike stars that guide me when I roam\nNo road too far, no path unknown\nYou're the light that leads me home\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Verse 3]\nYou're my shelter from the gale\nEvery night you fill my dreams\nThough life may test and trials assail\nWith you all things gleam\n\n[Chorus]\nDarling darling I love you true\nYou're the only one I pursue\nNo matter where this world may take me\nMy heart will always follow you\n\n[Bridge]\nEvery moment life bestows\nWith you I learn and grow\nAll tomorrows brighter glow\nWith you I stand tall and know",
"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: Vocal & Instrumental Separation
- Vocals: Isolated vocal track.
- Instrumental: Backing track (no vocals).
A. Generate Music
Use scenarios 1, 2, or 3 to generate music and obtain a clip_id
(e.g., a624123d-22cc-4d4d-bf28-78d312f61597
).
B. Stem Separation (Deprecated)
- Officially deprecated—use the new endpoint below.
GET
https://api.openai-hk.com/sunoapi/act/stems/a624123d-22cc-4d4d-bf28-78d312f61597
- Costs
100
credits to prevent abuse. - Returns
clip_1
andclip_2
. - Cannot be used across accounts—deactivated accounts lose access.
B. Stem Separation (New)
Request Body
- Note:
mv
ischirp-auk
task
isgen_stem
stem_task
istwo
stem_type_group_name
isTwo
continue_clip_id
is theclip_id
from Step A- Cross-account allowed
- Billing: One generation fee
{
"task": "gen_stem",
"generation_type": "TEXT",
"title": "String of Safety",
"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": "String of Safety",
"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 Body
{
"clips": [
{
"id": "5f3587e2-75fb-4c36-84b3-3ec113897a4c",
"video_url": "",
"audio_url": "",
"major_model_version": "",
"model_name": "",
"metadata": {
"tags": "Chinese",
"prompt": "Under the distant starry sky, who still lingers in hesitation?\nLike a fish that cannot swim, I can only blame myself for not having strong fins.\nTurn hesitation into strength, take setbacks as your guide.\nUntil the dream comes true, I stand firm in waiting.\nYesterday’s time has slipped away, tomorrow I will follow the wind’s footsteps, climbing to the peak.\nCall out, let’s set off, riding on the back of the dream dragon, traversing the bumps of fate.\nBreak free from the shackles of hardship, even if everything is lost, people still yearn for a warm embrace.\nThe reason people can feel others’ joy is because of kindness in their hearts.\nTurn hesitation into strength, take setbacks as your guide.\nI’m still that fish that cannot swim, blaming myself for not having strong fins.",
"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": "Under the distant starry sky, who still lingers in hesitation?\nLike a fish that cannot swim, I can only blame myself for not having strong fins.\nTurn hesitation into strength, take setbacks as your guide.\nUntil the dream comes true, I stand firm in waiting.\nYesterday’s time has slipped away, tomorrow I will follow the wind’s footsteps, climbing to the peak.\nCall out, let’s set off, riding on the back of the dream dragon, traversing the bumps of fate.\nBreak free from the shackles of hardship, even if everything is lost, people still yearn for a warm embrace.\nThe reason people can feel others’ joy is because of kindness in their hearts.\nTurn hesitation into strength, take setbacks as your guide.\nI’m still that fish that cannot swim, blaming myself for not having strong fins.",
"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. Fetch Results
Response Body
[
{
"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": "Under the distant starry sky, who still lingers in hesitation?\nLike a fish that cannot swim, I can only blame myself for not having strong fins.\nTurn hesitation into strength, take setbacks as your guide.\nUntil the dream comes true, I stand firm in waiting.\nYesterday’s time has slipped away, tomorrow I will follow the wind’s footsteps, climbing to the peak.\nCall out, let’s set off, riding on the back of the dream dragon, traversing the bumps of fate.\nBreak free from the shackles of hardship, even if everything is lost, people still yearn for a warm embrace.\nThe reason people can feel others’ joy is because of kindness in their hearts.\nTurn hesitation into strength, take setbacks as your guide.\nI’m still that fish that cannot swim, blaming myself for not having strong fins.",
"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": "Under the distant starry sky, who still lingers in hesitation?\nLike a fish that cannot swim, I can only blame myself for not having strong fins.\nTurn hesitation into strength, take setbacks as your guide.\nUntil the dream comes true, I stand firm in waiting.\nYesterday’s time has slipped away, tomorrow I will follow the wind’s footsteps, climbing to the peak.\nCall out, let’s set off, riding on the back of the dream dragon, traversing the bumps of fate.\nBreak free from the shackles of hardship, even if everything is lost, people still yearn for a warm embrace.\nThe reason people can feel others’ joy is because of kindness in their hearts.\nTurn hesitation into strength, take setbacks as your guide.\nI’m still that fish that cannot swim, blaming myself for not having strong fins.",
"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
You can generate music using Scenarios 1, 2, or 3 and obtain the clip_id
of one song, e.g., 54834687-5e79-4f08-8e14-cf188f15b598
.
B. Fetch Lyrics
- Cross-account allowed
get https://api.openai-hk.com/sunoapi/act/timing/a624123d-22cc-4d4d-bf28-78d312f61597
Response Body
{
"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: Fetch WAV Format File
A. Generate Music
You can generate music using Scenarios 1, 2, or 3 and obtain the clip_id
of one song, e.g., a624123d-22cc-4d4d-bf28-78d312f61597
.
B. Fetch WAV File
get https://api.openai-hk.com/sunoapi/act/wav/a624123d-22cc-4d4d-bf28-78d312f61597
- If the response
wav_file_url
isnull
, try fetching multiple times. - To prevent abuse, 100 credits will be deducted.
- Cross-account not allowed; unavailable after account logout.
Response Body
{
"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
You can generate music using Scenarios 1, 2, or 3 and obtain the clip_id
of one song, e.g., a624123d-22cc-4d4d-bf28-78d312f61597
.
B. Fetch MP4 File
get https://api.openai-hk.com/sunoapi/act/mp4/a624123d-22cc-4d4d-bf28-78d312f61597
- The status must be
complete
for execution to take effect. - Wait 30 seconds after execution before the URL becomes accessible.
- To prevent abuse, 100 credits will be deducted.
- Cross-account not allowed; unavailable after account logout.
Response Body
{
"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 Stem Separation
A. Generate Music
You can generate music using Scenarios 1, 2, or 3 and obtain the clip_id
of one song, e.g., a624123d-22cc-4d4d-bf28-78d312f61597
.
B. Full-Track Stem Separation
- Note:
mv
ischirp-auk
task
isgen_stem
stem_task
istwelve
stem_type_group_name
isTwelve
continue_clip_id
is theclip_id
from Step A- Cross-account allowed
- Billing: 5x base price (equivalent to 5 generations, 10 songs).
{
"task": "gen_stem",
"generation_type": "TEXT",
"title": "String of Safety",
"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": "String of Safety",
"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
- Fetch all 24 clip_ids in one go.
Example Response Body
{
"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": "String of Safety (Vocals)",
"play_count": 0,
"upvote_count": 0,
"is_public": false,
"allow_comments": true
},
{
"more": "There are 24 similar items"
}
],
"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": "String of Safety (Vocals)",
"play_count": 0,
"upvote_count": 0,
"is_public": false,
"allow_comments": true
},
{
"more": "There are 24 similar items"
}
],
"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. Fetch Results
- Concatenate all 24
clip_ids
and fetch in one request.
15. Premium Parameters
- In June 2025, Suno introduced 3 premium parameters:
weirdness_constraint
style_weight
audio_weight
(only appears incover
mode)
- All values range between 0 and 1.
- In September 2025,
vocal_gender
was added:- Female (
f
) - Male (
m
)
- Female (
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
audio_weight
is available incover
mode.
{
"prompt": "[Verse]\nNew Year’s bell rings loud\nFireworks light up the night\nLaughter spreads all around\nGood luck stays by our side\n\n[Chorus]\nHappy New Year, full of cheer\nRed lanterns shine so bright\nReunion brings joy so near\nWishes come true tonight\n\n[Verse 2]\nSpring breeze softly blows\nBringing flowers in bloom\nNew clothes, new hopes\nDreams begin to resume\n\n[Chorus]\nHappy New Year, full of cheer\nRed lanterns shine so bright\nReunion brings joy so near\nWishes come true tonight\n\n[Bridge]\nFirecrackers sound anew\nWelcoming chances so true\nEvery home feels the hue\nNew Year’s spirit shines through\n\n[Chorus]\nHappy New Year, full of cheer\nRed lanterns shine so bright\nReunion brings joy so near\nWishes come true tonight",
"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 rings loud\nFireworks light up the night\nLaughter spreads all around\nGood luck stays by our side\n\n[Chorus]\nHappy New Year, full of cheer\nRed lanterns shine so bright\nReunion brings joy so near\nWishes come true tonight\n\n[Verse 2]\nSpring breeze softly blows\nBringing flowers in bloom\nNew clothes, new hopes\nDreams begin to resume\n\n[Chorus]\nHappy New Year, full of cheer\nRed lanterns shine so bright\nReunion brings joy so near\nWishes come true tonight\n\n[Bridge]\nFirecrackers sound anew\nWelcoming chances so true\nEvery home feels the hue\nNew Year’s spirit shines through\n\n[Chorus]\nHappy New Year, full of cheer\nRed lanterns shine so bright\nReunion brings joy so near\nWishes come true tonight",
"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
- Introduced in August 2025,
Add Instrumental
allows uploading an a cappella (vocals-only) track for Suno to add backing music. task
isunderpainting
underpainting_clip_id
is theupload_clip_id
underpainting_end_s
must be ≤ the uploaded track’sduration
- Billing: One song fee
- No cross-account usage
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"
}'
Response (clip_id: 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. Fetch Track Duration
get http://api.openai-hk.com/suno/feed/9b1d2e8d-a365-4bfd-8a18-8989e159b29f
- Obtain
metadata.duration
(track length).
C. Execute Add Instrumental
task
isunderpainting
underpainting_clip_id
is theupload_clip_id
underpainting_end_s
must be ≤ the uploaded track’sduration
- Avoid lyrics (since this is for backing 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
- Introduced in August 2025,
Add Vocals
allows uploading an instrumental track for Suno to add lyrics and vocals. task
isoverpainting
overpainting_clip_id
is theupload_clip_id
overpainting_end_s
must be ≤ the uploaded track’sduration
- Billing: One song fee
- No cross-account usage
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"
}'
Response (clip_id: 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. Fetch Track Duration & Tags
get http://api.openai-hk.com/suno/feed/9b1d2e8d-a365-4bfd-8a18-8989e159b29f
- Obtain
metadata.duration
(track length) andmetadata.tags
.
C. Execute Add Vocals
task
isoverpainting
overpainting_clip_id
is theupload_clip_id
overpainting_end_s
must be ≤ the uploaded track’smetadata.duration
tags
should match the uploaded track’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"]
}