Skip to main content

Documentation Index

Fetch the complete documentation index at: https://apidoc.deerapi.com/llms.txt

Use this file to discover all available pages before exploring further.

概述

  • API版本: 2026.03.27 suno 支持版本 v5.5的 mv 为 chirp-fenix 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 $DEERAPI_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 $DEERAPI_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
接口: POST https://api.deerapi.com/suno/submit/music/concat
curl --request POST \
  --url https://api.deerapi.com/suno/submit/music/concat \
  --header 'Authorization: Bearer $DEERAPI_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 或者 chirp-fenix
  • 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 或者 chirp-fenix
  • 替换的歌词要跟原来的歌词有重复的地方,最好相应的时间能对应上
  • 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
接口: POST https://api.deerapi.com/suno/submit/music/concat
curl --request POST \
  --url https://api.deerapi.com/suno/submit/music/concat \
  --header 'Authorization: Bearer $DEERAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
    "clip_id": "xxxxx",
    "is_infill": true
  }'

9. Persona:歌手风格

A. 生成音乐

  1. 通过生成音乐场景 1、2、3 任意一种生成音乐,且必须为 v4.5 版本(chirp-auk),取到 task_id
  2. 拿到 task_id 后,根据需要获取歌曲的对应 clip_id 值。

B. 新建 Persona

将对应的 clip_id 入参填入该接口,得到返回的 idpersona_id 供下一步使用。
注意:
  • clip_id 需要系统内存在的,非 uploader 上传的。
  • 不可跨账号,账号下线后不可使用。
接口: 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 创作

注意:
  • mvchirp-v4chirp-bluejaychirp-aukchirp-fenix
  • taskartist_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 或者 chirp-fenix
  • task 为 gen_stem
  • stem_tasktwelve
  • stem_type_group_nameTwelve
  • 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": "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 或者 chirp-fenix
  • 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: Bearer $DEERAPI_KEY' \
--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 或者 chirp-fenix
  • task 参数为 gen_stem
  • continue_clip_id 填入 A 步骤中上传音乐文件后返回的 clip_id
  • stem_taskstem_type_group_name 决定分离类型。示例为全轨分离。
  • 可跨账号使用。
{
  "task": "gen_stem",
  "generation_type": "TEXT",
  "title": "上传音频声曲分离",
  "mv": "chirp-auk",
  "prompt": "",
  "make_instrumental": true,
  "continue_clip_id": "eeb77e7a-e2a5-4fb0-96b5-d6a27d5ab09c"
 "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,多获取几次
  • 不可跨账号,账号下线后不可调用
接口: 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 才能访问
  • 不可跨账号,账号下线后不可调用
接口: 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 $DEERAPI_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 $DEERAPI_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 功能
  • 不可跨账号,账号下线后不可调用
示例 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 $DEERAPI_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 $DEERAPI_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 $DEERAPI_KEY' \
--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 $DEERAPI_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 $DEERAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "root_clip_id": "7b5a87af-d567-4444-97c2-387ba5c816d5",
  "name": "food",
  "description": "123",
  "clips": [],
  "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 获得)。
  • clips: 必须传入,可为空数组 []
  • 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 $DEERAPI_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 / chirp-fenix) 才支持完整的 vox 任务。
  • task:
    • 如果 mvchirp-crowchirp-fenix (v5+),设为 vox
    • 如果 mvchirp-v4-tau / chirp-auk / chirp-bluejay,则必须设为 artist_consistency

23. Mashup:混曲

将两首歌曲混合生成一首新歌曲。

A. 生成音乐

可以通过场景 1、2、3 生成音乐,并获取其中两首歌的 clip_id
  • clip_id_1: 第一首歌的 ID
  • clip_id_2: 第二首歌的 ID

B. 生成 Mashup

注意:
  • taskmashup_condition
  • mashup_clip_ids 为 A 步骤得到的 ['clip_id_1', 'clip_id_2']
  • prompt:放入歌词。如果您想要两首歌的歌词混曲,可参考 24. Lyrics Mashup
接口: POST https://api.deerapi.com/suno/submit/music
{
  "task": "mashup_condition",
  "generation_type": "TEXT",
  "title": "Banban83 vs bluespawn x 广州的孤儿 (Mashup)",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "你在站里频频回头\n我在站外舍不得走\n有一种不祥的感受\n今天的离别像分手",
  "mashup_clip_ids": [
    "9f102969-0024-479e-b38f-c0c5db21383d",
    "6aebb715-701c-433f-b976-a7ff5cf16255"
  ]
}

24. Lyrics Mashup:歌词混曲

将两首歌的歌词进行智能混合,生成一份混合歌词供 Mashup 使用。
注意:
  • lyrics_a 为第一首歌词,lyrics_b 为第二首歌词。
接口: POST https://api.deerapi.com/suno/act/lyrics-mashup
curl --request POST \
  --url https://api.deerapi.com/suno/act/lyrics-mashup \
  --header 'Authorization: Bearer $DEERAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "lyrics_a": "Sambuy come back bluespawn greenspawn are making you a spawn",
  "lyrics_b": "你在站里频频回头\n我在站外舍不得走\n有一种不祥的感受\n今天的离别像分手"
}'

返回体示例

{
  "lyrics_request_id": "04edfa84-290e-4a08-bd35-73906079b26e",
  "mashup_id": "1c250665-a7c9-4852-97d1-3d291ebb9565",
  "response": {
    "error_message": "",
    "status": "complete",
    "tags": [],
    "text": "你在站里频频回头\n我在站外舍不得走\n...",
    "title": "Lyrics Mashup"
  }
}

25. Samples:取样生成歌曲

从现有歌曲中截取一段样本,以此为基础生成全新歌曲。

A. 生成或上传音乐

获取一首歌的 clip_id,可以通过接口生成或直接上传。

B. 生成 Samples

注意:
  • taskchop_sample_condition
  • chop_sample_clip_id 为 A 步骤得到的 clip_id
  • chop_sample_start_s:取样开始时间(秒)。
  • chop_sample_end_s:取样结束时间(秒)。
  • 允许跨账号
接口: POST https://api.deerapi.com/suno/submit/music
{
  "task": "chop_sample_condition",
  "generation_type": "TEXT",
  "title": "Breaking My Own News",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "[Verse 1]\nPhone lit up\nHeadline in my hand\nBreaking news that I don't understand\n[Chorus]\nSample the beat and let it play\nFeel it carry us away",
  "chop_sample_clip_id": "0fa07665-6b8e-4a8b-8bd3-7e0cfcdada88",
  "chop_sample_start_s": 59.88,
  "chop_sample_end_s": 102.16
}

26. Sound:声音任务

生成循环音效、音色片段(loop / one-shot / SFX)而非完整歌曲。
注意:
  • task 类型为 sound
  • mv 目前仅支持 chirp-crow
  • 相关参数放在 tags 中,例如:循环设为 loop,BPM 为 60 设为 tempo: 60,G# 调设为 key: G#
接口: POST https://api.deerapi.com/suno/submit/music
{
  "task": "sound",
  "generation_type": "TEXT",
  "title": "Ready To Drop Into Anything.",
  "tags": "loop, key: G#, tempo: 60, effects, loops, and one-shots. Ready to drop into anything.",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "",
  "make_instrumental": true,
  "metadata": {
    "create_mode": "custom"
  }
}

27. Inspo:灵感创作

以已有歌曲为灵感参考,生成风格相似的新歌曲。
注意:
  • task 类型为 playlist_condition
  • playlist_id 固定为 inspiration
  • playlist_clip_ids 为参考歌曲的 clip_id,最多可以选择 4 首歌。
  • 不可跨账号:参考的 clip_id 必须来自同一个账号。
接口: POST https://api.deerapi.com/suno/submit/music
{
  "task": "playlist_condition",
  "generation_type": "TEXT",
  "title": "Dad, Are You Listening?",
  "tags": "deepstep, harmonizing vocals, improvisation",
  "negative_tags": "",
  "mv": "chirp-crow",
  "prompt": "[Verse 1]\nYou missed my birthday\nSaid you got the days all wrong\nYour voice cracked on the phone\nAnd I pretended to be strong\n[Chorus]\nDad are you listening\nCan you hear me through the wall\nI've been whispering your name\nHoping you'd answer the call",
  "make_instrumental": false,
  "metadata": {
    "create_mode": "custom"
  },
  "playlist_id": "inspiration",
  "playlist_clip_ids": [
    "150ff04a-496e-4425-9ad7-d878354129de",
    "b09ed072-04c2-485f-a925-9f0cc9db4e26"
  ]
}

28. Voice:声音克隆

声音克隆本质是建立个人的声音库(Persona),克隆后的声音可用于生成歌曲。要求读一段文字将声音录入系统,且 Persona 内必须至少有一首歌曲。

A. 上传歌曲 / 声音

接口: POST https://api.deerapi.com/suno/persona/voice/vox
curl --request POST \
  --url https://api.deerapi.com/suno/persona/voice/vox \
  --header 'Authorization: Bearer $DEERAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "http://cos.aitutu.cc/mp4/c4818ce3-37d6-4b45-8e01-58b750e5fe57.mp3",
  "vocal_end_s": 23.24,
  "vocal_start_s": 0
}'

返回体示例

返回 idvox_audio_id,供下一步使用。
{
  "id": "9e196fa1-20f3-43c1-8066-06a2a6b6bea9",
  "status": "submitted",
  "voice_recording_id": "575023b1-b071-4dbd-9f0d-176665c60768"
}

B. 获取样本句子

接口: POST https://api.deerapi.com/suno/act/phrase
注意:
  • language 支持:zh, en, es, fr, pt, de, ja, ko, hi, ru
  • 不允许跨账号
curl --request POST \
  --url https://api.deerapi.com/suno/act/phrase \
  --header 'Authorization: Bearer $DEERAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "language": "zh",
  "voice_recording_id": "575023b1-b071-4dbd-9f0d-176665c60768"
}'

返回体示例

返回 phrase_id 和文本(该接口获取的句子只可验证一次)。
{
  "phrase_id": "45d639aa-ad8a-41cd-a356-f81207491d3a",
  "phrase_text": "轻快的歌声在空气中自由飘扬"
}

C. 声音验证

接口: POST https://api.deerapi.com/suno/persona/voice/verify
注意:
  • url:按 phrase_text 录制的验证音频,支持 .mp3.wav
  • 该请求只能验证一次,不通过需重新获取 phrase。
  • 不允许跨账号
curl --request POST \
  --url https://api.deerapi.com/suno/persona/voice/verify \
  --header 'Authorization: Bearer $DEERAPI_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "url": "https://cdn1.suno.ai/28fc2b84-07d3-45d7-85f3-3db6684801aa.mp3",
  "phrase_id": "45d639aa-ad8a-41cd-a356-f81207491d3a",
  "voice_recording_id": "575023b1-b071-4dbd-9f0d-176665c60768"
}'

返回体示例

{
  "id": "979282b1-8968-46bc-b599-ea14946be48e",
  "status": "approved"
}

D. 创建 Persona

接口: POST https://api.deerapi.com/suno/persona/voice/create
注意:
  • singer_skill_level:可选 Advanced, Intermediate, Beginner, Professional
  • image_s3_id:需为图片的 Base64 格式。
  • is_public 无论传什么都会被重置为 false,导致创建的 persona_id 不允许跨账号 使用。
{
  "name": "mytitle",
  "description": "god",
  "image_s3_id": "data:image/jpeg;base64,/9j/4AAQSkZJRgABAQ...",
  "is_public": true,
  "persona_type": "vox",
  "vocal_start_s": 0,
  "vocal_end_s": 23.24,
  "user_input_styles": "pop",
  "source": "random_song",
  "singer_skill_level": "Intermediate",
  "is_voice_recording": true,
  "vox_audio_id": "9e196fa1-20f3-43c1-8066-06a2a6b6bea9",
  "voice_recording_id": "575023b1-b071-4dbd-9f0d-176665c60768",
  "verification_id": "979282b1-8968-46bc-b599-ea14946be48e"
}

返回体示例

返回 id 即为创建成功的 persona_id

E. 使用 Persona 生成音乐

接口: POST https://api.deerapi.com/suno/submit/music
注意: 不允许跨账号
{
  "task": "vox",
  "generation_type": "TEXT",
  "title": "过年",
  "prompt": "[Verse 1]\n红纸贴上老门楣\n灯笼摇曳映雪堆\n饺子锅里翻白雾\n年味随风到心扉",
  "persona_id": "dde0be60-5280-4bd2-89a0-4020ddd3db52",
  "mv": "chirp-fenix",
  "make_instrumental": false
}

29. Custom-model:自建模型

上传至少 6 首歌曲用于训练自己的模型。
限制: 每个账号最多只能自建 3 个模型。

A. 上传音乐

接口: POST https://api.deerapi.com/suno/uploads/audio-url 上传第一首歌:
{
  "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}
返回得到 clip_id(如:7173c086-844d-4b9e-9cee-e771f7ded3eb)。
注意: 从第二首起,必须带上第一首生成的 clip_id,以绑定在同一个账号下:
{
  "url": "http://cdnimg.exbapp.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3",
  "clip_id": "7173c086-844d-4b9e-9cee-e771f7ded3eb"
}

B. 创建 Custom-model

接口: POST https://api.deerapi.com/suno/custom-model
注意:
  • clip_ids 必须都在同一个账号下。至少 6 首,推荐 24 首。
{
  "clip_ids": [
    "7173c086-844d-4b9e-9cee-e771f7ded3eb",
    "c87451ec-8e09-4358-b93b-99a0f59374b3",
    "9c58ae41-4364-4995-827c-8033109abb5d",
    "92022750-af59-44e1-a559-74d6f2503f5e",
    "06215aa7-7725-4741-91d2-cc316e2454fe",
    "f7a1e392-e659-4376-8b24-f267ba4f6e30"
  ],
  "name": "你模型名称"
}

返回体示例

{
  "id": "3f788ae1-4646-4d20-aa76-c33035bf12e6",
  "status": "pending"
}

C. 查询 Custom-model 任务

接口: GET https://api.deerapi.com/suno/fetch/\{model_id\} 与其他 Suno 任务查询一样,使用通用的 /suno/fetch/ 接口。当返回状态为 complete 时即可使用:
{
  "id": "3f788ae1-4646-4d20-aa76-c33035bf12e6",
  "status": "complete"
}

D. 使用 Custom-model

接口: POST https://api.deerapi.com/suno/submit/music
注意:
  • mv 的值为 chirp-custom:\{model_id\}
  • 不支持跨账号(会根据模型直接查询对应绑定的账号)。
{
  "generation_type": "TEXT",
  "title": "Dook",
  "tags": "dungeon neo soul, bass music",
  "negative_tags": "",
  "mv": "chirp-custom:3f788ae1-4646-4d20-aa76-c33035bf12e6",
  "prompt": "[Verse]\nSunrise creepin' up again\nShadows crawl beneath the den\nBeat drops low no need to rush\nFeel the groove inside the hush\n[Chorus]\nCustom sound custom soul\nEvery note under control",
  "metadata": {
    "create_mode": "custom"
  }
}