跳转到主要内容

版本及特性

版本mv上线时间title 限制tag 限制歌曲最长时长
v5chirp-crow2025.09.23500010008 分钟
v4.5+chirp-bluejay2025.07.17500010008 分钟
v4.5chirp-auk2025.05.03500010004 分钟
v4chirp-v42024.12.173000200150 秒
v3.5chirp-v3-5---3000200120 秒

Suno 场景应用

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-v3-5",
  "title": "工作",
  "tags": " edm"
}

3.纯音乐.自定义

{
  "prompt": "",
  "tags": "heavy metal",
  "mv": "chirp-v3-5",
  "title": "北京",
  "continue_clip_id": null,
  "continue_at": null,
  "infill_start_s": null,
  "infill_end_s": null
}

4.纯音乐.灵感模式

{
  "gpt_description_prompt": "一首关于彻夜跳舞的国歌舞蹈流行歌曲",
  "mv": "chirp-v3-5",
  "prompt": "",
  "make_instrumental": true
}

5.续写自定义音频

A.上传音乐

首先通过上传接口得到 clip_id 值为 abcd-1234-1234-1234-abd

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

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

C.拼接完整音乐

  • 注意 :is_infillfalse
  • 得到一首替换完的歌曲 id,通过查询接口获取状态
  • 扣费:一首歌的费用
curl --request POST \
  --url https://BASE_URL/suno/submit/concat \
  --header 'Authorization: Bearer API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "xxxxx",
  "is_infill": false
}'

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

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

A.生成音乐

可以通过场景 1 2 3 生成音乐 获取其中的一首歌的 clip_id 值为 abcd-1234-1234-1234-abd

B.扩展音乐

会得到 2 个新的 clip_id 其中一个 newid-1234-1234-1234-one
{
  "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-v3-5",
  "title": "工作",
  "continue_clip_id": "abcd-1234-1234-1234-abd",
  "continue_at": 30,
  "task": "extend",
  "task_id": "xxxxxx"
}

C.拼接完整音乐

注意 :is_infilltrue 得到一首替换完的歌曲 id,通过查询接口获取状态
curl --request POST \
  --url https://BASE_URL/suno/submit/concat \
  --header 'Authorization: Bearer API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}'

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

A.生成音乐

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

B.Cover 音乐

  • 注意 mvchirp-v4 chirp-aukchirp-bluejay
  • taskcover
  • 可跨账号使用 不用担心账号下线
  • 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梦想梦想何时能实现",
  "tags": "rock, punk",
  "mv": "chirp-v4-tau",
  "title": "工作 (Cover)",
  "cover_clip_id": "abcd-1234-1234-1234-abd",
  "task_id": "xxxxxx",
  "task": "cover"
}

8.Replace Section:替换片段

A.生成音乐

可以通过场景 1 2 3 生成音乐 获取其中的一首歌的 clip_id 值为 abcd-1234-1234-1234-abd

B.Replace Section

  • taskinfill
  • 注意 mvchirp-v4 chirp-aukchirp-bluejay
  • 提醒:替换的歌词 要跟原来的歌词有重复的地方,最好相应的时间能对应上
  • infill_start_s 开始时间 ,infill_end_s 结束时间,infill_dur_sinfill_end_s-infill_start_s
  • 可跨账号使用 不用担心账号下线
  • 会得到 2 个新的 clip_id 选择其中一个 newid-1234-1234-1234-one 给下一步使用
  • mv 不再使用 chirp-v3-5-tau chirp-v4-tau
{
  "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",
  "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
  • 得到后一首替换完的歌曲 id,通过查询接口获取状态
curl --request POST \
  --url https://BASE_URL/suno/submit/concat \
  --header 'Authorization: Bearer API_KEY' \
  --header 'Content-Type: application/json' \
  --data '{
  "clip_id": "newid-1234-1234-1234-one",
  "is_infill": true
}'

9.Persona:歌手风格

A.生成音乐

通过 生成音乐 获取其中的一首歌的 clip_id 值为 abcd-1234-1234-1234-abd

B.新建 Persona

调用 新建 Persona 接口
  • clip_id 需要系统内存在的,非 uploader
  • 不能跨账号 所以可能账号下线用不了
{
  "root_clip_id": "54834687-5e79-4f08-8e14-cf188f15b598",
  "name": "Persona 标题",
  "description": "Persona 描述",
  "clips": ["54834687-5e79-4f08-8e14-cf188f15b598"],
  "is_public": true
}
响应体内容 id 供下一步使用

C.使用 persona_id 创作

调用 生成音乐 接口
  • 注意 mvchirp-v4 chirp-aukchirp-bluejay
  • taskartist_consistency
  • persona_id 为 B 步骤得到的 id
  • artist_clip_id 就是 A 步骤中的 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[Chorus]\n老公老公我爱你\n你是世界的唯一\n无论在天涯海角\n心如影随形不离\n\n[Bridge]\n生命中的每一刻\n有你陪伴去体会\n所有明天都更好\n因为有你我无敌",
  "tags": "electronic, pop",
  "mv": "chirp-v4-tau",
  "title": "老公",
  "persona_id": "0f6e8077-a7ba-4fc8-8f60-de02c66e56ce",
  "artist_clip_id": "a5fa604c-18b8-4e7f-8d25-9412d4ba8163",
  "task_id": "xxxxxx",
  "task": "artist_consistency"
}

10.stems:声曲分离 Vocals Instrumental

  • 分离后 Vocals 人声
  • 分离后 Instrumental 纯音乐 伴奏

A.生成音乐

通过 生成音乐 获取其中的一首歌的 clip_id 值为 54834687-5e79-4f08-8e14-cf188f15b598

B.声曲分离

  • 使用 生成音乐 接口
  • 注意 mvchirp-auk
  • taskgen_stem
  • stem_tasktwo
  • stem_type_group_nameTwo
  • continue_clip_id 就是 A 步骤中的 clip_id
  • 可跨账号
  • 费用和生成一次歌曲的费用相同
{
  "task": "gen_stem",
  "task_id": "e3f492cb-27d9-41b6-aa1d-bdf7f3781a61",
  "title": "安全之弦",
  "mv": "chirp-auk",
  "make_instrumental": true,
  "continue_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
  "continued_aligned_prompt": null,
  "continue_at": null,
  "stem_type_id": 91,
  "stem_type_group_name": "Two",
  "stem_task": "two"
}
  • 返回体 获取 clip_id 供下一步使用

C.获取结果

通过 查询接口 获取状态
curl --request GET \
  --url https://BASE_URL/suno/feed/{clip_id} \
  --header 'Authorization: Bearer API_KEY' \

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

A.生成音乐

通过 生成音乐 获取其中的一首歌的 clip_id 值为 54834687-5e79-4f08-8e14-cf188f15b598

B.获取歌词

调用 Timing 接口 响应:
{
  "aligned_words": [
    {
      "word": "[Verse]\nWinter ",
      "success": true,
      "start_s": 8.38,
      "end_s": 8.78,
      "p_align": 0.982
    },
    {
      "word": "winds ",
      "success": true,
      "start_s": 8.78,
      "end_s": 9.54,
      "p_align": 0.961
    },
    {
      "word": "they ",
      "success": true,
      "start_s": 9.54,
      "end_s": 9.93,
      "p_align": 0.99
    },
    {
      "word": "cut ",
      "success": true,
      "start_s": 9.93,
      "end_s": 10.41,
      "p_align": 0.998
    },
    {
      "word": "so ",
      "success": true,
      "start_s": 10.41,
      "end_s": 10.93,
      "p_align": 0.996
    },
    {
      "word": "deep\n",
      "success": true,
      "start_s": 10.93,
      "end_s": 11.93,
      "p_align": 0.997
    },
    ....
  ],
  "waveform_data": [
    0.001, 0.00109, 0.04219, 0.03597, ....
  ],
  "hoot_cer": 0.03556771545827633,
  "is_streamed": false
}

12.wav:获取 wav 格式文件

A.生成音乐

通过 生成音乐 获取其中的一首歌的 clip_id 值为 54834687-5e79-4f08-8e14-cf188f15b598

B.获取 wav 文件

  • 如果返回体 wav_file_url 为 null 多获取几次 响应:
{
  "wav_file_url": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.wav"
}

13.mp4:生成 mp4 mv 视频

A.生成音乐

通过 生成音乐 获取其中的一首歌的 clip_id 值为 54834687-5e79-4f08-8e14-cf188f15b598

B.生成 mp4 mv 视频

  • 执行完需要,等等 30 秒后 url 才能访问 响应:
{
  "mp4": "https://cdn1.suno.ai/a624123d-22cc-4d4d-bf28-78d312f61597.mp4"
}

14.all-stems:全轨声曲分离

A.生成音乐

通过 生成音乐 获取其中的一首歌的 clip_id 值为 54834687-5e79-4f08-8e14-cf188f15b598

B.全轨声曲分离

  • 使用 生成音乐 接口
  • 注意 mvchirp-auk
  • taskgen_stem
  • stem_tasktwelve
  • stem_type_group_nameTwelve
  • continue_clip_id 就是 A 步骤中的 clip_id
  • 可跨账号
  • 计费 5 倍基础价格
{
  "task": "gen_stem",
  "task_id": "e3f492cb-27d9-41b6-aa1d-bdf7f3781a61",
  "generation_type": "TEXT",
  "title": "安全之弦",
  "mv": "chirp-auk",
  "make_instrumental": true,
  "continue_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
  "continued_aligned_prompt": null,
  "continue_at": null,
  "stem_type_id": 91,
  "stem_type_group_name": "Twelve",
  "stem_task": "twelve"
}
  • 返回 24 个 clip_id
  • 使用 24 个 clip_id 一口气查询
  • 返回体 实例
  "id": "b19ee87f-574d-42c7-9761-df6aafc0fd9c",
  "clips": [
    {
      "id": "0e5be1db-4834-4890-acfb-2fea7fd24eb9",
      "entity_type": "song_schema",
      "video_url": "",
      "audio_url": "",
      "major_model_version": "",
      "model_name": "chirp-stem",
      "metadata": {
        "prompt": "",
        "history": [
          {
            "id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
            "type": "gen",
            "source": "web",
            "infill": false,
            "stem_type_id": 91,
            "stem_type_group_name": "Twelve",
            "stem_task": "twelve",
            "stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc"
          }
        ],
        "stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
        "stem_task": "twelve",
        "stem_type_id": 91,
        "stem_type_group_name": "Vocals",
        "edited_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
        "type": "gen",
        "stream": true,
        "infill": false,
        "task": "gen_stem",
        "can_remix": true,
        "is_remix": false,
        "priority": 10
      },
      "is_liked": false,
      "user_id": "a8a4d117-d5aa-4a9f-ab5b-88cc2c2eb79d",
      "display_name": "ugknurymt91r",
      "handle": "ugknurymt91r",
      "is_handle_updated": false,
      "avatar_image_url": "https://cdn1.suno.ai/sAura20.jpg",
      "is_trashed": false,
      "flag_count": 0,
      "created_at": "2025-06-06T11:22:30.753Z",
      "status": "submitted",
      "title": "安全之弦 (Vocals)",
      "play_count": 0,
      "upvote_count": 0,
      "is_public": false,
      "allow_comments": true
    },
    {
      "more": "有24个类似这样的东西"
    }
  ],
  "metadata": {
    "prompt": "",
    "history": [
      {
        "id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
        "type": "gen",
        "source": "web",
        "infill": false,
        "stem_type_id": 91,
        "stem_type_group_name": "Twelve",
        "stem_task": "twelve",
        "stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc"
      }
    ],
    "stem_from_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
    "stem_task": "twelve",
    "stem_type_id": 91,
    "stem_type_group_name": "Twelve",
    "edited_clip_id": "4720ad51-6d31-417c-a3a7-346b0b99abbc",
    "type": "gen",
    "stream": true,
    "infill": false,
    "task": "gen_stem",
    "can_remix": true,
    "is_remix": false,
    "priority": 10
  },
  "major_model_version": "",
  "status": "complete",
  "created_at": "2025-06-06T11:22:30.737Z",
  "batch_size": 1
}

C.获取结果

  • 通过 查询接口 获取状态
  • 拼凑 24 个 clip_id 一次获取
curl --request GET \
  --url https://BASE_URL/suno/feed/{clip_id} \
  --header 'Authorization: Bearer API_KEY' \

15.高阶参数

  • 2025 年 6 月份 suno 新增了 3 个高阶参数
  • 参数为 weirdness_constraint style_weight audio_weight
  • 其中 audio_weight 仅在 cover 的时候出现
  • 取值都是 0-1 之间
  • 2025 年 9 月份 新增 vocal_gender 女声 f、男声 m

A.普通生成

使用 生成音乐 接口
{
  "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"],
    "vocal_gender": "f"
  }
}

B.cover 生成

  • cover 的时候会有一个 audio_weight 参数
  • 使用 生成音乐 接口
{
  "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
  }
}

16. Add Insterumental

  • 版本必须高于 v4.5+
  • 2025 年 8 月份 suno 新出 Add Insterumental
  • 上传一首清唱无配音的歌曲, 让 suno 帮你配乐
  • taskunderpainting
  • underpainting_clip_idupload_clip_id
  • underpainting_end_s 必须小于等于 uploadduration
  • 计费 一次歌曲费用

A.上传清唱歌曲

  • 使用 上传音乐 接口
  • 得到 clip_idupload_clip_id

B.获取歌曲时长等参数

  • 使用 批量查询歌曲 接口
  • 通过获取接口得到 metadata.duration 时长

C.执行 Add Insterumental

使用 生成音乐 接口
  • taskunderpainting
  • underpainting_clip_idupload_clip_id
  • underpainting_end_s 必须小于等于 uploadduration
  • 最好是不用歌词 毕竟是配音
{
  "mv": "chirp-bluejay",
  "tags": "Pop rap, uplifting, magnetic male vocals, piano, synth, electric guitar, driving bass, clear structure",
  "title": "Hi Insterumental",
  "underpainting_clip_id": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "underpainting_start_s": 0,
  "underpainting_end_s": 57.9,
  "task": "underpainting",
  "prompt": "",
  "override_fields": ["prompt", "tags"]
}

17. Add Vocals

  • 版本必须高于 v4.5+
  • 2025 年 8 月份 suno 新出 Add Vocals
  • 上传一首纯音乐,让 suno 填词、出人声歌唱
  • taskoverpainting
  • overpainting_clip_idupload_clip_id
  • overpainting_end_s 必须小于等于 uploadduration
  • 计费 一次歌曲费用

A.上传纯音乐

  • 使用 上传音乐 接口 得到 clip_idupload_clip_id

B.获取歌曲时长等参数

  • 使用 批量查询歌曲 接口
  • 通过获取接口得到 metadata.duration 时长
  • 同时获取 metadata.tags Tags

C.执行 Add Vocals

使用 生成音乐 接口
  • taskoverpainting
  • overpainting_clip_idupload_clip_id
  • overpainting_end_s 必须小于等于 uploadduration
  • tags 为 upload 的 metadata.tags
{
  "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": "9b1d2e8d-a365-4bfd-8a18-8989e159b29f",
  "overpainting_start_s": 0,
  "overpainting_end_s": 57.9,
  "task": "overpainting",
  "prompt": "填词,你得自己来",
  "override_fields": ["prompt", "tags"]
}

18. 获取 midi

A.全轨分离的 clip_id

  • 场景14.all-stems:全轨声曲分离 获取其中的一首歌的 clip_id 值为 a624123d-22cc-4d4d-bf28-78d312f61597
  • 注意 普通音乐的 clip_id 也能执行,但是官网只有 全轨分离的 clip_id 才有
  • 不可跨账号,账号下线后不可调用

B.获取 midi

  • 使用 获取 midi 接口
curl --request GET \
  --url https://BASE_URL/suno/act/midi/{clip_id} \
  --header 'Authorization: Bearer API_KEY'
没成功的都是 { "state": "running" } 成功后是
{
    "state": "complete",
    "instruments": [
        {
            "name": "String Ensembles 1",
            "notes": [
             {
                    "pitch": 60,
                    "start": 1.1041666666666667,
                    "end": 1.9583333333333333,
                    "velocity": 0.7165354330708661
                },
               ......
            ]

        },
        ......
    ]
}

19.拓展 style tags

  • tags 就是 style
  • 不知道如何写 style 可以使用这个接口
curl --request POST \
  --url https://BASE_URL/suno/act/tags \
  --header 'Authorization: Bearer API_KEY' \
  --header 'Content-Type: application/json' \
  --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"
}