🎧 Watermark-Free Suno Music Model
- 2026.02.04 Suno version
suno-v4.5-allwith mvchirp-auk-turbois priced the same assuno-v3.5 - 2025.09.23 Suno supports version
v5with mvchirp-crow - 2025.07.17 Suno supports version
v4.5+with mvchirp-bluejay - 2025.05.03 Suno supports version
v4.5with mvchirp-auk - 2024.12.17 Suno supports all versions
v4v3.5v3.0— watermark-free, extended duration, high concurrency, high quality - 2024.11.06 Suno is now nearly watermark-free; we have a solution for watermark removal; ~
promotional price as low as ¥0.04 per song (offer has ended)~ - 2024.03.27 This platform now supports the music model
suno - Available in 2 modes:
chatandunofficial API— recommended:unofficial API chatmode follows the OpenAI format; forunofficial APIsee Unofficial Suno API- One prompt generates 2 songs
- Billing is per request, not per song
- To try it out, visit https://suno.ddaiai.com and see
Online Trialbelow
Versions & Features
| Version | mv | Release Date | Prompt Limit | Tag Limit | Max Song Duration |
|---|---|---|---|---|---|
| v5 | chirp-crow | 2025.09.23 | 5000 | 1000 | 8 minutes |
| v4.5+ | chirp-bluejay | 2025.07.17 | 5000 | 1000 | 8 minutes |
| v4.5-all | chirp-auk-turbo | 2025.05.03 | 5000 | 1000 | 4 minutes |
| v4.5 | chirp-auk | 2025.05.03 | 5000 | 1000 | 4 minutes |
| v4 | chirp-v4 | 2024.12.17 | 3000 | 200 | 150 seconds |
| v3.5 | chirp-v3-5 | --- | 3000 | 200 | 120 seconds |
Note 1. Visit https://suno.ddaiai.com (if blocked, try changing the subdomain prefix to suibian)
2. If you find it blocked, you can change the URL yourself — replace suibian in https://suibian.ddaiai.com with something else, e.g. https://2025.ddaiai.com — all subdomains are accessible
Online Trial
- Set the fields as shown in the image below
- Suno API endpoint: https://api.openai-hk.com/sunoapi
- Suno KEY: hk-yourApiKey

Result preview: 
Suno API
Create Lyrics Task
Request body
{ "prompt": "ocean" }{ "prompt": "ocean" }Response
{ "id": "9561baee-2d64-48fe-8318-d7e82e86712b" }{ "id": "9561baee-2d64-48fe-8318-d7e82e86712b" }Create Lyrics Task V2
Request body
lyrics_modelsupports valuesremi-v1anddefault
{ "prompt": "ocean", "lyrics_model": "remi-v1" }{ "prompt": "ocean", "lyrics_model": "remi-v1" }Returns 2 lyrics IDs
{
"lyrics_request_id": "e9da46a0-7331-4e7c-bebf-488791033aa8",
"lyrics_a_id": "281e5626-5165-4de3-83ab-ddea1c4904b1",
"lyrics_b_id": "a83395f6-f1e4-4655-86db-3d57eeabbe43"
}{
"lyrics_request_id": "e9da46a0-7331-4e7c-bebf-488791033aa8",
"lyrics_a_id": "281e5626-5165-4de3-83ab-ddea1c4904b1",
"lyrics_b_id": "a83395f6-f1e4-4655-86db-3d57eeabbe43"
}Fetch each set of lyrics separately
Second lyrics
Get Lyrics
Retrieve lyrics using the ID from above
Response
{
"text": "lyrics content",
"title": "lyrics title",
"status": "complete"
}{
"text": "lyrics content",
"title": "lyrics title",
"status": "complete"
}Create Song Task — Custom Model
Request body
{
"prompt": "string",
"mv": "chirp-v4",
"title": "string",
"tags": "string",
"continue_at": 120,
"continue_clip_id": "string"
}{
"prompt": "string",
"mv": "chirp-v4",
"title": "string",
"tags": "string",
"continue_at": 120,
"continue_clip_id": "string"
}| Parameter | Description | Type | Default |
|---|---|---|---|
| mv | Model. Valid values: chirp-v4 chirp-v3-0 chirp-v3-5 chirp-auk chirp-bluejay | string | chirp-v3-5 |
| title | Song title | string | |
| tags | Song style tags — separate multiple styles with spaces | string | |
| continue_at | Start time (seconds) | integer(int64) | |
| continue_clip_id | ID of the previous song clip | string |
Response
{
"id": "8fb0a232-aef3-4f8a-82ad-72a3fde0bcc6",
"clips": [
{
"id": "e9f2a77a-07d7-444a-a1f7-575477b0ff18",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.175Z",
"status": "submitted",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
},
{
"id": "399f0745-0168-463c-a18a-f681f5711280",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.176Z",
"status": "submitted",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}
],
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"major_model_version": "v3",
"status": "complete",
"created_at": "2024-06-06T02:21:26.168Z",
"batch_size": 1
}{
"id": "8fb0a232-aef3-4f8a-82ad-72a3fde0bcc6",
"clips": [
{
"id": "e9f2a77a-07d7-444a-a1f7-575477b0ff18",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.175Z",
"status": "submitted",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
},
{
"id": "399f0745-0168-463c-a18a-f681f5711280",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.176Z",
"status": "submitted",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}
],
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"major_model_version": "v3",
"status": "complete",
"created_at": "2024-06-06T02:21:26.168Z",
"batch_size": 1
}Create Song Task — Description Model
post https://api.openai-hk.com/sunoapi/generate or post https://api.openai-hk.com/sunoapi/generate/description-mode (deprecated)
Request body
{
"gpt_description_prompt": "description content",
"make_instrumental": false,
"mv": "chirp-v4",
"prompt": "description content 2"
}{
"gpt_description_prompt": "description content",
"make_instrumental": false,
"mv": "chirp-v4",
"prompt": "description content 2"
}Response
{
"id": "344ec7d6-c976-4100-9804-f348bbf38422",
"clips": [
{
"id": "0c60de63-fba7-4207-94ea-6a240c64f928",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": null,
"prompt": "ocean",
"gpt_description_prompt": "ocean",
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:17:12.340Z",
"status": "submitted",
"title": "",
"play_count": 0,
"upvote_count": 0,
"is_public": false
},
{
"id": "28f4a72c-6a50-452f-a67c-5ab2354512c7",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": null,
"prompt": "ocean",
"gpt_description_prompt": "ocean",
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:17:12.340Z",
"status": "submitted",
"title": "",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}
],
"metadata": {
"tags": null,
"prompt": "ocean",
"gpt_description_prompt": "ocean",
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"major_model_version": "v3",
"status": "complete",
"created_at": "2024-06-06T02:17:12.330Z",
"batch_size": 1
}{
"id": "344ec7d6-c976-4100-9804-f348bbf38422",
"clips": [
{
"id": "0c60de63-fba7-4207-94ea-6a240c64f928",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": null,
"prompt": "ocean",
"gpt_description_prompt": "ocean",
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:17:12.340Z",
"status": "submitted",
"title": "",
"play_count": 0,
"upvote_count": 0,
"is_public": false
},
{
"id": "28f4a72c-6a50-452f-a67c-5ab2354512c7",
"video_url": "",
"audio_url": "",
"image_url": null,
"image_large_url": null,
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": null,
"prompt": "ocean",
"gpt_description_prompt": "ocean",
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:17:12.340Z",
"status": "submitted",
"title": "",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}
],
"metadata": {
"tags": null,
"prompt": "ocean",
"gpt_description_prompt": "ocean",
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"major_model_version": "v3",
"status": "complete",
"created_at": "2024-06-06T02:17:12.330Z",
"batch_size": 1
}Get Song
The above responses both return clips containing 2 IDs: clipsId1, clipsId2
get https://api.openai-hk.com/sunoapi/feed/clipsId1,clipsId2
Response
[
{
"id": "e9f2a77a-07d7-444a-a1f7-575477b0ff18",
"video_url": "",
"audio_url": "https://audiopipe.suno.ai/?item_id=e9f2a77a-07d7-444a-a1f7-575477b0ff18",
"image_url": "https://cdn1.suno.ai/image_e9f2a77a-07d7-444a-a1f7-575477b0ff18.png",
"image_large_url": "https://cdn1.suno.ai/image_large_e9f2a77a-07d7-444a-a1f7-575477b0ff18.png",
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.175Z",
"status": "streaming",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
},
{
"id": "399f0745-0168-463c-a18a-f681f5711280",
"video_url": "",
"audio_url": "https://audiopipe.suno.ai/?item_id=399f0745-0168-463c-a18a-f681f5711280",
"image_url": "https://cdn1.suno.ai/image_399f0745-0168-463c-a18a-f681f5711280.png",
"image_large_url": "https://cdn1.suno.ai/image_large_399f0745-0168-463c-a18a-f681f5711280.png",
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.176Z",
"status": "streaming",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}
][
{
"id": "e9f2a77a-07d7-444a-a1f7-575477b0ff18",
"video_url": "",
"audio_url": "https://audiopipe.suno.ai/?item_id=e9f2a77a-07d7-444a-a1f7-575477b0ff18",
"image_url": "https://cdn1.suno.ai/image_e9f2a77a-07d7-444a-a1f7-575477b0ff18.png",
"image_large_url": "https://cdn1.suno.ai/image_large_e9f2a77a-07d7-444a-a1f7-575477b0ff18.png",
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.175Z",
"status": "streaming",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
},
{
"id": "399f0745-0168-463c-a18a-f681f5711280",
"video_url": "",
"audio_url": "https://audiopipe.suno.ai/?item_id=399f0745-0168-463c-a18a-f681f5711280",
"image_url": "https://cdn1.suno.ai/image_399f0745-0168-463c-a18a-f681f5711280.png",
"image_large_url": "https://cdn1.suno.ai/image_large_399f0745-0168-463c-a18a-f681f5711280.png",
"is_video_pending": false,
"major_model_version": "v3",
"model_name": "chirp-v3",
"metadata": {
"tags": "infectious house",
"prompt": "[Verse]\nBlue waves crashing on the shore\nSunshine smiling evermore\n\n[Verse 2]\nSailboats drifting far from land\nSalt and sand go hand in hand\n\n[Chorus]\nOh the ocean holds my dreams\nIn its tide sun's golden beams\nLet the sea set me free\nIn its waves I find my peace\n\n[Verse 3]\nSeagulls flying by the pier\nWhispers of the water clear\n\n[Bridge]\nEndless horizon meets my eyes\nWhere the sea and sky collide\n\n[Verse 4]\nMoonlight dances on the waves\nIn the ocean's arms we lay",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": null,
"type": "gen",
"duration": null,
"refund_credits": null,
"stream": true,
"infill": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "f60cf781-3c2e-4000-918c-73f68de2a28c",
"display_name": "MercurialMetronomes303",
"handle": "mercurialmetronomes303",
"is_handle_updated": false,
"avatar_image_url": null,
"is_trashed": false,
"reaction": null,
"created_at": "2024-06-06T02:21:26.176Z",
"status": "streaming",
"title": "Ocean",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}
]- The key field to watch is
[0].status— when it equalscomplete, generation is finished statusvalues:submittedpendingcompletestreamingqueued
Concat Song
Request body
{
"clip_id": "song ID after extend",
"is_infill": false
}{
"clip_id": "song ID after extend",
"is_infill": false
}Use the returned id with the Get Song endpoint to check status and retrieve the result; metadata.type will be concat
{
"id": "e193aa39-e97b-464d-938f-cd150f7fb05a",
"video_url": "",
"audio_url": "",
"image_url": "https://cdn1.suno.ai/image_ea8b867f-d072-4a13-9418-eb687cfd956f.png",
"image_large_url": "https://cdn1.suno.ai/image_large_ea8b867f-d072-4a13-9418-eb687cfd956f.png",
"is_video_pending": false,
"major_model_version": "v3.5",
"model_name": "chirp-v3.5",
"metadata": {
"tags": "romantic country",
"prompt": "[Verse]\nIn the dream of red mansions\nDeep in the quiet night\nCandlelight flickering\n\n[Verse 2]\nDancers among the flowers\nTelling stories of farewell\nSorrow hidden in the heart\n\n[Chorus]\nThe dream of red mansions shattered\nWho awakens from the dream\nHelpless and silent\n\n[Verse 3]\nThe past like smoke\nWind scatters the clouds\nOnly longing remains\n\n[Bridge]\nDreams rise and fall\nWhere to search\nFor that old affection\n\n[Chorus]\nThe dream of red mansions shattered\nWho awakens from the dream\nHelpless and silent\n\n[Verse]\nNightfall descends upon the city\nStreet lights illuminate the dark\nDreams awaken, crowds emerge\nHeartbeat follows the rhythm\n\n[Verse 2]\nNeon lights shine bright\nSilence whispers in my ear\nFootsteps echo all around\nLost, unable to see through\n\n[Chorus]\nThe night makes us dependent\nStarlight lights up the windowsill\nTogether watching the half-hidden moon\nHeartbeat so joyful\n\n[Verse 3]\nMemories in the deep night\nDimly meeting in my mind\nEmbrace soft as the wind\nThe night makes my heart stir\n\n[Chorus]\nThe night makes us dependent\nStarlight lights up the windowsill\nTogether watching the half-hidden moon\nHeartbeat so joyful\n\n[Bridge]\nCold wind cuts through the street\nThoughts take flight with the night\nThis moment dreams have no regrets\nThe night intoxicates deeply",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": [
{
"id": "a015205b-43ef-4374-b334-b3a78ef977aa",
"continue_at": 60,
"type": "gen",
"source": "web",
"infill": false
},
{
"id": "ea8b867f-d072-4a13-9418-eb687cfd956f",
"continue_at": null
}
],
"type": "concat",
"duration": null,
"refund_credits": null,
"stream": null,
"infill": null,
"has_vocal": null,
"is_audio_upload_tos_accepted": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "7d44c563-4d66-449b-8de1-131e062baf43",
"display_name": "HeavyHipHop606",
"handle": "heavyhiphop606",
"is_handle_updated": false,
"avatar_image_url": "https://cdn1.suno.ai/defaultPink.jpg",
"is_trashed": false,
"reaction": null,
"created_at": "2024-07-05T07:32:37.286Z",
"status": "queued",
"title": "Red Mansion",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}{
"id": "e193aa39-e97b-464d-938f-cd150f7fb05a",
"video_url": "",
"audio_url": "",
"image_url": "https://cdn1.suno.ai/image_ea8b867f-d072-4a13-9418-eb687cfd956f.png",
"image_large_url": "https://cdn1.suno.ai/image_large_ea8b867f-d072-4a13-9418-eb687cfd956f.png",
"is_video_pending": false,
"major_model_version": "v3.5",
"model_name": "chirp-v3.5",
"metadata": {
"tags": "romantic country",
"prompt": "[Verse]\nIn the dream of red mansions\nDeep in the quiet night\nCandlelight flickering\n\n[Verse 2]\nDancers among the flowers\nTelling stories of farewell\nSorrow hidden in the heart\n\n[Chorus]\nThe dream of red mansions shattered\nWho awakens from the dream\nHelpless and silent\n\n[Verse 3]\nThe past like smoke\nWind scatters the clouds\nOnly longing remains\n\n[Bridge]\nDreams rise and fall\nWhere to search\nFor that old affection\n\n[Chorus]\nThe dream of red mansions shattered\nWho awakens from the dream\nHelpless and silent\n\n[Verse]\nNightfall descends upon the city\nStreet lights illuminate the dark\nDreams awaken, crowds emerge\nHeartbeat follows the rhythm\n\n[Verse 2]\nNeon lights shine bright\nSilence whispers in my ear\nFootsteps echo all around\nLost, unable to see through\n\n[Chorus]\nThe night makes us dependent\nStarlight lights up the windowsill\nTogether watching the half-hidden moon\nHeartbeat so joyful\n\n[Verse 3]\nMemories in the deep night\nDimly meeting in my mind\nEmbrace soft as the wind\nThe night makes my heart stir\n\n[Chorus]\nThe night makes us dependent\nStarlight lights up the windowsill\nTogether watching the half-hidden moon\nHeartbeat so joyful\n\n[Bridge]\nCold wind cuts through the street\nThoughts take flight with the night\nThis moment dreams have no regrets\nThe night intoxicates deeply",
"gpt_description_prompt": null,
"audio_prompt_id": null,
"history": null,
"concat_history": [
{
"id": "a015205b-43ef-4374-b334-b3a78ef977aa",
"continue_at": 60,
"type": "gen",
"source": "web",
"infill": false
},
{
"id": "ea8b867f-d072-4a13-9418-eb687cfd956f",
"continue_at": null
}
],
"type": "concat",
"duration": null,
"refund_credits": null,
"stream": null,
"infill": null,
"has_vocal": null,
"is_audio_upload_tos_accepted": null,
"error_type": null,
"error_message": null
},
"is_liked": false,
"user_id": "7d44c563-4d66-449b-8de1-131e062baf43",
"display_name": "HeavyHipHop606",
"handle": "heavyhiphop606",
"is_handle_updated": false,
"avatar_image_url": "https://cdn1.suno.ai/defaultPink.jpg",
"is_trashed": false,
"reaction": null,
"created_at": "2024-07-05T07:32:37.286Z",
"status": "queued",
"title": "Red Mansion",
"play_count": 0,
"upvote_count": 0,
"is_public": false
}Audio-to-Audio Generation
You can try this at https://suno.ddaiai.com — see the preview below

The API involves 6 steps
1. Upload Request
Request body
{ "extension": "mp3" }{ "extension": "mp3" }Response
{
"id": "c25a8c59-000a-481f-ac28-efde2dc9e677",
"url": "https://suno-uploads.s3.amazonaws.com/",
"fields": {
"Content-Type": "audio/mpeg",
"key": "raw_uploads/c25a8c59-000a-481f-ac28-efde2dc9e677.mp3",
"AWSAccessKeyId": "AKIA2V4GXGDKJMTPWLXO",
"policy": "eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMTdUMDY6MTg6MzJaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDEwNDg1NzYwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9jMjVhOGM1OS0wMDBhLTQ4MWYtYWMyOC1lZmRlMmRjOWU2NzcubXAzIn1dfQ==",
"signature": "yjfB/HTNgPHURNLRdeizNMVgG6k="
}
}{
"id": "c25a8c59-000a-481f-ac28-efde2dc9e677",
"url": "https://suno-uploads.s3.amazonaws.com/",
"fields": {
"Content-Type": "audio/mpeg",
"key": "raw_uploads/c25a8c59-000a-481f-ac28-efde2dc9e677.mp3",
"AWSAccessKeyId": "AKIA2V4GXGDKJMTPWLXO",
"policy": "eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMTdUMDY6MTg6MzJaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDEwNDg1NzYwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9jMjVhOGM1OS0wMDBhLTQ4MWYtYWMyOC1lZmRlMmRjOWU2NzcubXAzIn1dfQ==",
"signature": "yjfB/HTNgPHURNLRdeizNMVgG6k="
}
}The id here is the audio_id used below, and url is the request URL for step 2
2. Upload File
curl --request POST \
--url https://suno-uploads.s3.amazonaws.com/ \
--header 'content-type: multipart/form-data' \
--form Content-Type=audio/mpeg \
--form key=raw_uploads/c25a8c59-000a-481f-ac28-efde2dc9e677.mp3 \
--form AWSAccessKeyId=AKIA2V4GXGDKJMTPWLXO \
--form policy=eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMTdUMDY6MTg6MzJaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDEwNDg1NzYwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9jMjVhOGM1OS0wMDBhLTQ4MWYtYWMyOC1lZmRlMmRjOWU2NzcubXAzIn1dfQ== \
--form signature=yjfB/HTNgPHURNLRdeizNMVgG6k= \
--form file=@/you_mp3_dir_file.mp3curl --request POST \
--url https://suno-uploads.s3.amazonaws.com/ \
--header 'content-type: multipart/form-data' \
--form Content-Type=audio/mpeg \
--form key=raw_uploads/c25a8c59-000a-481f-ac28-efde2dc9e677.mp3 \
--form AWSAccessKeyId=AKIA2V4GXGDKJMTPWLXO \
--form policy=eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMTdUMDY6MTg6MzJaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDEwNDg1NzYwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9jMjVhOGM1OS0wMDBhLTQ4MWYtYWMyOC1lZmRlMmRjOWU2NzcubXAzIn1dfQ== \
--form signature=yjfB/HTNgPHURNLRdeizNMVgG6k= \
--form file=@/you_mp3_dir_file.mp3- The request body consists of the
fieldsfrom above plus thefile(mp3 file) - A
20xresponse indicates success
3. Report Upload Complete
post https://api.openai-hk.com/sunoapi/uploads/audio/{id}/upload-finish
Request body
{ "upload_type": "file_upload", "upload_filename": "you_mp3_name.mp3" }{ "upload_type": "file_upload", "upload_filename": "you_mp3_name.mp3" }4. Check Processing Status
Response body
{
"id": "c25a8c59-000a-481f-ac28-efde2dc9e677",
"status": "complete",
"error_message": null,
"s3_id": "m_05c9b477-4519-4810-9ffa-00580c082067",
"title": "S-100096-100096-84069F8B",
"image_url": "https://cdn1.suno.ai/image_05c9b477-4519-4810-9ffa-00580c082067.png"
}{
"id": "c25a8c59-000a-481f-ac28-efde2dc9e677",
"status": "complete",
"error_message": null,
"s3_id": "m_05c9b477-4519-4810-9ffa-00580c082067",
"title": "S-100096-100096-84069F8B",
"image_url": "https://cdn1.suno.ai/image_05c9b477-4519-4810-9ffa-00580c082067.png"
}When status equals complete, processing is done
5. Initialize Audio Clip
post https://api.openai-hk.com/sunoapi/uploads/audio/{id}/initialize-clip
Request body
{}{}Response body
{
"clip_id": "05c9b477-4519-4810-9ffa-00580c082067"
}{
"clip_id": "05c9b477-4519-4810-9ffa-00580c082067"
}6. Retrieve and Remix
- Use the Get Song endpoint with the
clip_idfrom above as theid - Deprecated:
Use Create Song Task — Custom Model and fillcontinue_clip_idwith theclip_idvalue, setmvtochirp-v3-5-upload - Using different versions:
{
"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"
}Audio-to-Audio Generation — URL Upload
- The audio-to-audio method above is quite cumbersome
- The following endpoint handles all the steps above in one call
- Only supports
mp3 - Resource-intensive — deducts 200 credits
Request body
{
"url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}{
"url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}Response body
{
"clip_id": "f4e624c0-b018-4933-8f35-be2bcc79a0c8",
"code": "success",
"data": "f4e624c0-b018-4933-8f35-be2bcc79a0c8",
"message": ""
}{
"clip_id": "f4e624c0-b018-4933-8f35-be2bcc79a0c8",
"code": "success",
"data": "f4e624c0-b018-4933-8f35-be2bcc79a0c8",
"message": ""
}- Use the returned
clip_idfor remixing — see 6. Retrieve and Remix - Compatible with newapi format —
dataequalsclip_id - curl demo
curl --request POST \
--url https://api.openai-hk.com/sunoapi/uploads/audio-url \
--header 'Authorization: Bearer hk-yourKey' \
--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/sunoapi/uploads/audio-url \
--header 'Authorization: Bearer hk-yourKey' \
--header 'content-type: application/json' \
--data '{
"url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}'NewAPI Compatibility
- A. Already compatible with newapi format
- B. Already compatible with god format
- C. For other format compatibility, please contact customer support
Chat-Mode Invocation
- Invoke via chat mode using model
suno-v3
Setup
- Set the fields as shown in the image below
- OpenAI API endpoint: https://api.openai-hk.com
- OpenAI API KEY: hk-yourApiKey

Result
- Set the model to
suno-v3
- Enter a prompt in the chat box to receive 2 music tracks, lyrics, and album cover


Chat Integration Demo
Already aligned with the OpenAI API — simply change the model to suno-v3
curl --request POST \
--url https://api.openai-hk.com/v1/chat/completions \
--header 'Authorization: Bearer hk-yourKey' \
--header 'content-type: application/json' \
--data '{
"max_tokens": 800,
"model": "suno-v3",
"temperature": 0.8,
"top_p": 1,
"presence_penalty": 1,
"stream":false,
"messages": [
{
"role": "user",
"content": "childhood memories"
}
]
}'curl --request POST \
--url https://api.openai-hk.com/v1/chat/completions \
--header 'Authorization: Bearer hk-yourKey' \
--header 'content-type: application/json' \
--data '{
"max_tokens": 800,
"model": "suno-v3",
"temperature": 0.8,
"top_p": 1,
"presence_penalty": 1,
"stream":false,
"messages": [
{
"role": "user",
"content": "childhood memories"
}
]
}'
OpenAi-HK