Skip to main content

概述

  • API版本: 2025.09.23 suno 支持版本 v5的 mv 为 chirp-crow 2025.07.17 suno 支持版本 v4.5+的 mv 为 chirp-bluejay 2025.05.03 suno 支持版本 v4.5的 mv 为 chirp-auk
  • 提交接口: POST https://api.deerapi.com/suno/submit/music
  • 获取结果: GET https://api.deerapi.com/suno/fetch/\{task_id\}

基础请求格式

curl --request POST \
  --url https://api.deerapi.com/suno/submit/music \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "gpt_description_prompt": "乡愁"
  }'

1. 灵感模式

通过简单的描述生成音乐。
{
  "gpt_description_prompt": "乡愁"
}

2. 自定义歌词歌名

完全自定义歌词、标题和风格标签。
{
  "prompt": "[Verse]\n连续的日子一直忙碌\n文件成堆无尽头\n把梦想藏在抽屉深处\n咖啡杯已经冷透\n\n[Verse 2]\n早上八点打卡上班\n疲惫的眼睛没神采\n同事间的闲聊都没意思\n只盼着时间快快跑起来\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现\n\n[Verse 3]\n午餐时间吃个便当\n看窗外阳光正灿烂\n生活离梦想好远\n眼前只有办公桌和椅子\n\n[Bridge]\n老板的脚步声像雷鸣\n心跳随着节奏加速\n桌上的文件一大堆\n抱怨的声音渐渐消失\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现",
  "mv": "chirp-auk",
  "title": "工作",
  "tags": " edm"
}

3. 纯音乐自定义

生成纯音乐,无歌词。
{
  "prompt": "",
  "tags": "heavy metal",
  "mv": "chirp-auk",
  "title": "北京",
  "continue_clip_id": null,
  "continue_at": null,
  "infill_start_s": null,
  "infill_end_s": null
}

4. 纯音乐灵感模式

通过描述生成纯音乐。
{
  "gpt_description_prompt": "一首关于彻夜跳舞的国歌舞蹈流行歌曲",
  "mv": "chirp-auk",
  "prompt": "",
  "make_instrumental": true
}

5. 续写自定义音频

A. 上传音乐

首先通过上传接口得到 clip_id

B. 扩展音乐(带版本信息)

{
  "prompt": "歌词",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-v4",
  "title": "标题",
  "continue_clip_id": "ca94a97d-d3f2-4a63-aeee-ba3a43384bcd",
  "continue_at": 10,
  "task": "upload_extend"
}

C. 扩展音乐(将弃用)

注意: 这里的 mv 是 chirp-auk-upload 或者 chirp-v4-upload
{
  "prompt": "[Verse]\n连续的日子一直忙碌\n文件成堆无尽头\n把梦想藏在抽屉深处\n咖啡杯已经冷透\n\n[Verse 2]\n早上八点打卡上班\n疲惫的眼睛没神采\n同事间的闲聊都没意思\n只盼着时间快快跑起来\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现\n\n[Verse 3]\n午餐时间吃个便当\n看窗外阳光正灿烂\n生活离梦想好远\n眼前只有办公桌和椅子\n\n[Bridge]\n老板的脚步声像雷鸣\n心跳随着节奏加速\n桌上的文件一大堆\n抱怨的声音渐渐消失\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现",
  "tags": "heavy metal",
  "mv": "chirp-auk-upload",
  "title": "工作",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "continue_at": 30.792
}

D. 拼接完整音乐

注意: is_infillfalse 扣费: 一首歌的费用
接口: POST https://api.deerapi.com/suno/submit/music/concat
curl --request POST \
  --url https://api.deerapi.com/suno/submit/music/concat \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "clip_id": "newid-1234-1234-1234-one",
    "is_infill": false
  }'

6. 续写音乐并获取完整音乐

注意: 续写官方产生的音乐,自定义不可用

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id

B. 扩展音乐

会得到 2 个新的 clip_id,取其中一个
{
  "prompt": "[Verse]\n连续的日子一直忙碌\n文件成堆无尽头\n把梦想藏在抽屉深处\n咖啡杯已经冷透\n\n[Verse 2]\n早上八点打卡上班\n疲惫的眼睛没神采\n同事间的闲聊都没意思\n只盼着时间快快跑起来\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现\n\n[Verse 3]\n午餐时间吃个便当\n看窗外阳光正灿烂\n生活离梦想好远\n眼前只有办公桌和椅子\n\n[Bridge]\n老板的脚步声像雷鸣\n心跳随着节奏加速\n桌上的文件一大堆\n抱怨的声音渐渐消失\n\n[Chorus]\n工作工作老板的呼喊\n做完做完这才算平安\n加班加班才有些钱赚\n梦想梦想何时能实现",
  "tags": "heavy metal",
  "mv": "chirp-auk",
  "title": "工作",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "continue_at": 30,
  "task": "extend"
}

C. 拼接完整音乐

注意: is_infillfalse 扣费: 0.1
接口: POST https://api.deerapi.com/suno/submit/music/concat
curl --request POST \
  --url https://api.deerapi.com/suno/submit/music/concat \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "clip_id": "xxxxx",
    "is_infill": false
  }'

7. Cover 音乐:音乐翻版/修改风格

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id 值 也可以通过上传接口得到 clip_id,这样就可以 cover 自定义音频

B. Cover 音乐

注意:
  • mv 为 chirp-v4 或者 chirp-bluejay 或者 chirp-auk
  • task 为 cover
  • 可跨账号使用,不用担心账号下线
  • cover_clip_id 如果是 upload 的 clip_id 为不可跨账号
  • mv 不在使用 chirp-v3-5-tau,chirp-v4-tau
{
  "prompt": "[Verse]\n忙碌的日子不停转\n文件堆积看不到边\n梦想藏在抽屉深处\n咖啡杯已经变凉\n\n[Verse 2]\n早上八点准时打卡\n疲惫的双眼没有神采\n同事间的闲聊很无趣\n只盼时间过得快些\n\n[Chorus]\n工作工作老板在叫\n完成完成才能安全\n加班加班为了赚钱\n梦想梦想何时实现\n\n[Verse 3]\n午餐时间吃着便当\n看着窗外明媚阳光\n生活离梦想很遥远\n眼前只有桌椅成双\n\n[Bridge]\n老板的脚步如同雷鸣\n心跳随着节奏加速\n桌上堆满一摞文件\n抱怨渐渐消失无踪\n\n[Chorus]\n工作工作老板在叫\n完成完成才能安全\n加班加班为了赚钱\n梦想梦想何时实现",
  "generation_type": "TEXT",
  "tags": "rock, punk",
  "negative_tags": "",
  "mv": "chirp-v4-tau",
  "title": "Work (Cover)",
  "continue_clip_id": null,
  "continue_at": null,
  "continued_aligned_prompt": null,
  "infill_start_s": null,
  "infill_end_s": null,
  "task": "cover",
  "task_id": "77d7ac95-1b73-4947-9387-e6b635a1a8d1",
  "cover_clip_id": "abcd-1234-1234-1234-abd"
}

8. Replace Section:替换片段

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id

B. Replace Section

注意:
  • task 为 infill
  • mv 为 chirp-v3-5-tau 或者 chirp-v4-tau 或者 chirp-auk
  • 替换的歌词要跟原来的歌词有重复的地方,最好相应的时间能对应上
  • infill_start_s 开始时间,infill_end_s 结束时间,infill_dur_sinfill_end_s-infill_start_s
  • 可跨账号使用,不用担心账号下线
  • 会得到 2 个新的 clip_id,选择其中一个 给下一步使用
{
  "task": "infill",
  "generation_type": "TEXT",
  "title": "思念的刻度-replace",
  "tags": "Sorrow/Sad,Female Vocals,Mandarin",
  "mv": "chirp-auk",
  "prompt": "《思念的刻度》 \n \n作词:阿果依珞\n年轮里刻着你奔跑的温度。 \n每片落叶都在替你呼唤\n可风一吹就碎成雾。 \n整理角落你的吉他 \n琴箱里积攒所有雨季, \n潮湿了玫瑰木的背脊。 \n若把思念缠成新弦, \n怕一碰就碎成 \n当年的回音。 \n时光是倒流的录像带, \n夜越深你笑声越清晰传来。 \n如果眼泪能浇灌时光隧道, \n我愿把眼睛哭成海。 \n当所有春天都与你有关, \n我学会用伤口呼吸。 \n继续爱你, \n用尽",
  "metadata": {
    "infill_lyrics": "。 \n整理角落你的吉他 \n琴箱里积攒所有雨季, \n潮湿了玫瑰木的背脊。 \n若把思念缠成新弦, \n怕一碰就碎成 \n当年的回音"
  },
  "continue_clip_id": "8a858961-8831-4423-8ffb-2dec096aea0a",
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "continued_aligned_prompt": "《思念的刻度》 \n \n作词:阿果依珞\n年轮里刻着你奔跑的温度。 \n每片落叶都在替你呼唤\n可风一吹就碎成雾。 \n整理角落你的吉他 \n琴箱里积攒所有雨季, \n潮湿了玫瑰木的背脊。 \n若把思念缠成新弦, \n怕一碰就碎成 \n当年的回音。 \n时光是倒流的录像带, \n夜越深你笑声越清晰传来。 \n如果眼泪能浇灌时光隧道, \n我愿把眼睛哭成海。 \n当所有春天都与你有关, \n我学会用伤口呼吸。 \n继续爱你, \n用尽所有 \n不再跳动的心跳。\n整理角落你的吉他 \n琴箱里积攒所有雨季, \n潮湿了玫瑰木的背脊。 \n若把思念缠成新弦, \n怕一碰就碎成 \n当年的回音。 \n当所有春天都与你有关, \n我学会用伤口呼吸。 \n继续爱你, \n用尽所有 \n不再跳动的心跳。\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. 确认拼接完整音乐

注意:
  • is_infilltrue
  • 扣费: 0.1
接口: POST https://api.deerapi.com/suno/submit/music/concat
curl --request POST \
  --url https://api.deerapi.com/suno/submit/music/concat \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "clip_id": "xxxxx",
    "is_infill": true
  }'

9. Persona:歌手风格

A. 生成音乐

  1. step1. 通过生成音乐场景 1 2 3 任意一种生成音乐,且必须为4.5版本,取到 task id
  2. step2. 拿到 task id 后,根据需要获取歌曲的对应 clip_id

B. 新建 Persona

注意: 将对应的 clip_id 入参, 填入该接口 ,得到返回的id为persona_id供下一步使用
  • clip_id 需要系统内存在的,非 uploader
  • 不能跨账号,所以可能账号下线用不了
  • 为防止滥用会扣 0.1
接口: POST https://api.deerapi.com/suno/persona/create
{
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "name": "Persona 标题",
  "description": "Persona 描述",
  "clips": ["54834687-5e79-4f08-8e14-cf188f15b598"],
  "is_public": true
}

C. 使用 persona_id 创作

  • 使用接口: 新建persona 注意事项:**
  • mv 为 chirp-v4 或者 chirp-bluejay 或者 chirp-auk
  • task 为 artist_consistency
  • persona_id 为 新建persona 接口 步骤得到的返回id
  • artist_clip_id 就是 生成音乐 步骤中的 clip_id
  • 可跨账号
接口: POST https://api.deerapi.com/suno/submit/music
{
  "prompt": "[Verse]\n你从清晨到黄昏\n一直在我身边温暖\n风吹雨打也不怕\n紧握手永不分开\n\n[Verse 2]\n有你在我不孤单\n就像繁星在夜晚\n路再长也不觉得远\n因为你是我的光\n\n[Chorus]\n老公老公我爱你\n你是世界的唯一\n无论在天涯海角\n心如影随形不离\n\n[Verse 3]\n你是我的避风港\n每天夜里梦都是你\n即使前路多辛苦\n有你一切多美丽\n\n[Chorus]\n老公老公我爱你\n你是世界的唯一\n无论在天涯海角\n心如影随形不离\n\n[Bridge]\n生命中的每一刻\n有你陪伴去体会\n所有明天都更好\n因为有你我无敌",
  "generation_type": "TEXT",
  "tags": "electronic, pop",
  "negative_tags": "",
  "mv": "chirp-auk",
  "title": "老公",
  "task": "artist_consistency",
  "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163"
}

10. All-Stems:全轨声曲分离

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id

B. 全轨声曲分离

注意:
  • mv 为 chirp-auk
  • task 为 gen_stem
  • stem_tasktwelve
  • stem_type_group_nameTwelve
  • continue_clip_id 就是 A 步骤中的 clip_id
  • 可跨账号
  • 计费: 5 倍基础价格,5 次 10 首歌的价格
接口: POST https://api.deerapi.com/suno/submit/music
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "安全之弦",
  "mv": "chirp-auk",
  "prompt": "",
  "make_instrumental": true,
  "continue_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "continued_aligned_prompt": null,
  "continue_at": null,
  "stem_type_id": 91,
  "stem_type_group_name": "Twelve",
  "stem_task": "twelve"
}

C. 获取结果

返回 24 个 clip_id,使用task id 查询 接口: GET https://api.deerapi.com/suno/fetch/\{task_id\}

11. Stems:单轨声曲分离

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id

B. 声曲分离

注意:
  • mv 为 chirp-auk
  • task 为 gen_stem
  • stem_tasktwo
  • stem_type_group_nameTwo
  • continue_clip_id 就是 A 步骤中的 clip_id
  • 可跨账号
  • 计费: 五次生成费用
接口: POST https://api.deerapi.com/suno/submit/music
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "安全之弦",
  "mv": "chirp-auk",
  "prompt": "",
  "make_instrumental": true,
  "continue_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "continued_aligned_prompt": null,
  "continue_at": null,
  "stem_type_id": 91,
  "stem_type_group_name": "Two",
  "stem_task": "two"
}

C. 获取结果

接口: GET https://api.deerapi.com/suno/fetch/\{task_id\}

12. 自定义音频声曲分离

该场景允许您上传自己的音乐文件,然后对其进行声曲分离

A. 上传音乐文件

上传您的音乐文件以获取 task_idclip_id
curl --location --request POST 'https://api.deerapi.com/suno/uploads/audio-url' \
--header 'Authorization: sk-xxxx' \
--header 'User-Agent: Apifox/1.0.0 (https://apifox.com)' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: api.deerapi.com' \
--header 'Connection: keep-alive' \
--data-raw '{
    "url": "https://xxxxxx.mp3"
}'

B. 进行声曲分离

使用上一步骤获取到的 clip_id 进行声曲分离。返回的 task_id 用于查询分离结果。
注意:
  • mv 参数为 chirp-auk
  • task 参数为 gen_stem
  • continue_clip_id 填入 A 步骤中上传音乐文件后返回的 clip_id
  • stem_taskstem_type_group_name 决定分离类型。示例为全轨分离。
  • 可跨账号使用。
  • 计费: 费用与 All-Stems (场景 10) 或 Stems (场景 11) 相同。
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "上传音频声曲分离",
  "mv": "chirp-auk",
  "prompt": "",
  "make_instrumental": true,
  "continue_clip_id": "eeb77e7a-e2a5-4fb0-96b5-d6a27d5ab09c", // 替换为上传后获取的clip_id
 "task_id": "d2dc63d1-70b8-46ea-85b1-8d71fe59466f",
  "continued_aligned_prompt": null,
  "continue_at": null,
  "stem_type_id": 91,
  "stem_type_group_name": "Twelve",
  "stem_task": "twelve"
}

C. 获取结果

使用 B 步骤返回的 task_id 查询声曲分离结果。 接口: GET https://api.deerapi.com/suno/fetch/\{task_id\}

13. Timing:歌词、音频时间线

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id

B. 获取歌词

注意: 可跨账号
接口: GET https://api.deerapi.com/suno/act/timing/\{clip_id\}

14. WAV:获取 WAV 格式文件

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id 值为 a624123d-22cc-4d4d-bf28-78d312f61597

B. 获取 WAV 文件

注意:
  • 如果返回体 wav_file_url 为 null,多获取几次
  • 为防止滥用会扣除 0.1
  • 不可跨账号,账号下线后不可调用
接口: GET https://api.deerapi.com/suno/act/wav/\{clip_id\}

15. MP4:生成 MP4 MV 视频

A. 生成音乐

可以通过场景 1、2、3 生成音乐,获取其中的一首歌的 clip_id

B. 获取 MP4 文件

注意:
  • 需要状态是 complete 执行才有效果
  • 执行完需要等待 30 秒后 URL 才能访问
  • 为防止滥用会扣除 0.1
  • 不可跨账号,账号下线后不可调用
接口: GET https://api.deerapi.com/suno/act/mp4/\{clip_id\}

16. 新增weirdness_constraintstyle_weightaudio_weight参数

2025 年 7 月份 suno 新增了 3 个高价参数:
  • weirdness_constraint
  • style_weight
  • audio_weight(仅在 cover 的时候出现)
  • 取值都是 0-1 之间 2025 年 9月份 suno 新增了 vocalgender 参数:女声:f;男声:m

A. 普通生成

接口: POST https://api.deerapi.com/suno/submit/music
{
  "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": "现代",
  "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"],
    "vocalgender":"m"
  }
}

B. Cover 生成

Cover 的时候会有一个 audio_weight 参数 接口: POST https://api.deerapi.com/suno/submit/music
{
  "prompt": "[Verse]\n新年钟声敲响\n烟花照亮夜晚\n笑声传遍四方\n好运陪伴身旁\n\n[Chorus]\n新年快乐喜气洋洋\n红灯高挂满街辉煌\n团圆美满幸福绽放\n心愿成真福满堂\n\n[Verse 2]\n春风轻轻吹来\n带着吉祥花开\n新衣新鞋新期待\n梦想从此展开\n\n[Chorus]\n新年快乐喜气洋洋\n红灯高挂满街辉煌\n团圆美满幸福绽放\n心愿成真福满堂\n\n[Bridge]\n鞭炮声声响起\n迎接新的契机\n家家户户欢喜\n年味浓郁传递\n\n[Chorus]\n新年快乐喜气洋洋\n红灯高挂满街辉煌\n团圆美满幸福绽放\n心愿成真福满堂",
  "generation_type": "TEXT",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-auk",
  "title": "新年快乐 (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
  }
}

17. Add Instrumental

2025 年 8 月份 suno 新出 Add Instrumental
上传一首清唱无配音的歌曲,让 suno 帮你配乐
注意:
  • task 为 underpainting
  • underpainting_clip_id 为上传的 clip_id
  • underpainting_end_s 必须小于等于上传的 duration
  • 计费 一次歌曲费用
  • 不允许跨账号

A. 上传清唱歌曲

上传您的清唱音乐文件以获取 clip_id 接口: POST https://api.deerapi.com/suno/uploads/audio-url
curl --request POST \
  --url https://api.deerapi.com/suno/uploads/audio-url \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
  }'

B. 获取歌曲时长等参数

使用上传后获取的 clip_id 查询时长。 接口: GET https://api.deerapi.com/suno/fetch/\{task_id\} 通过获取接口得到 metadata.duration 时长。

C. 执行 Add Instrumental

接口: POST https://api.deerapi.com/suno/submit/music
{
  "mv": "chirp-bluejay",
  "tags": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
  "title": "Hi Insterumental",
  "underpainting_clip_id": "3c332c7c-85e5-4d36-9949-9af0521af891",
  "underpainting_start_s": 0,
  "underpainting_end_s": 37.9,
  "task": "underpainting",
  "prompt": "",
  "override_fields": ["prompt", "tags"]
}

18. Add Vocals

2025 年 8 月份 suno 新出 Add Vocals
上传一首纯音乐,让 suno 填词、出人声歌唱
注意:
  • task 为 overpainting
  • overpainting_clip_id 为上传的 clip_id
  • overpainting_end_s 必须小于等于上传的 metadata.duration
  • tags 为上传的 metadata.tags
  • 计费 一次歌曲费用
  • 不允许跨账号

A. 上传纯音乐

上传您的纯音乐文件以获取 clip_id 接口: POST https://api.deerapi.com/suno/uploads/audio-url
curl --request POST \
  --url https://api.deerapi.com/suno/uploads/audio-url \
  --header 'Authorization: Bearer sk-your-key' \
  --header 'Content-Type: application/json' \
  --data '{
    "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
  }'

B. 获取歌曲时长等参数

使用上传后获取的 clip_id 查询时长和tags。 接口: GET https://api.deerapi.com/suno/fetch/\{task_id\} 通过获取接口得到 metadata.duration 时长,同时获取 metadata.tags

C. 执行 Add Vocals

接口: POST https://api.deerapi.com/suno/submit/music
{
  "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": "3c332c7c-85e5-4d36-9949-9af0521af891",
  "overpainting_start_s": 0,
  "overpainting_end_s": 37.9,
  "task": "overpainting",
  "prompt": "yourself ",
  "override_fields": ["prompt", "tags"]
}

19. 获取 MIDI

从音乐中提取 MIDI 数据,获取乐器和音符信息。

A. 全轨分离的 clip_id

通过 场景10: All-Stems 全轨声曲分离 获取其中的一首歌的 clip_id 值。
注意:
  • 普通音乐的 clip_id 也能执行,但官网只有全轨分离的 clip_id 才有 MIDI 功能
  • 扣费: 0.01
  • 不可跨账号,账号下线后不可调用
示例 clip_id: a624123d-22cc-4d4d-bf28-78d312f61597

B. 获取 MIDI

接口: GET https://api.deerapi.com/suno/act/midi/\{clip_id\}
curl --request GET \
  --url https://api.deerapi.com/suno/act/midi/c5bffd3a-96ad-4e83-9fbe-4720a5b9a664 \
  --header 'Authorization: Bearer sk-your-key'
响应状态: 未完成时返回:
{
  "state": "running"
}
完成后返回:
{
  "state": "complete",
  "instruments": [
    {
      "name": "String Ensembles 1",
      "notes": [
        {
          "pitch": 60,
          "start": 1.1041666666666667,
          "end": 1.9583333333333333,
          "velocity": 0.7165354330708661
        },
        ...
      ]
    },
    ...
  ]
}
返回字段说明:
  • state: 状态,running 表示处理中,complete 表示完成
  • instruments: 乐器数组
    • name: 乐器名称
    • notes: 音符数组
      • pitch: 音高(MIDI 音符编号,60 = 中央C)
      • start: 开始时间(秒)
      • end: 结束时间(秒)
      • velocity: 力度(0-1之间)

20.拓展 Style Tags

tags 就是 style
不知道如何写 style 可以使用这个接口
接口: POST https://api.deerapi.com/suno/act/tags

基本请求格式

curl --request POST \
  --url https://api.deerapi.com/suno/act/tags \
  --header 'Authorization: Bearer your-key' \
  --header 'Connection: keep-alive' \
  --header 'Content-Type: application/json' \
  --header 'myuid: 123' \
  --data '{"original_tags":"student"}'

参数说明

  • original_tags: 传入相关提示词

返回体示例

{
  "upsampled_tags": "Laid-back indie pop driven by a clean guitar riff, tight bass, and crisp drums. Verses feature subtle synth textures and gentle background vocals. A catchy chorus lifts with layered harmonies and handclaps. Bridge introduces a bright Rhodes piano before a dynamic final chorus.",
  "request_id": "507acd16-8b84-4e55-be2b-4329d82efb26"
}

21. Remaster

用于对现有音频进行重制(Remaster)。
注意:不可跨账号操作(Clip ID 必须属于当前 Token 对应的账号)。
接口: POST https://api.deerapi.com/suno/submit/music

基本请求格式

curl --location --request POST 'https://api.deerapi.com/suno/submit/music' \
--header 'Authorization: Bearer sk-' \
--header 'Content-Type: application/json' \
--header 'Accept: */*' \
--header 'Host: api.deerapi.com' \
--header 'Connection: keep-alive' \
--data-raw '{
  "clip_id": "e8bd1ba8-63cd-45f9-b340-7d00f5cfd25b",
  "model_name": "chirp-carp",
  "variation_category": "high"
}'

参数说明

  • clip_id: 需要重制生成的原始音频 ID。
  • model_name: 模型版本选择。
    • chirp-carp: 对应 v5 版本
    • chirp-bass: 对应 v4.5+ 版本
  • variation_category: 变奏程度(仅当 model_name 为 v5 / chirp-carp 时支持)。
    • 可选值: high, normal, subtle

返回体示例

{
  "code": 200,
  "message": "success",
  "data": "12345678-1234-1234-1234-1234567890ab"
}

22. Persona-v2-vox (歌手风格)

通过提取现有歌曲的人声风格(Persona),来生成具有相同歌手风格的新歌。整个流程分为四个步骤:生成基础音乐 -> 提取 Vox -> 创建 Persona -> 使用 Persona 创作。

A. 生成音乐

首先通过常规生成接口(场景 1/2/3)生成音乐,并获取其中一首歌的 clip_id 作为基础素材(例如:7b5a87af-d567-4444-97c2-387ba5c816d5)。

B. 获取 Vox

从目标歌曲中提取人声片段。 接口: POST https://api.deerapi.com/suno/act/vox/\{clip_id\} 注意:
  • 不可跨账号操作(账号必须在线)。
  • 截取时长 (vocal_end_s - vocal_start_s) 必须小于 30 秒。

基本请求格式

curl --request POST \
  --url https://api.deerapi.com/suno/act/vox/7b5a87af-d567-4444-97c2-387ba5c816d5 \
  --header 'Authorization: Bearer your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "vocal_start_s": 45,
  "vocal_end_s": 74
}'

返回体示例

返回的 id 即为后续需要的 vox_audio_id
{
  "id": "e044ac0d-7eb1-4014-b134-3ff7656886be",
  "source_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
  "status": "complete",
  "vocal_audio_url": "https://cdn1.suno.ai/processed_e044ac0d-7eb1-4014-b134-3ff7656886be_vocals.m4a",
  "vocal_end_s": 74,
  "vocal_start_s": 45
}

C. 新建 Persona

基于提取的 Vox 创建歌手风格模型。 接口: POST https://api.deerapi.com/suno/persona/create 注意:
  • root_clip_id 必须是系统内存在的(不能是上传音频生成的 ID)。
  • 不可跨账号操作。
  • persona_type 必须为 vox

基本请求格式

curl --request POST \
  --url https://api.deerapi.com/suno/persona/create \
  --header 'Authorization: Bearer your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "root_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
  "name": "food",
  "description": "123",
  "is_public": true,
  "persona_type": "vox",
  "vox_audio_id": "e044ac0d-7eb1-4014-b134-3ff7656886be",
  "vocal_start_s": 66.3,
  "vocal_end_s": 95.3,
  "user_input_styles": "Style: Verse—Chinese Folk narrative + Chorus—explosive rock + Hook—catchy, repetitive loop. A breezy guitar riff kicks in with building drum intensity, blended with \"keyboard typing sounds + faint vocal samples,\" followed by electronic effects layering after 15 seconds. The intro cuts abruptly into the verse with a sharp, punchy \"Lao Xu!\" to instantly grab attention."
}'

参数说明

  • root_clip_id: 原始歌曲 ID(步骤 A 获得)。
  • vox_audio_id: 人声片段 ID(步骤 B 获得)。
  • persona_type: 固定为 vox
  • user_input_styles: 风格描述。

返回体示例

返回的 id 即为后续需要的 persona_id
{
  "id": "fd213afd-ac1c-4822-9802-c1c0ea45e77b",
  "name": "food",
  "description": "123",
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "clip": {
    "id": "54834687-5e79-4f08-8e14-cf188f15b598"
  }
}

D. 使用 Persona 创作

使用生成的 Persona ID 进行音乐创作。支持跨账号使用。 接口: POST https://api.deerapi.com/suno/submit/music

基本请求格式

curl --request POST \
  --url https://api.deerapi.com/suno/submit/music \
  --header 'Authorization: Bearer your-key' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "[Verse]\n喧嚣终于肯退场,\n月光悄悄爬满窗。\n疲惫的灵魂请卸下伪装,\n躲进柔软的梦乡。\n[Chorus] (建议使用温柔气声,极致轻柔)\n晚安,枕边的星光,\n带你去银河流浪。\n忘掉白昼的慌张,\n睡吧,夜还很长",
  "generation_type": "TEXT",
  "tags": "Ethereal Lullaby, Acoustic Piano, Ambient, Healing, Slow Tempo",
  "negative_tags": "",
  "mv": "chirp-crow",
  "title": "老公",
  "task": "vox",
  "task_id": "f8fa553b-62a5-4091-9b5f-06e6f8817976",
  "persona_id": "88cca736-7263-4794-8480-360c0123b6fc",
  "artist_clip_id": "6c983654-7ee9-4e1f-b195-47259a5bed48"
}'

参数说明

  • persona_id: 步骤 C 得到的 Persona ID。
  • artist_clip_id: 步骤 A 得到的原始歌曲 ID(即task_id)。
  • task_id: 步骤 A 得到的任务 ID。
  • mv: 模型版本。注意 v5 以上版本 (chirp-crow) 才支持完整的 vox 任务。
  • task:
    • 如果 mvchirp-crow (v5+),设为 vox
    • 如果 mvchirp-v4-tau / chirp-auk / chirp-bluejay,则必须设为 artist_consistency