メインコンテンツまでスキップ

音楽生成

This page includes Suno song generation, lyric generation, upload, and task-query endpoints.

Apifox のカバー範囲

  • Suno: async task flow, song generation, lyric generation, upload, song stitching, single-task query, batch-task query
  • Udio: chat-format integration

モデル API / 音楽生成 / Suno

POST Generate Song

POST /suno/submit/music

Suno v5 update notes Model version identifier: mv=chirp-crow

v5 smart-model upgrade The clearest audio Suno has produced so far More realistic vocal reproduction More creative control over every element Better understanding of genres and more nuanced genre blending

There are three operating modes:

  1. Inspiration mode: You only need to provide the following parameters: gpt_description_prompt make_instrumental mv Suno automatically generates the lyrics, title, and style tags.

  2. Custom mode: Required parameters: prompt title tags make_instrumental mv

  3. Continue an existing track Also include the following on top of custom mode: task_id continue_at continue_clip_id

Body Parameters

以下任选其一

1.灵感模式

{
"gpt_description_prompt": "cat"
}

2.自定义模式(推荐)
{
"prompt": "[Verse]\nWalking down the streets\nBeneath the city lights\nNeon signs flickering\nLighting up the night\nHeart beating faster\nLike a drum in my chest\nI'm alive in this moment\nFeeling so blessed\n\nStilettos on the pavement\nStepping with grace\nSurrounded by the people\nMoving at their own pace\nThe rhythm of the city\nIt pulses in my veins\nLost in the energy\nAs my worries drain\n\n[Verse 2]\nConcrete jungle shining\nWith its dazzling glow\nEvery corner hiding secrets that only locals know\nA symphony of chaos\nBut it's music to my ears\nThe hustle and the bustle\nWiping away my fears",
"tags": "emotional punk",
"mv": "chirp-fenix",
"title": "City Lights"
}

3.续写(推荐)
{
"prompt": "[Verse]\nWalking down the streets\nBeneath the city lights\nNeon signs flickering\nLighting up the night\nHeart beating faster\nLike a drum in my chest\nI'm alive in this moment\nFeeling so blessed\n\nStilettos on the pavement\nStepping with grace\nSurrounded by the people\nMoving at their own pace\nThe rhythm of the city\nIt pulses in my veins\nLost in the energy\nAs my worries drain\n\n[Verse 2]\nConcrete jungle shining\nWith its dazzling glow\nEvery corner hiding secrets that only locals know\nA symphony of chaos\nBut it's music to my ears\nThe hustle and the bustle\nWiping away my fears",
"tags": "bass-driven atmospheric heavy metal",
"mv": "chirp-fenix",
"title": "City Lights",
"task_id": "736a6f88-bd29-4b1e-b110-37132a5325ac"
"continue_clip_id": "ce2cfbce-9ea0-45b0-9386-020c0ff54a49",
"continue_at": 80
}

Request Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringNonone
Content-TypeheaderstringNonone
AcceptheaderstringNonone
bodybodyobjectNonone
» promptbodystringNoLyrics (custom mode only).
» mvbodystringNoMusic-version model. Supported values include chirp-v3-0 and chirp-v3-5. Defaults to chirp-v3-0 when omitted.
» titlebodystringNoTitle (custom mode only).
» tagsbodystringNoStyle tags (custom mode only).
» make_instrumentalbodybooleanYesWhether to generate instrumental-only output. Set to true to create an instrumental track.
» task_idbodystringNoTask ID used to continue or further operate on a previous task.
» continue_atbodynumberNoFloat. The timestamp in seconds where the song continuation should begin.
» continue_clip_idbodystringNoSong ID for the clip that should be continued.
» gpt_description_promptbodystringNoPrompt for inspiration mode (inspiration mode only).
» notify_hookbodystringNocallback URL: https://xxxxxxx

Response Example

200 Response

{
"code": "string",
"message": "string",
"data": "string"
}

Responses

StatusMeaningDescriptionModel
200OKnoneInline

Response Schema

Status 200

NameTypeRequiredConstraintsChinese NameDescription
» codestringtruenonenone
» messagestringtruenoneError message.
» datastringtruenonetask_id

POST Generate Lyrics

POST /suno/submit/lyrics

Body Parameters

{
"prompt": "dance"
}

Request Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringNonone
Content-TypeheaderstringNonone
AcceptheaderstringNonone
bodybodyobjectNonone
» promptbodystringYesPrompt used to generate lyrics.
» notify_hookbodystringNocallback URL

Response Example

200 Response

{
"code": "string",
"message": "string",
"data": "string"
}

Responses

StatusMeaningDescriptionModel
200OKnoneInline

Response Schema

Status 200

NameTypeRequiredConstraintsChinese NameDescription
» codestringtruenonenone
» messagestringtruenonenone
» datastringtruenonetask_id

POST Upload Music

POST /suno/uploads/audio-url

Body Parameters

{
"url": "http://cdnimg.example.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}

Request Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringNonone
Content-TypeheaderstringNonone
AcceptheaderstringNonone
bodybodyobjectNonone
» promptbodystringNoLyrics (custom mode only).
» mvbodystringNoMusic-version model. Supported values include chirp-v3-0 and chirp-v3-5. Defaults to chirp-v3-0 when omitted.
» titlebodystringNoTitle (custom mode only).
» tagsbodystringNoStyle tags (custom mode only).
» make_instrumentalbodybooleanYesWhether to generate instrumental-only output. Set to true to create an instrumental track.
» task_idbodystringNoTask ID used to continue or further operate on a previous task.
» continue_atbodynumberNoFloat. The timestamp in seconds where the song continuation should begin.
» continue_clip_idbodystringNoSong ID for the clip that should be continued.
» gpt_description_promptbodystringNoPrompt for inspiration mode (inspiration mode only).
» notify_hookbodystringNocallback URL: https://xxxxxxx

Response Example

200 Response

{
"code": "string",
"message": "string",
"data": "string"
}

Responses

StatusMeaningDescriptionModel
200OKnoneInline

Response Schema

Status 200

NameTypeRequiredConstraintsChinese NameDescription
» codestringtruenonenone
» messagestringtruenoneError message.
» datastringtruenonetask_id

POST Concatenate Song

POST /suno/submit/concat

Body Parameters

{
"clip_id": "extend 后的 songID",
"is_infill": false
}

Request Parameters

NameInTypeRequiredDescription
AuthorizationheaderstringNonone
Content-TypeheaderstringNonone
AcceptheaderstringNonone
bodybodyobjectNonone
» promptbodystringNoLyrics (custom mode only).
» mvbodystringNoMusic-version model. Supported values include chirp-v3-0 and chirp-v3-5. Defaults to chirp-v3-0 when omitted.
» titlebodystringNoTitle (custom mode only).
» tagsbodystringNoStyle tags (custom mode only).
» make_instrumentalbodybooleanYesWhether to generate instrumental-only output. Set to true to create an instrumental track.
» task_idbodystringNoTask ID used to continue or further operate on a previous task.
» continue_atbodynumberNoFloat. The timestamp in seconds where the song continuation should begin.
» continue_clip_idbodystringNoSong ID for the clip that should be continued.
» gpt_description_promptbodystringNoPrompt for inspiration mode (inspiration mode only).
» notify_hookbodystringNocallback URL: https://xxxxxxx

Response Example

200 Response

{
"code": "string",
"message": "string",
"data": "string"
}

Responses

StatusMeaningDescriptionModel
200OKnoneInline

Response Schema

Status 200

NameTypeRequiredConstraintsChinese NameDescription
» codestringtruenonenone
» messagestringtruenoneError message.
» datastringtruenonetask_id

GET Fetch Single Task

GET /suno/fetch/{task_id}

Request Parameters

NameInTypeRequiredDescription
task_idpathstringYesnone
AuthorizationheaderstringYesnone

Response Example

200 Response

{
"code": "string",
"message": "string",
"data": {
"task_id": "string",
"notify_hook": "string",
"action": "string",
"status": "string",
"fail_reason": "string",
"submit_time": 0,
"start_time": 0,
"finish_time": 0,
"progress": "string",
"data": [
{
"id": "string",
"title": "string",
"status": "string",
"metadata": {
"tags": "string",
"prompt": "string",
"duration": 0,
"error_type": null,
"error_message": null,
"audio_prompt_id": null,
"gpt_description_prompt": "string"
},
"audio_url": "string",
"image_url": "string",
"video_url": "string",
"model_name": "string",
"image_large_url": "string",
"major_model_version": "string"
}
]
}
}

Responses

StatusMeaningDescriptionModel
200OKnoneInline

Response Schema

Status 200

NameTypeRequiredConstraintsChinese NameDescription
» codestringtruenonenone
» messagestringtruenonenone
» dataobjecttruenonenone
»» task_idstringtruenonenone
»» notify_hookstringtruenonenone
»» actionstringtruenonenone
»» statusstringtruenonenone
»» fail_reasonstringtruenonenone
»» submit_timeintegertruenonenone
»» start_timeintegertruenonenone
»» finish_timeintegertruenonenone
»» progressstringtruenonenone
»» data[object]truenonenone
»»» idstringtruenonenone
»»» titlestringtruenonenone
»»» statusstringtruenonenone
»»» metadataobjecttruenonenone
»»»» tagsstringtruenonenone
»»»» promptstringtruenonenone
»»»» durationintegertruenonenone
»»»» error_typenulltruenonenone
»»»» error_messagenulltruenonenone
»»»» audio_prompt_idnulltruenonenone
»»»» gpt_description_promptstringtruenonenone
»»» audio_urlstringtruenonenone
»»» image_urlstringtruenonenone
»»» video_urlstringtruenonenone
»»» model_namestringtruenonenone
»»» image_large_urlstringtruenonenone
»»» major_model_versionstringtruenonenone

POST Batch Fetch Tasks

POST /suno/fetch

Body Parameters

{
"ids": [
"task_id"
],
"action": "MUSIC"
}

Request Parameters

NameInTypeRequiredDescription
Content-TypeheaderstringNonone
AcceptheaderstringNonone
AuthorizationheaderstringNonone
bodybodyanyNonone

Response Example

200 Response

[
null
]

Responses

StatusMeaningDescriptionModel
200OKnoneInline
201CreatednoneInline
401UnauthorizednoneInline
403ForbiddennoneInline
404Not FoundnoneInline

Response Schema