Skip to content

Suno 音频任务

用于提交 Suno 歌曲生成、续写、拼接、翻唱、分轨、片段替换、混曲、采样和声音生成等音频任务。

接口地址

http
POST /suno/audios

通用说明

  • 所有请求都需要通过 X-API-Key 鉴权。
  • 默认 async_modefalse。异步模式下会返回任务 ID,调用方可通过任务查询接口获取结果。
  • async_modefalse 时,请求会等待生成结果后返回,响应时间通常更长。
  • 请求体中的 action 必须是本文档列出的可选值。

通用参数

参数类型必填默认值说明
async_modebooleanfalse是否使用异步模式
actionstring-任务动作,见下方 action 说明
promptstring视 action 而定-歌曲、翻唱、替换、采样或声音提示词,字符长度不得超过 1000
modelstring视 action 而定-Suno 模型
customboolean-是否使用自定义模式
instrumentalboolean-是否生成纯音乐
titlestring-自定义模式下的歌曲标题
stylestring-音乐风格,长度限制见下方参数长度限制
lyricstring-自定义歌词,长度限制见下方参数长度限制
origin_lyricstring-续写时原歌曲在 0continue_at 片段内的歌词;片段替换时也可用于提供原歌词
full_lyricstring-续写或拼接时补充完整歌词
audio_idstring视 action 而定-已生成或已上传的音频 ID
audio_urlstring视 action 而定-上传类动作使用的音频 URL
continue_atinteger-续写、上传续写、拼接时的起始秒数
persona_idstring-Persona ID,用于 Persona 生成、翻唱或续写
persona_typestring-Persona 类型,例如 vox
persona_root_idstring-创建 Persona 时的歌曲 ID
style_negativestring-需要排除的风格
style_influencenumber-风格影响参数
weirdnessnumber-创意随机参数
audio_influencenumber-音频影响参数
vocal_genderstring-人声性别,mf
replace_section_startinteger-替换片段起始秒数
replace_section_endinteger-替换片段结束秒数
overpainting_startinteger-人声重绘起始秒数
overpainting_endinteger-人声重绘结束秒数
underpainting_startinteger-伴奏重绘起始秒数
underpainting_endinteger-伴奏重绘结束秒数
mashup_audio_idsstring[]-混曲使用的多个音频 ID
variation_categorystring-Remaster 变体强度
sample_startstring-采样起始时间
sample_endstring-采样结束时间
soundobject-sounds 动作的声音生成参数

action 可选值

text
generate, extend, upload_generate, concat, replace_section,
upload_extend, stems, artist_consistency, cover, all_stems,
add_vocals, add_instrumental, upload_cover, mashup, remaster,
sample, inspiration, sounds

未在上方列出的 action 暂不支持调用。

model 可选值

text
chirp-v4-5, chirp-v3-5, chirp-v4, chirp-v4-5-plus,
chirp-v4-5-lite, chirp-v5, chirp-v5-5

参数长度限制

prompt 参数字符长度不得超过 1000。stylelyric 的长度限制与模型有关:

模型style 长度限制lyric 长度限制
chirp-v3-5不得超过 200 字符不得超过 1250 字符
chirp-v4不得超过 200 字符不得超过 3000 字符
chirp-v4-5, chirp-v4-5-plus, chirp-v4-5-lite, chirp-v5, chirp-v5-5不得超过 1000 字符不得超过 5000 字符

action 使用说明

action用途常用必填参数
generate文本生成歌曲或自定义歌词生成歌曲prompt, model;自定义模式通常还需要 custom, style, lyric, title
extend基于已有歌曲继续生成audio_id, continue_at, model;自定义续写通常还需要 custom, lyric, origin_lyric, style
upload_generate通过外部音频 URL 上传后生成audio_url, model, custom, style, lyric, title
concat拼接续写片段,生成完整歌曲audio_id, continue_at
replace_section替换歌曲中的指定片段audio_id, prompt, replace_section_start, replace_section_end
upload_extend上传音频后续写audio_id, continue_at, model
stems获取人声/伴奏双音轨分离audio_id
all_stems获取更完整的分轨结果audio_id
artist_consistency基于 Persona 或指定音频生成一致风格歌曲lyric, style, model,可搭配 persona_id
cover基于已有歌曲生成翻唱audio_id, model, custom, lyric, style,可搭配 persona_id
add_vocals给纯音乐添加人声audio_id, lyric, style, model, custom
add_instrumental给人声添加伴奏audio_id, lyric, style, model, custom
upload_cover上传外部音频后生成翻唱audio_url, model
mashup多首歌曲混曲mashup_audio_ids
remaster对已有歌曲重新生成或增强audio_id, model
sample从已有音频中采样生成变体audio_id, sample_start, sample_end
inspiration基于已有歌曲生成灵感参考版本audio_id, model
sounds生成短声音、loop 或 one-shotsound

以上为常用参数组合。不同模型或账号能力可能对参数有额外要求,具体以接口实际返回为准。

常见请求示例

灵感生成歌曲

根据用户输入的prompt进行歌曲生成,需要注意的是,若prompt有明确的说明需要纯音乐歌曲,那么instrumental参数可能不起作用

json
{
  "action": "generate",
  "prompt": "A bright pop song about city lights and summer rain",
  "model": "chirp-v4",
  "custom": false,
  "instrumental": false,
  "async_mode": false
}

自定义歌词生曲

json
{
  "action": "generate",
  "model": "chirp-v4",
  "custom": true,
  "instrumental": false,
  "title": "Summer Rain",
  "style": "bright city pop, warm synths, female vocal",
  "lyric": "[Verse]\nNeon lights are waking slowly\n[Chorus]\nWe dance into the summer rain",
  "async_mode": false
}

续写歌曲

如果要对已经生成的 Suno 歌曲继续生成,将 action 设置为 extend,并把需要续写的歌曲 ID 填入 audio_id

歌曲 ID 可以从歌曲生成接口的响应中获取,对应字段为 data[].id

json
{
  "data": [
    {
      "id": "7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4",
      "title": "新年快乐",
      "audio_url": "https://cdn1.suno.ai/7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4.mp3"
    }
  ]
}

续写时常用字段如下:

参数说明
action固定为 extend
audio_id需要续写的歌曲 ID,可以是生成歌曲 ID,也可以是上传后得到的歌曲 ID
continue_at从原歌曲第几秒开始续写,例如 149 表示从第 149 秒开始续写
model使用的模型
custom是否使用自定义续写;仅允许填写 true
lyric续写部分的歌词文本
origin_lyric原歌曲在 0continue_at 片段内的歌词,用于帮助续写内容衔接原歌词,可以使用timing接口获取时间信息
style歌曲风格,选填
title歌曲标题,选填
instrumental是否生成纯音乐
persona_root_id创建 Persona 时的源歌曲 ID
persona_id已创建的 Persona ID

如果想在续写的基础上使用歌手风格进行续写,通常需要同时传入 persona_root_idpersona_id,注意此时只允许使用自定义生成歌曲。

continue_at 的单位是秒。建议不要把续写起点设置得过于靠后,通常不要超过原歌曲时长的 70%,否则可能出现续写片段较短或衔接不理想的情况。

json
{
  "action": "extend",
  "instrumental": false,
  "custom": true,
  "model": "chirp-v4-5-plus",
  "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\n\n(Chorus)\nBeneath the orange sky\nI let it all go",
  "origin_lyric": "[Verse]\nThere's a bird on a wire just watching the day\nClouds drift like ships\nThey're sailing away\n\n[Chorus]\nBeneath the orange sky\nI let it all go",
  "title": "Roots in the Sky",
  "style": "warm soul pop, gentle 72 BPM groove, intimate vocal, soft electric guitar",
  "audio_id": "707a09fc-8789-4087-b915-4493e86d8c59",
  "continue_at": 149,
  "async_mode": false
}

获取完整歌曲

基于原歌曲续写之后,返回的歌曲通常只包含续写片段,不包含原歌曲内容。如果需要获得完整歌曲,需要使用拼接功能,将 action 设置为 concat

常用字段如下:

参数说明
action固定为 concat
audio_id最后一个续写片段的歌曲 ID

例如最后一个续写片段的歌曲 ID 为 19ba4bb9-c90a-41ba-874d-40e5942e7d26,可以这样请求:

json
{
  "action": "concat",
  "audio_id": "19ba4bb9-c90a-41ba-874d-40e5942e7d26",
  "async_mode": false
}

返回结果是一首完整歌曲,也就是原歌曲和续写片段的拼接结果。示例如下:

json
{
  "success": true,
  "task_id": "ff73ed83-26d3-47bb-9793-825ac1172abc",
  "trace_id": "98315862-fa60-4fa4-99c7-e1e15e6e542c",
  "data": [
    {
      "id": "3e78b952-075a-46e8-a9ef-01193a7942b6",
      "title": "新年快乐",
      "image_url": "https://cdn2.suno.ai/image_19ba4bb9-c90a-41ba-874d-40e5942e7d26.jpeg",
      "lyric": "[Verse]\n挂灯笼 照亮每个街头\n...\n[Chorus]\n唱的更愉快一点 啦啦啦\n跳的更开心一点 嘿嘿嘿",
      "audio_url": "https://cdn1.suno.ai/3e78b952-075a-46e8-a9ef-01193a7942b6.mp3",
      "video_url": "",
      "created_at": "2025-04-11T04:56:41.409Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "style": "male vocals, chinese",
      "duration": 120.99997916666666,
      "concat_history": [
        {
          "id": "7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4",
          "continue_at": 1,
          "type": "gen",
          "source": "ios",
          "infill": false
        },
        {
          "id": "19ba4bb9-c90a-41ba-874d-40e5942e7d26"
        }
      ]
    }
  ]
}

获取人声分离

基于Pro池或者v4及以上模型的歌曲

当歌曲支持分轨能力时,可以使用 stems 获取人声和伴奏分离结果。该动作通常用于将一首歌曲拆分为 VocalsInstrumental 两条音频。

常用字段如下:

参数说明
action固定为 stems
audio_id需要分离的歌曲 ID

请求示例:

json
{
  "action": "stems",
  "audio_id": "4d6ddd0b-067a-4aa2-bb7d-1a720a3a0291",
  "async_mode": false
}

返回结果通常包含人声和伴奏两条音频。示例如下:

json
{
  "success": true,
  "task_id": "2bf3fb16-e11e-4b6c-988d-52d26937ade0",
  "trace_id": "aedcbc1d-7ae2-40c1-8e85-c6385ae17c69",
  "data": [
    {
      "id": "9e554197-385e-4d04-8d0b-9fd241e9c9b8",
      "title": "新年快乐 - Vocals",
      "image_url": "https://cdn2.suno.ai/image_9e554197-385e-4d04-8d0b-9fd241e9c9b8.jpeg",
      "lyric": "[Verse]\n灯笼挂满了窗外的枝头\n...\n[Chorus]\n新年快乐 大声说出口",
      "audio_url": "https://cdn1.suno.ai/9e554197-385e-4d04-8d0b-9fd241e9c9b8.mp3",
      "video_url": "",
      "created_at": "2025-05-06T15:40:44.238Z",
      "model": "",
      "state": "succeeded",
      "prompt": null,
      "style": "traditional influences, male and female vocals",
      "duration": 182.32
    },
    {
      "id": "89ddf096-c25a-45ba-bc46-771d6e374b7f",
      "title": "新年快乐 - Instrumental",
      "image_url": "https://cdn2.suno.ai/image_89ddf096-c25a-45ba-bc46-771d6e374b7f.jpeg",
      "lyric": "",
      "audio_url": "https://cdn1.suno.ai/89ddf096-c25a-45ba-bc46-771d6e374b7f.mp3",
      "video_url": "",
      "created_at": "2025-05-06T15:40:44.249Z",
      "model": "",
      "state": "succeeded",
      "prompt": null,
      "style": "traditional influences, male and female vocals",
      "duration": 182.32
    }
  ]
}

获取全音轨分离

如果需要更细粒度的分轨结果,可以使用 all_stems 获取全音轨分离。返回结果最多可能包含人声、和声、鼓、贝斯、吉他、键盘、打击乐、弦乐、合成器、FX、铜管、木管等音轨。

常用字段如下:

参数说明
action固定为 all_stems
audio_id需要全音轨分离的歌曲 ID

请求示例:

json
{
  "action": "all_stems",
  "audio_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
  "async_mode": false
}

返回结果示例如下:

json
{
  "success": true,
  "task_id": "25e89821-24a6-4244-a849-79fd338f9e98",
  "trace_id": "c1e582d0-d5e2-4ffb-aeb4-093039e0720a",
  "data": [
    {
      "id": "ddf370fe-2b31-4d6a-8bf7-1db594c17c20",
      "title": " (Vocals)",
      "image_url": "https://cdn2.suno.ai/image_ddf370fe-2b31-4d6a-8bf7-1db594c17c20.jpeg",
      "lyric": "[Verse]\nThe clock is ticking loud and clear\n...",
      "audio_url": "https://cdn1.suno.ai/ddf370fe-2b31-4d6a-8bf7-1db594c17c20.mp3",
      "video_url": "",
      "created_at": "2025-09-04T03:54:51.697Z",
      "model": "chirp-ahi",
      "state": "succeeded",
      "style": "",
      "metadata": {
        "stem_type_group_name": "Vocals",
        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
        "stem_task": "twelve"
      },
      "duration": 177.64
    },
    {
      "id": "958e9060-40a3-4bf7-a7c1-30f77f300fc9",
      "title": " (Drums)",
      "image_url": "https://cdn2.suno.ai/image_958e9060-40a3-4bf7-a7c1-30f77f300fc9.jpeg",
      "lyric": "",
      "audio_url": "https://cdn1.suno.ai/958e9060-40a3-4bf7-a7c1-30f77f300fc9.mp3",
      "video_url": "",
      "created_at": "2025-09-04T03:54:51.697Z",
      "model": "chirp-ahi",
      "state": "succeeded",
      "style": "",
      "metadata": {
        "stem_type_group_name": "Drums",
        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
        "stem_task": "twelve"
      },
      "duration": 177.64
    }
  ]
}

metadata.stem_type_group_name 表示当前音轨类型,例如 VocalsDrumsBassGuitar 等。实际返回的音轨数量以接口结果为准。

音频上传

音频上传拆分为独立的 自定义歌曲上传 板块。请点击跳转查看 POST /suno/upload 的请求参数、示例和响应说明。

自定义上传歌曲生成

如果要基于自己上传的音乐继续生成或扩展歌曲,可以使用 upload_generate。该动作会读取你提供的音频 URL,并结合歌词和风格生成新的歌曲。

常用字段如下:

参数说明
action固定为 upload_generate
audio_url自定义上传歌曲的音频链接,必填
model使用的模型
custom是否使用自定义生成;仅允许填写 true
lyric歌词文本
title歌曲标题
style歌曲风格,选填
continue_at从上传音频第几秒开始生成,单位为秒
instrumental是否生成纯音乐

continue_at 必须大于 0。通常不要超过原音频时长的 70%,否则可能出现生成片段较短或衔接不理想的情况。

如果先使用上面的音频上传接口获取了歌曲 ID,此时如果要继续生成,应使用 upload_extend,并传入 audio_id,而不是继续传 audio_url

upload_generate 请求示例:

json
{
  "action": "upload_generate",
  "custom": true,
  "instrumental": false,
  "audio_url": "https://example.com/test.mp3",
  "title": "Lost and Found",
  "style": "warm pop, male vocal, bright guitars",
  "lyric": "[Verse]\nRunning down the alley where the shadows play\n[Chorus]\nLost and found I'm spinning around",
  "continue_at": 70,
  "model": "chirp-v4",
  "async_mode": false
}

upload_extend 请求示例:

json
{
  "action": "upload_extend",
  "custom": true,
  "instrumental": false,
  "audio_id": "uploaded-audio-id",
  "title": "Lost and Found",
  "style": "warm pop, male vocal, bright guitars",
  "lyric": "[Verse]\nRunning down the alley where the shadows play\n[Chorus]\nLost and found I'm spinning around",
  "continue_at": 70,
  "model": "chirp-v4",
  "async_mode": false
}

响应示例:

json
{
  "success": true,
  "task_id": "20735a95-90aa-497f-ba7d-f53cb870f19d",
  "trace_id": "e4a085dd-e029-48f8-b182-04ad5c32962a",
  "data": [
    {
      "id": "ab735d10-2708-4d5e-a8e9-61e14f1c5b12",
      "title": "Lost and Found",
      "image_url": "https://cdn2.suno.ai/image_ab735d10-2708-4d5e-a8e9-61e14f1c5b12.jpeg",
      "lyric": "[Verse]\nRunning down the alley where the shadows play\n...\n[Chorus]\nLost and found I'm spinning around",
      "audio_url": "https://cdn1.suno.ai/ab735d10-2708-4d5e-a8e9-61e14f1c5b12.mp3",
      "video_url": "",
      "created_at": "2025-04-12T10:38:32.131Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "prompt": "boy",
      "style": "male vocals, pop",
      "duration": 200.16
    },
    {
      "id": "7a61a147-0715-4cdd-b68e-cfd047e45251",
      "title": "Lost and Found",
      "image_url": "https://cdn2.suno.ai/image_7a61a147-0715-4cdd-b68e-cfd047e45251.jpeg",
      "lyric": "[Verse]\nRunning down the alley where the shadows play\n...",
      "audio_url": "https://cdn1.suno.ai/7a61a147-0715-4cdd-b68e-cfd047e45251.mp3",
      "video_url": "",
      "created_at": "2025-04-12T10:38:32.131Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "prompt": "boy",
      "style": "male vocals, pop",
      "duration": 172.4
    }
  ]
}

音乐翻唱

如果要对已经生成的歌曲进行翻唱,可以使用 cover。翻唱会基于原歌曲生成新的演唱版本,适用于原歌曲风格不合适、想更换演唱风格或结合 Persona 声音风格的场景。

常用字段如下:

参数说明
action固定为 cover
audio_id需要翻唱的歌曲 ID
model使用的模型
custom是否使用自定义生成;仅允许填写 true
lyric翻唱使用的歌词
style翻唱后的歌曲风格
persona_root_id创建 Persona 时的源歌曲 ID
persona_id已创建的 Persona ID

如果要在翻唱时使用歌手风格,通常需要同时传入 persona_root_idpersona_id

请求示例:

json
{
  "action": "cover",
  "custom": true,
  "lyric": "girl girl girl",
  "style": "rock, punk",
  "model": "chirp-v4-5",
  "audio_id": "84ad2f40-4cae-42fa-8a74-8117edbfd6fc",
  "async_mode": false
}

响应示例:

json
{
  "success": true,
  "task_id": "6dc758f8-d574-4fb4-bc10-439fefb25e6c",
  "trace_id": "a9d007ef-6a62-4709-bfe2-4ba7837d5476",
  "data": [
    {
      "id": "61d120bf-4249-425a-9526-adb561767a79",
      "title": "Girl Girl Girl",
      "image_url": "https://cdn2.suno.ai/image_61d120bf-4249-425a-9526-adb561767a79.jpeg",
      "lyric": "[Verse]\nShe's got fire in her eyes so wild\n...\n[Chorus]\nGirl girl girl she's a lightning storm",
      "audio_url": "https://cdn1.suno.ai/61d120bf-4249-425a-9526-adb561767a79.mp3",
      "video_url": "",
      "created_at": "2025-05-13T08:52:44.828Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "prompt": "girl girl girl",
      "style": "pop, female vocals",
      "duration": 162.56
    },
    {
      "id": "c0c147cc-0304-4aac-b212-bb9de869400e",
      "title": "Girl Girl Girl",
      "image_url": "https://cdn2.suno.ai/image_c0c147cc-0304-4aac-b212-bb9de869400e.jpeg",
      "lyric": "[Verse]\nShe's got fire in her eyes so wild\n...",
      "audio_url": "https://cdn1.suno.ai/c0c147cc-0304-4aac-b212-bb9de869400e.mp3",
      "video_url": "",
      "created_at": "2025-05-13T08:52:44.828Z",
      "model": "chirp-auk",
      "state": "succeeded",
      "prompt": "girl girl girl",
      "style": "pop, female vocals",
      "duration": 189.08
    }
  ]
}

片段替换

当生成歌曲后,需要对某个片段单独替换或二次创作时,可以使用 replace_section。该动作会针对指定时间范围生成替换片段。

常用字段如下:

参数说明
action固定为 replace_section
audio_id需要替换片段的歌曲 ID
model使用的模型
prompt要替换后的歌词或修改提示,需要与 lyric 中的内容有重叠
lyric替换后的上下文歌词,包含 prompt 对应的歌词内容
full_lyric替换后的完整歌词;如果未改动其他歌词,保留原完整歌词并替换目标片段即可
style歌曲风格,选填
custom是否使用自定义生成;仅允许填写 true
replace_section_start替换片段起始时间,单位为秒
replace_section_end替换片段结束时间,单位为秒

建议先通过 歌词时间轴接口 获取歌词对应的时间信息,再确定 replace_section_startreplace_section_end。替换片段时长建议不小于 2.5 秒,最长不超过 120 秒;时间范围需要与 lyric 中被替换的歌词片段对应,间隔过大可能导致替换效果不理想或请求失败。

promptlyric 的子集,通常只填写需要修改后的核心歌词;lyric 则填写替换片段的上下文歌词,不需要很长,但需要包含 prompt 内容。

请求示例:

json
{
  "action": "replace_section",
  "instrumental": false,
  "custom": true,
  "prompt": "(Chorus)向光而行!",
  "model": "chirp-v4-5-plus",
  "lyric": "【Pre-Chorus】(Warm Group Vocals)\r\n霓虹把雨点照亮\r\n脚步穿过长街回响\r\n我把犹豫放进风里\r\n(Chorus)向光而行!\r\n穿过云层和夜色的缝隙\r\n让心跳追上黎明\r\n",
  "title": "《城市夜航》",
  "style": "Mandopop Rock, Synthwave, Hopeful Anthem",
  "audio_id": "9f4a6d21-8c73-4f1b-9a62-3d6f0c8e1257",
  "persona_id": "",
  "continue_at": 0,
  "style_negative": null,
  "audio_url": "",
  "persona_root_id": null,
  "full_lyric": "窗外的雨落在高架桥\r\n车灯像河流慢慢燃烧\r\n我听见远处的风在叫\r\n提醒我别停靠\r\n【Pre-Chorus】(Warm Group Vocals)\r\n霓虹把雨点照亮\r\n脚步穿过长街回响\r\n我把犹豫放进风里\r\n(Chorus)向光而行!\r\n穿过云层和夜色的缝隙\r\n让心跳追上黎明\r\n【Outro】\r\n城市还醒着\r\n我也继续向前走",
  "replace_section_start": 74.25,
  "replace_section_end": 78.9,
  "vocal_gender": null,
  "async_mode": false
}

响应返回的是替换后的片段歌曲,通常不是完整歌曲。如果需要得到完整替换后的歌曲,可以再使用上文的 获取完整歌曲 方式进行拼接。

响应示例:

json
{
  "success": true,
  "task_id": "6fb1713d-a4d1-476a-9791-66750dbc9695",
  "trace_id": "22d6bcb0-b823-45bd-8e50-3b4b1cf22016",
  "data": [
    {
      "id": "ec286375-2b34-445d-a485-60c08d31693b",
      "title": "《乌蒙好汉》",
      "image_url": "https://cdn2.suno.ai/image_ec286375-2b34-445d-a485-60c08d31693b.jpeg",
      "lyric": "【Verse 2】(Group Vocals + Suona Lead)\r\n战鼓擂起来(喝)\r\n...\r\n(Chorus)就是干!",
      "audio_url": "https://cdn1.suno.ai/ec286375-2b34-445d-a485-60c08d31693b.mp3",
      "video_url": "",
      "created_at": "2025-09-30T03:50:41.678Z",
      "model": "chirp-bluejay",
      "state": "succeeded",
      "style": "Folk Rock,Ethnic Fusion,Heroic Anthem",
      "duration": 6.96
    },
    {
      "id": "00dc0e5e-9657-4718-971c-95c9ec505e92",
      "title": "《乌蒙好汉》",
      "image_url": "https://cdn2.suno.ai/image_00dc0e5e-9657-4718-971c-95c9ec505e92.jpeg",
      "lyric": "【Verse 2】(Group Vocals + Suona Lead)\r\n战鼓擂起来(喝)\r\n...\r\n(Chorus)就是干!",
      "audio_url": "https://cdn1.suno.ai/00dc0e5e-9657-4718-971c-95c9ec505e92.mp3",
      "video_url": "",
      "created_at": "2025-09-30T03:50:41.678Z",
      "model": "chirp-bluejay",
      "state": "succeeded",
      "style": "Folk Rock,Ethnic Fusion,Heroic Anthem",
      "duration": 6.96
    }
  ]
}

自定义歌曲添加人声

如果已有一首自定义上传或生成的纯音乐歌曲,可以使用 add_vocals 为歌曲添加人声。该动作需要传入歌曲 ID,并提供要加入的人声歌词内容。

常用字段如下:

参数说明
action固定为 add_vocals
audio_id需要添加人声的歌曲 ID
model使用的模型
lyric需要添加的人声歌词
custom是否使用自定义模式;仅允许填写 true
style人声或歌曲风格
weirdness创意随机参数
audio_influence音频影响参数;需要在已有歌曲基础上使用
style_influence风格影响参数
overpainting_start添加人声片段的起始时间,单位为秒
overpainting_end添加人声片段的结束时间,单位为秒
vocal_gender人声性别,m 表示男声,f 表示女声

chirp-v4-5 及以上模型支持同时传入 weirdnessaudio_influencestyle_influencevocal_gender 等高级参数。audio_influence 通常需要基于已有歌曲生成时才会生效。

请求示例:

json
{
  "action": "add_vocals",
  "model": "chirp-v4-5",
  "audio_id": "9d54b289-0c45-477e-a8b3-5e77498c65e7",
  "lyric": "[Verse 1]\nKini ku telah bebas\nDosa telah dipatahkan\nYesus hidup Dia menang",
  "custom": true,
  "style": "male vocal, gospel pop, warm choir",
  "weirdness": 0.3,
  "audio_influence": 0.3,
  "style_influence": 0.3,
  "overpainting_start": 0,
  "overpainting_end": 10,
  "vocal_gender": "m",
  "async_mode": false
}

自定义歌曲添加伴奏

如果已有一首自定义上传或生成的人声歌曲,可以使用 add_instrumental 为歌曲添加伴奏。该动作需要传入歌曲 ID,并通过风格和高级参数控制伴奏生成效果。

常用字段如下:

参数说明
action固定为 add_instrumental
audio_id需要添加伴奏的歌曲 ID
model使用的模型
lyric原歌曲歌词或人声对应歌词
custom是否使用自定义模式;仅允许填写 true
style伴奏或歌曲风格
weirdness创意随机参数
audio_influence音频影响参数;需要在已有歌曲基础上使用
style_influence风格影响参数
underpainting_start添加伴奏片段的起始时间,单位为秒
underpainting_end添加伴奏片段的结束时间,单位为秒

chirp-v4-5 及以上模型支持同时传入 weirdnessaudio_influencestyle_influence 等高级参数。可以通过 style_influence 控制伴奏风格贴合程度,通过 audio_influence 控制对原音频的参考程度。

请求示例:

json
{
  "action": "add_instrumental",
  "model": "chirp-v4-5",
  "audio_id": "9d54b289-0c45-477e-a8b3-5e77498c65e7",
  "lyric": "[Verse 1]\nKini ku telah bebas\nDosa telah dipatahkan\nYesus hidup Dia menang",
  "custom": true,
  "style": "uplifting gospel pop, piano, warm drums, choir atmosphere",
  "weirdness": 0.3,
  "audio_influence": 0.3,
  "style_influence": 0.3,
  "underpainting_start": 0,
  "underpainting_end": 10,
  "async_mode": false
}

自定义混曲生成

如果要将两首歌曲进行混合生成,可以使用 mashup。该动作需要传入两首歌曲的 ID,并通过自定义模式填写混合后的歌词与风格。

混合歌词可以先通过 歌词生成接口 获取,再作为 lyric 传入。

常用字段如下:

参数说明
action固定为 mashup
mashup_audio_ids需要混合的歌曲 ID 列表,通常传入两首歌曲
model使用的模型
custom是否使用自定义模式;仅允许填写 true
lyric混合生成使用的歌词
title歌曲标题
style混合后的歌曲风格
instrumental是否生成纯音乐

请求示例:

json
{
  "action": "mashup",
  "instrumental": false,
  "custom": true,
  "model": "chirp-v4-5",
  "lyric": "(Intro) Flicker lights on a midnight screen\nThe weight of the world fades into the bassline",
  "title": "Family Legacy",
  "style": "Reggae Groove in E minor, skanking guitar, soulful bass",
  "mashup_audio_ids": [
    "7a7e73d1-963f-4249-ac22-30ef60cb26ba",
    "e8403a40-d2ff-4bce-a7c5-178249ff663b"
  ],
  "async_mode": false
}

Remaster 生成

如果要对已有歌曲进行重新生成或增强,可以使用 remaster。该动作适合在保留原歌曲基础的同时调整清晰度、质感或整体表现。

常用字段如下:

参数说明
action固定为 remaster
audio_id需要重新生成的歌曲 ID
model使用的模型;常用 chirp-v4-5-pluschirp-v5
variation_category变体强度,常见值为 subtlenormalhigh;通常在 modelchirp-v5 时使用

请求示例:

json
{
  "action": "remaster",
  "model": "chirp-v5",
  "variation_category": "subtle",
  "audio_id": "85a4bb34-9218-46c8-818e-90443713363b",
  "async_mode": false
}

自定义采样歌曲生成

如果要根据已有歌曲中的某个片段进行采样生成,可以使用 sample。该动作需要传入采样歌曲 ID,以及采样起止时间。

常用字段如下:

参数说明
action固定为 sample
audio_id被采样的歌曲 ID
sample_start采样起始时间,单位为秒
sample_end采样结束时间,单位为秒
model使用的模型
custom是否使用自定义模式;仅允许填写 true
lyric采样生成使用的歌词
title歌曲标题
style歌曲风格
instrumental是否生成纯音乐

请求示例:

json
{
  "model": "chirp-v5",
  "action": "sample",
  "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly",
  "title": "Roots in the Sky",
  "style": "A gently breathing 72 BPM pulse, intimate golden-hour warmth",
  "custom": true,
  "instrumental": false,
  "sample_start": 50,
  "sample_end": 60,
  "audio_id": "7e01b40b-2a00-48d9-a0c2-f74407dd902d",
  "async_mode": false
}

自定义 Inspiration 生成

如果要基于一首歌曲生成灵感参考版本,可以使用 inspiration。该动作可用于生成 Persona 备选方案,或参考已有歌曲的人声与风格进行新的创作。

常用字段如下:

参数说明
action固定为 inspiration
audio_id参考歌曲 ID,也可以是上传后得到的歌曲 ID
model使用的模型
custom是否使用自定义模式;仅允许填写 true
lyric生成使用的歌词
title歌曲标题
style歌曲风格
instrumental是否生成纯音乐

请求示例:

json
{
  "model": "chirp-v4",
  "action": "inspiration",
  "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly",
  "title": "Roots in the Sky",
  "style": "warm soul pop, gentle 72 BPM groove, intimate vocal",
  "custom": true,
  "instrumental": false,
  "audio_id": "e9da41f8-61f8-4244-9283-e2f5d85a1b04",
  "async_mode": false
}

自定义歌手风格生成

如果要使用已创建的 Persona 歌手风格生成歌曲,可以使用 artist_consistency。使用前请先在 Persona 创建 页面创建 Persona,并保存返回的 persona_idaudio_id

常用字段如下:

参数说明
action固定为 artist_consistency
audio_idPersona 来源歌曲 ID,通常使用创建 Persona 时返回或使用的歌曲 ID
persona_id已创建的 Persona ID
persona_root_idPersona 来源歌曲 ID,通常与 audio_id 保持一致
model使用的模型
lyric生成歌曲使用的歌词
title歌曲标题
style歌曲风格
custom是否使用自定义模式;仅允许填写 true
instrumental是否生成纯音乐
persona_typePersona 类型;真人 Voice 或 Vox Persona 通常传 vox

普通 Persona 请求示例:

json
{
  "action": "artist_consistency",
  "model": "chirp-v4-5",
  "custom": true,
  "instrumental": false,
  "title": "新年快乐",
  "style": "Chinese pop, festive, warm group vocals",
  "lyric": "[Verse]\n灯火照亮回家的路\n[Chorus]\n新年快乐 一起唱到天明",
  "audio_id": "04734644-d4c8-4d1e-ac53-be95289c5b6b",
  "persona_root_id": "04734644-d4c8-4d1e-ac53-be95289c5b6b",
  "persona_id": "89f20346-51f0-4b35-a88e-ed8fa5bb5cac",
  "async_mode": false
}

Vox Persona 或真人 Voice 请求示例:

json
{
  "action": "artist_consistency",
  "model": "chirp-v5-5",
  "custom": true,
  "instrumental": false,
  "title": "Voice in the Morning",
  "style": "Acoustic pop, intimate vocal, soft piano",
  "lyric": "[Verse]\nMorning light is touching my window\n[Chorus]\nI hear your voice and start again",
  "audio_id": "aca20afa-0e70-4428-b54d-d138f70fb238",
  "persona_id": "b224d9c9-d23d-4425-803b-9af41f94d3e1",
  "persona_type": "vox",
  "async_mode": false
}

自定义创建 Sounds

如果要创建短音效、loop 或 one-shot 声音素材,可以使用 sounds。该动作通过 sound 对象描述要生成的声音,不用于完整歌曲生成。

常用字段如下:

参数说明
action固定为 sounds
sound声音生成参数对象
model使用的模型

请求示例:

json
{
  "action": "sounds",
  "sound": {
    "description": "A deep bass drop with warm analog texture",
    "type": "one_shot",
    "key": "F#",
    "bpm": 120
  },
  "model": "chirp-v5",
  "async_mode": false
}

Sound 参数说明

参数类型必填说明示例
sound.descriptionstring描述你想要的音频,是声音生成的核心输入,也会作为标题来源;如果太长可能会被截断A deep bass drop with warm analog texture
sound.typestring音频类型,默认 one_shot;可选值:one_shotloopone_shot
sound.keystring音乐调性,不填时默认为 Any;可填写如 CC majC minF#A minF#
sound.bpmnumberBPM / 节奏速度;不填时默认自动选择,取值范围 1 到 300,常见音乐 BPM 在 60 到 200 之间120

Python 示例

python
import requests

url = "https://your-domain.com/suno/audios"
headers = {
    "X-API-Key": "YOUR_API_KEY",
    "Content-Type": "application/json",
}
payload = {
    "action": "generate",
    "prompt": "A bright pop song about city lights and summer rain",
    "model": "chirp-v4",
    "async_mode": False,
}

response = requests.post(url, headers=headers, json=payload)
print(response.status_code)
print(response.text)

响应说明

异步模式下通常会返回 task_id,拿到后可通过 任务查询 获取结果。

同步模式或部分动作可能直接返回结果。常见字段包括:

字段说明
success请求是否成功受理
task_id异步任务 ID
trace_id请求追踪 ID,排查问题时可一并提供
data生成歌曲列表,包含歌曲详情
data[].state歌曲生成状态,常见值见下方状态说明
data[].id歌曲 ID,可用于续写、翻唱、分轨、视频、WAV、SRT 等后续接口
data[].title歌曲标题
data[].image_url歌曲封面图片 URL
data[].lyric歌词
data[].audio_url歌曲音频文件 URL,通常为 MP3
data[].video_url歌曲视频文件 URL,通常为 MP4;为空表示当前未生成视频
data[].created_at创建时间
data[].model使用的模型
data[].prompt生成提示词
data[].style歌曲风格
data[].duration歌曲时长,单位为秒

state 常见取值:

状态说明
succeeded生成成功
pending队列中
running执行中
error生成失败

最终响应内容以接口实际返回为准。

响应示例

json
{
  "success": true,
  "task_id": "4226ba3a-c168-464e-b2db-18b32b17335a",
  "trace_id": "cb108c23-1b32-4fa4-99c7-e1e15e6e542c",
  "data": [
    {
      "id": "7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4",
      "title": "新年快乐",
      "image_url": "https://cdn2.suno.ai/image_7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4.jpeg",
      "lyric": "[Verse]\n挂灯笼 照亮每个街头\n福字倒 福气满到家门口\n...\n[Chorus]\n新年快乐 心愿齐欢歌\n祝福今天照亮每一刻",
      "audio_url": "https://cdn1.suno.ai/7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4.mp3",
      "video_url": "",
      "created_at": "2025-04-11T04:47:14.486Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "prompt": "新年快乐",
      "style": "male vocals, chinese",
      "duration": 134.8
    },
    {
      "id": "b423fb9a-99e0-4e1b-97cd-54c62e5041bc",
      "title": "新年快乐",
      "image_url": "https://cdn2.suno.ai/image_b423fb9a-99e0-4e1b-97cd-54c62e5041bc.jpeg",
      "lyric": "[Verse]\n挂灯笼 照亮每个街头\n福字倒 福气满到家门口\n...",
      "audio_url": "https://cdn1.suno.ai/b423fb9a-99e0-4e1b-97cd-54c62e5041bc.mp3",
      "video_url": "",
      "created_at": "2025-04-11T04:47:14.486Z",
      "model": "chirp-v4",
      "state": "succeeded",
      "prompt": "新年快乐",
      "style": "male vocals, chinese",
      "duration": 148.96
    }
  ]
}

扣费说明

计费项参考积分
歌曲生成10