Skip to content

Suno 歌曲生成 API 对接说明

YoYAI 套餐明细(企业商业合作请联系邮箱:support@yoy-ai.com)

套餐等级积分总量优惠价格 (税前)税后价格 (加5.3%)折扣力度
基础版100¥98.0¥1039.8折
白银版540¥520.0¥5489.629折
黄金版1,120¥1050.0¥1,1069.375折
铂金版6,000¥5,450.00¥5,7399.083折
钻石版13,000¥11,400.00¥12,0048.769折
尊享版25,200¥21,550.00¥22,6928.551折
旗舰版68,000¥55,800.00¥58,7578.206折
至尊版143,000¥114,400.00¥120,4638.0折

注:只有在要求开具 6% 增值税专用发票时,才需按照“税后价格”进行结算。

积分消耗说明

功能项目价格
普通池
    4.0以下模型0.38
    chirp-v4-5-lite模型0.38
专业池
    4.0以下模型0.5
    4.0及以上模型0.5
其他功能
拼接功能(concat)0.25
替换片段(replace_section)0.54
双音轨分离(stems)0.5
灵感生成(inspiration)0.5
混曲生成(mashup)0.22
Sounds生成(sounds)0.11
采样生成(sample)0.22
重新生成(remaster)0.5
自定义歌曲添加人声功能(add_vocals)0.5
自定义歌曲添加伴奏功能(add_instrumental)0.5
全音轨分离(all_stems)2.5
自定义MP40.12
歌词生成0.02
Persona0.01
Upload0.01
Timing0.01
MIDI0.01
HTML0.01

基本使用

想些什么歌曲,可以任意输入一段文字,比如我想生成一个关于新年快乐的歌曲,就可以输入 新年快乐,下面使用apifox进行发送请求,具体的参数如图所示:

如果你想体验Suno最新模型v5或者Stems、Wav功能需要使用Pro池来生成,与普通池的区别就是将参数is_pro设置为true,该值默认是false,Pro池要比普通池要贵哦,可以自己通过is_pro控制,具体的参数如图所示:

可以点击发送按钮直接测试 API,稍等 1-2 分钟,结果如下:

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烟花飞 夜空美到心头\n[Verse 2]\n舞龙起 红色翻跃天空\n狮鼓敲 热闹暖暖人心中\n笑开怀 送祝福到意浓\n团圆饭 温热全家梦\n[Chorus]\n新年快乐 心愿齐欢歌\n祝福今天照亮每一刻\n梦想点燃 像烟花的火\n新年到来 快乐你和我\n[Verse 3]\n瑞雪飘 给岁月涂上白\n花儿开 宛如新的期待\n手牵手 不论东西南北\n我们一起 把幸福年代彩排\n[Bridge]\n一年忙碌 此刻都抛开\n让喜悦在心中蔓延发芽开\n拥抱未来 我们种下爱\n新的一年 全世界盛开\n[Chorus]\n新年快乐 心愿齐欢歌\n祝福今天照亮每一刻\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鞭炮响 震散旧年的哀愁\n烟花飞 夜空美到心头\n[Verse 2]\n舞龙起 红色翻跃天空\n狮鼓敲 热闹暖暖人心中\n笑开怀 送祝福到意浓\n团圆饭 温热全家梦\n[Chorus]\n新年快乐 心愿齐欢歌\n祝福今天照亮每一刻\n梦想点燃 像烟花的火\n新年到来 快乐你和我\n[Verse 3]\n瑞雪飘 给岁月涂上白\n花儿开 宛如新的期待\n手牵手 不论东西南北\n我们一起 把幸福年代彩排\n[Bridge]\n一年忙碌 此刻都抛开\n让喜悦在心中蔓延发芽开\n拥抱未来 我们种下爱\n新的一年 全世界盛开\n[Chorus]\n新年快乐 心愿齐欢歌\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
        }
    ]
}

可以看到这时候我们就得到了两首歌的内容,包括标题、预览图、歌词、音频、视频等内容。

字段说明如下:

  • success:生成是否成功,如果成功则为 true,否则为 false
  • data:是一个列表,包含了生成的歌曲的详细信息。
    • state: 歌曲生成状态,主要包含四种,具体的如下:
      • succeeded:生成成功
      • pending:队列中
      • running:执行中
      • error:失败
    • id:歌曲 ID
    • title:歌曲的标题
    • image_url:歌曲的封面图片
    • lyric:歌曲的歌词
    • audio_url:歌曲的音频文件,打开就是一个 mp3 音频。
    • video_url:歌曲的视频文件,打开就是一个 mp4 视频。
    • created_at:创建的时间
    • model:使用的模型,一般是最新的 v3 模型
    • style:风格

自定义生成

如果想自定义生成歌词,可以输入歌词:

这时候 lyric 字段可以传入类似如下内容:

[Verse]\nSnowflakes falling all around\nGlistening white\nCovering the ground\nChildren laughing\nFull of delight\nIn this winter wonderland tonight\nSanta's sleigh\nUp in the sky\nRudolph's nose shining bright\nOh my\nHear the jingle bells\nRinging so clear\nBringing joy and holiday cheer\n[Verse 2]\nRoasting chestnuts by the fire's glow\nChristmas lights\nThey twinkle and show\nFamilies gathering with love and cheer\nSpreading warmth to everyone near

注意,这里的歌词中 \n 是换行符,如果你不知道如何生成歌词,可以使用 YoYAI 提供的歌词生成 API 来通过 prompt 生成歌词。

接下来我们要根据歌词、标题、风格自定义生成歌曲,就可以指定如下内容:

  • lyric:歌词文本
  • custom:填写为 true,代表自定义生成,该参数默认为 false,代表使用 prompt 生成。
  • title:歌曲的标题。
  • style:歌曲的风格,选填。

填写样例如下:

最后发送请求,生成的效果是类似的。

继续生成功能

如果想对已经生成的Suno歌曲进行继续生成的话(支持跨账号操作),可以将参数 action 设置为 extend ,并且输入需要继续生成歌曲的 ID,歌曲 ID 的获取是根据基本使用来获取,如下图所示:

这时候可以看到歌曲的 ID 为:

"id": "7b0df74e-09c6-4a84-845b-9a2cf2cbfbd4"

注意,这里的歌词中 id 可以是官方生成后歌曲的 ID,也可以是自定义上传的歌曲ID,如果你不知道如何生成歌曲,可以参考上文的基本使用来生成歌曲。如果想在续写的基础上使用歌手风格进行续写的话需要加俩个参数,分别是:创建歌手风格的源ID persona_root_id,以及创建好Persona的ID persona_id,注意此时只允许使用自定义生成歌曲。

接下来我们要必须填歌词、风格自定义生成歌曲,就可以指定如下内容:

  • lyric:歌词文本
  • origin_lyric:2027-01-17更新:针对actionextend时,该参数必须传,表示歌曲原来时长在0-continue_at的原歌词信息,如果不传可能结果会对不上lyric。获取原歌曲的原歌词信息可以通过Timing接口进行获取。
  • custom:填写为 true,代表自定义生成,该参数默认为 false,代表使用 prompt 生成。
  • style:歌曲的风格,选填。
  • continue_at:以秒为单位继续现有音频的时间。例如,213.5 表示继续到 3 分 33.5 秒,经内部测试,官方会限制续写时长,续写时长最大值是原歌曲时长的70%,如果超过原歌曲的70%可能会出现歌曲时长很短的情况。

填写样例如下:

json
{
  "action": "extend",
  "instrumental": false,
  "custom": true,
  "prompt": "",
  "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\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
  "origin_lyric": "[Verse]\nThere's a bird on a wire just watching the day\nClouds drift like ships\nThey’re sailing away\nThe grass hums soft under my feet\n\n[Chorus]\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I’m down below\nBeneath the orange sky\nWhere dreams start to glow\n\n[Verse 2]\nA whisper of wind tangles my hair\nThe scent of the earth is thick in the air\nI close my eyes\nBut I’m wide awake\n\n[Prechorus]\nEvery moment\nIt slips\nLike water through fingertips\n\n[Chorus]\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I’m down below\nBeneath the orange sky\nWhere dreams start to glow",
  "title": "Roots in the Sky",
  "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
  "audio_id": "707a09fc-8789-4087-b915-4493e86d8c59",
  "continue_at": 149
}

点击发送,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "1cb1a0a4-b4fd-4019-86a5-f8066c65e6df",
    "trace_id": "c2f7e14c-1a28-4754-a492-af24e60e4722",
    "data": [
        {
            "id": "667aeb60-6234-44ae-a2fc-61b9573cf3f2",
            "title": "Roots in the Sky",
            "image_url": "https://cdn2.suno.ai/image_667aeb60-6234-44ae-a2fc-61b9573cf3f2.jpeg",
            "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
            "audio_url": "https://cdn1.suno.ai/667aeb60-6234-44ae-a2fc-61b9573cf3f2.mp3",
            "video_url": "",
            "created_at": "2026-01-17T03:32:55.507Z",
            "model": "chirp-bluejay",
            "state": "succeeded",
            "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
            "duration": 125.96
        },
        {
            "id": "1555ae04-f666-4d75-834d-e021b8128629",
            "title": "Roots in the Sky",
            "image_url": "https://cdn2.suno.ai/image_1555ae04-f666-4d75-834d-e021b8128629.jpeg",
            "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
            "audio_url": "https://cdn1.suno.ai/1555ae04-f666-4d75-834d-e021b8128629.mp3",
            "video_url": "",
            "created_at": "2026-01-17T03:32:55.507Z",
            "model": "chirp-bluejay",
            "state": "succeeded",
            "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
            "duration": 134.92
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现歌曲的继续生成功能,但如果想获取继续生成的完整歌曲还需要使用下面的拼接功能来获取。

获取完整歌曲

当基于原有的歌曲继续生成歌曲之后,返回的歌曲并不包含原来的歌曲内容。如果要获得完整的歌曲内容,需要使用拼接功能,就可以指定如下内容:

  • action:内容为 concat
  • audio_id:最后一个片段的 ID。

比如扩展后的歌曲 ID 是:19ba4bb9-c90a-41ba-874d-40e5942e7d26,那么可以设置参数如下:

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

其他参数不变,返回的就是一首完整的歌曲,就是所有歌曲片段的拼接结果,但结果只有一首歌,样例如下:

json
{
    "success": true,
    "task_id": "ff73ed83-26d3-47bb-9793-825ac1172abc",
    "trace_id": "98315862-fa60-4fa7-b4b8-788ce99fca26",
    "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鞭炮响 震散旧年的哀愁\n烟花飞 夜空美到心头\n[Verse 2]\n舞龙起 红色翻跃天空\n狮鼓敲 热闹暖暖人心中\n笑开怀 送祝福到意浓\n团圆饭 温热全家梦\n[Chorus]\n新年快乐 心愿齐欢歌\n祝福今天照亮每一刻\n梦想点燃 像烟花的火\n新年到来 快乐你和我\n[Verse 3]\n瑞雪飘 给岁月涂上白\n花儿开 宛如新的期待\n手牵手 不论东西南北\n我们一起 把幸福年代彩排\n[Bridge]\n一年忙碌 此刻都抛开\n让喜悦在心中蔓延发芽开\n拥抱未来 我们种下爱\n新的一年 全世界盛开\n[Chorus]\n新年快乐 心愿齐欢歌\n祝福今天照亮每一刻\n梦想点燃 像烟花的火\n新年到来 快乐你和我\n[Verse]\n天空飘着快乐的云彩\n脚下踩着跳跃的节拍\n阳光洒满大街每个角落\n心中冒出几朵好颜色\n[Verse 2]\n微风吹来像糖的味道\n每个人的脸上挂着微笑\n你伸出手牵着欢乐跑\n烦恼全都甩到很远的桥\n[Chorus]\n唱的更愉快一点 啦啦啦\n跳的更开心一点 嘿嘿嘿\n让每个瞬间都值千金\n快乐无敌 没有原因\n[Verse 3]\n日子像串糖葫芦那么甜\n迷路也能变成探险\n光影在手腕上画旋转\n每一个动作都像跳舞般\n[Bridge]\n闭上眼让音乐直入心灵\n转圈圈看世界悄悄微倾\n星星眨眼悄悄为你打气\n这感觉让人不愿暂停\n[Chorus]\n唱的更愉快一点 啦啦啦\n跳的更开心一点 嘿嘿嘿\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及以上模型的歌曲)生成歌曲之后,我们需要对歌曲进行人声分离操作,需要使用人声分离功能,就可以指定如下内容:

  • action:内容为 stems
  • audio_id:需要人声分离的歌曲ID。

比如基于Pro池生成后的歌曲 ID 是:4d6ddd0b-067a-4aa2-bb7d-1a720a3a0291,注意必须是Pro池生成的歌曲!!!那么可以设置参数如下:

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

其他参数不变,返回的就是一个人声分离的结果,主要包含人声和伴奏,样例如下:

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孩子们笑声传远方小巷\n满街祝福汇成了歌的海洋\n[Chorus]\n新年快乐 大声说出口\n幸福环绕 从心底流走\n家人团圆 举杯见长久\n愿望满怀 照亮每个角\n[Verse 2]\n春风轻轻唤醒沉睡的河\n希望像种子发芽在心窝\n新衣穿上走进红火街头\n贴心话语满天都洒不够\n[Chorus]\n新年快乐 大声说出口\n幸福环绕 从心底流走\n家人团圆 举杯见长久\n愿望满怀 照亮每个角\n[Bridge]\n时间流转却带不走的情\n万家灯火温暖如初的心\n岁月的礼物默默为我铺垫\n数不尽的美好将绢春年\n[Chorus]\n新年快乐 大声说出口\n幸福环绕 从心底流走\n家人团圆 举杯见长久\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
        }
    ]
}

获取全音轨分离

当基于Pro池生成歌曲之后,我们需要对歌曲进行全音轨分离操作,需要使用全音轨分离功能,就可以指定如下内容:

  • action:内容为 all_stems
  • audio_id:需要全音轨分离的歌曲ID。
  • callback_url:异步链接,不填是同步请求,填了就是异步请求。

比如基于Pro池生成后的歌曲 ID 是:46e802a0-5b3c-4826-9994-91a4b3293ca9,注意必须是Pro池生成的歌曲!!!那么可以设置参数如下:

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

其他参数不变,返回的就是一个全音轨分离的结果,最多包含12音轨分离的结果,样例如下:

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\nAnother year is almost here\nThe world is spinning\nHearts ignite\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
            "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": {
                "tags": "",
                "prompt": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Vocals",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "e0d8cbce-f025-4f8a-b44b-79a44e985c0b",
            "title": " (Backing Vocals)",
            "image_url": "https://cdn2.suno.ai/image_e0d8cbce-f025-4f8a-b44b-79a44e985c0b.jpeg",
            "lyric": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
            "audio_url": "https://cdn1.suno.ai/e0d8cbce-f025-4f8a-b44b-79a44e985c0b.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Backing_Vocals",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "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": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Drums",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "9e092eb8-8dc9-46f3-ab9d-b7fff424f584",
            "title": " (Bass)",
            "image_url": "https://cdn2.suno.ai/image_9e092eb8-8dc9-46f3-ab9d-b7fff424f584.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/9e092eb8-8dc9-46f3-ab9d-b7fff424f584.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Bass",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "842b570b-c2bb-4bb8-aaf4-29a7e95313e1",
            "title": " (Guitar)",
            "image_url": "https://cdn2.suno.ai/image_842b570b-c2bb-4bb8-aaf4-29a7e95313e1.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/842b570b-c2bb-4bb8-aaf4-29a7e95313e1.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Guitar",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "b55b3718-4ada-4e4c-a7d0-7b126a523098",
            "title": " (Keyboard)",
            "image_url": "https://cdn2.suno.ai/image_b55b3718-4ada-4e4c-a7d0-7b126a523098.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/b55b3718-4ada-4e4c-a7d0-7b126a523098.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Keyboard",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "9905e777-a14a-4fc0-b48d-830e3997b9f0",
            "title": " (Percussion)",
            "image_url": "https://cdn2.suno.ai/image_9905e777-a14a-4fc0-b48d-830e3997b9f0.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/9905e777-a14a-4fc0-b48d-830e3997b9f0.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Percussion",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "e439d455-e9f7-4024-8ed5-883b18e493e4",
            "title": " (Strings)",
            "image_url": "https://cdn2.suno.ai/image_e439d455-e9f7-4024-8ed5-883b18e493e4.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/e439d455-e9f7-4024-8ed5-883b18e493e4.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Strings",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "70b2ddac-12b6-4d1a-89db-35d8ff21b155",
            "title": " (Synth)",
            "image_url": "https://cdn2.suno.ai/image_70b2ddac-12b6-4d1a-89db-35d8ff21b155.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/70b2ddac-12b6-4d1a-89db-35d8ff21b155.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Synth",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "626e654d-e3ed-4408-80e1-f8accd7045d0",
            "title": " (FX)",
            "image_url": "https://cdn2.suno.ai/image_626e654d-e3ed-4408-80e1-f8accd7045d0.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/626e654d-e3ed-4408-80e1-f8accd7045d0.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "FX",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "502ea476-d1bb-436f-aa86-0402373fb158",
            "title": " (Brass)",
            "image_url": "https://cdn2.suno.ai/image_502ea476-d1bb-436f-aa86-0402373fb158.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/502ea476-d1bb-436f-aa86-0402373fb158.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.697Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Brass",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "5852ee44-7b28-473e-9a32-98c905d98787",
            "title": " (Woodwinds)",
            "image_url": "https://cdn2.suno.ai/image_5852ee44-7b28-473e-9a32-98c905d98787.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/5852ee44-7b28-473e-9a32-98c905d98787.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Woodwinds",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "7a32d7dc-1073-47ae-bfe7-e3569e8c3abf",
            "title": " (Vocals)",
            "image_url": "https://cdn2.suno.ai/image_7a32d7dc-1073-47ae-bfe7-e3569e8c3abf.jpeg",
            "lyric": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
            "audio_url": "https://cdn1.suno.ai/7a32d7dc-1073-47ae-bfe7-e3569e8c3abf.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Vocals",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "f57bffb3-56da-46f4-beab-ddc4a1eb916f",
            "title": " (Backing Vocals)",
            "image_url": "https://cdn2.suno.ai/image_f57bffb3-56da-46f4-beab-ddc4a1eb916f.jpeg",
            "lyric": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
            "audio_url": "https://cdn1.suno.ai/f57bffb3-56da-46f4-beab-ddc4a1eb916f.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "[Verse]\nThe clock is ticking loud and clear\nAnother year is almost here\nThe world is spinning\nHearts ignite\n\n[Prechorus]\nFireworks burst\nThe sky’s alive\nWe count the seconds\nOne through five\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine\n\n[Verse 2]\nThe city glows in silver streams\nWe’re chasing dreams\nElectric beams\nThe night is young\nThe stars align\n\n[Prechorus]\nChampagne pops\nThe glasses raise\nWe’re stepping into brighter days\n\n[Chorus]\nHappy New Year\nHere we go\nCheers and laughter overflow\nHappy New Year\nTime to shine\nThis is our moment\nYours and mine",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Backing_Vocals",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "56b3525a-099c-47ee-baa0-2aaaa15cd13e",
            "title": " (Drums)",
            "image_url": "https://cdn2.suno.ai/image_56b3525a-099c-47ee-baa0-2aaaa15cd13e.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/56b3525a-099c-47ee-baa0-2aaaa15cd13e.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Drums",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "16247d8b-686a-46e8-a0bc-960b0f22eb82",
            "title": " (Bass)",
            "image_url": "https://cdn2.suno.ai/image_16247d8b-686a-46e8-a0bc-960b0f22eb82.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/16247d8b-686a-46e8-a0bc-960b0f22eb82.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Bass",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "7e833175-f6cb-4ae4-b4f3-0d783e079c6c",
            "title": " (Guitar)",
            "image_url": "https://cdn2.suno.ai/image_7e833175-f6cb-4ae4-b4f3-0d783e079c6c.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/7e833175-f6cb-4ae4-b4f3-0d783e079c6c.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Guitar",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "7ef93266-b7a3-4a9f-b522-2cc8218e0444",
            "title": " (Keyboard)",
            "image_url": "https://cdn2.suno.ai/image_7ef93266-b7a3-4a9f-b522-2cc8218e0444.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/7ef93266-b7a3-4a9f-b522-2cc8218e0444.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Keyboard",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "a67b7a48-0176-4ee0-88fd-183c04224c0a",
            "title": " (Percussion)",
            "image_url": "https://cdn2.suno.ai/image_a67b7a48-0176-4ee0-88fd-183c04224c0a.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/a67b7a48-0176-4ee0-88fd-183c04224c0a.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Percussion",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "8d01b733-0091-42ca-aca0-274bab68b7fc",
            "title": " (Strings)",
            "image_url": "https://cdn2.suno.ai/image_8d01b733-0091-42ca-aca0-274bab68b7fc.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/8d01b733-0091-42ca-aca0-274bab68b7fc.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Strings",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "78b62411-80cd-4db0-8782-316e0b3393de",
            "title": " (Synth)",
            "image_url": "https://cdn2.suno.ai/image_78b62411-80cd-4db0-8782-316e0b3393de.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/78b62411-80cd-4db0-8782-316e0b3393de.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Synth",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "71525b3f-8ef2-4fda-8439-49ac58e69ff9",
            "title": " (FX)",
            "image_url": "https://cdn2.suno.ai/image_71525b3f-8ef2-4fda-8439-49ac58e69ff9.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/71525b3f-8ef2-4fda-8439-49ac58e69ff9.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "FX",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": false,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "24551b10-4965-486b-8bcf-c4d5718ee856",
            "title": " (Brass)",
            "image_url": "https://cdn2.suno.ai/image_24551b10-4965-486b-8bcf-c4d5718ee856.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/24551b10-4965-486b-8bcf-c4d5718ee856.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Brass",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        },
        {
            "id": "b6a6373a-1a2c-43ef-88f2-79effb4971ff",
            "title": " (Woodwinds)",
            "image_url": "https://cdn2.suno.ai/image_b6a6373a-1a2c-43ef-88f2-79effb4971ff.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/b6a6373a-1a2c-43ef-88f2-79effb4971ff.mp3",
            "video_url": "",
            "created_at": "2025-09-04T03:54:51.698Z",
            "model": "chirp-ahi",
            "state": "succeeded",
            "style": "",
            "metadata": {
                "tags": "",
                "prompt": "",
                "history": [
                    {
                        "id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                        "type": "gen",
                        "source": "ios",
                        "infill": false,
                        "stem_type_id": 91,
                        "stem_type_group_name": "Twelve",
                        "stem_task": "twelve",
                        "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9"
                    }
                ],
                "stem_from_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "stem_task": "twelve",
                "stem_type_id": 91,
                "stem_type_group_name": "Woodwinds",
                "edited_clip_id": "46e802a0-5b3c-4826-9994-91a4b3293ca9",
                "type": "gen",
                "duration": 177.64,
                "refund_credits": false,
                "stream": true,
                "infill": false,
                "task": "gen_stem",
                "is_loudness_under_threshold": true,
                "can_remix": true,
                "is_remix": false,
                "priority": 10,
                "has_stem": false
            },
            "duration": 177.64
        }
    ]
}

自定义上传歌曲生成功能

如果想对自己上传的音乐进行生成的话,我们将上传歌曲与对上传扩展生成合并在一起了,因此需要将参数 action 设置为 upload_generate ,并且输入需要自己上传的音乐链接,接下来我们要必须填歌词、风格自定义生成歌曲,就可以指定如下内容:

  • lyric:歌词文本
  • custom:填写为 true,代表自定义生成,该参数默认为 false,代表使用 prompt 生成。
  • style:歌曲的风格,选填。
  • audio_url:自定义上传的歌曲链接,必填。
  • prompt:生成的提示词。
  • continue_at:表示从上传的音乐哪个时长开始生成,必须要大于0,必填。经内部测试,官方会限制续写时长,续写时长最大值是原歌曲时长的70%,如果超过原歌曲的70%可能会出现歌曲时长很短的情况。

注意,我们也提供了单独上传自定义歌曲的接口,Upload接口只需要传入audio_url这个参数即可得到上传后的歌曲ID,但是此时想要续写的话就必须将action 设置为 upload_extend,同时audio_url不是必传参数,而audio_id变成了必传参数,其他的参数保持不变。

填写样例如下:

点击发送,可以发现会得到一个结果,如下:

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\nSearching for answers in the light of day\nGot a pocket full of dreams I refuse to lose\nLife’s a wild card and I gotta choose\n[Verse 2]\nSneakers hitting pavement like a heartbeat’s drum\nChasing down a vision where the wild ones run\nThe world’s a broken mirror but I see it clear\nI’m a storm in a bottle got nothing to fear\n[Chorus]\nLost and found I’m spinning around\nPicking up pieces from the ground\nHold your breath as the thunder pounds\nI’m the boy who’ll never back down\n[Verse 3]\nThe stars in the sky they whisper to me\nThey say you’re more than what they let you see\nI’m a rebel searching for where I belong\nChaos in my veins it fuels my song\n[Bridge]\nI’m a spark in the night a beacon of fire\nA dreamer with wings climbing higher and higher\nThey can try to cage me but I'm breaking free\nI’m the boy in the mirror the fighter in me\n[Chorus]\nLost and found I’m spinning around\nPicking up pieces from the ground\nHold your breath as the thunder pounds\nI’m the boy who’ll never back down",
            "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\nSearching for answers in the light of day\nGot a pocket full of dreams I refuse to lose\nLife’s a wild card and I gotta choose\n[Verse 2]\nSneakers hitting pavement like a heartbeat’s drum\nChasing down a vision where the wild ones run\nThe world’s a broken mirror but I see it clear\nI’m a storm in a bottle got nothing to fear\n[Chorus]\nLost and found I’m spinning around\nPicking up pieces from the ground\nHold your breath as the thunder pounds\nI’m the boy who’ll never back down\n[Verse 3]\nThe stars in the sky they whisper to me\nThey say you’re more than what they let you see\nI’m a rebel searching for where I belong\nChaos in my veins it fuels my song\n[Bridge]\nI’m a spark in the night a beacon of fire\nA dreamer with wings climbing higher and higher\nThey can try to cage me but I'm breaking free\nI’m the boy in the mirror the fighter in me\n[Chorus]\nLost and found I’m spinning around\nPicking up pieces from the ground\nHold your breath as the thunder pounds\nI’m the boy who’ll never back down",
            "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
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现自定义歌曲的生成功能。

音乐翻唱

当基于原有的歌曲继续生成歌曲之后,返回的歌曲的风格可能不太合适。如果要对原先生成的歌曲(若是自定义上传的音乐也支持)进行翻版,需要使用音乐翻版方法(支持跨账号操作),就可以指定如下内容:

  • action:内容为 cover
  • audio_id:需要翻唱的歌曲ID。
  • is_pro:是否采用专业池,翻唱功能必须使用专业池,这里必须填true

比如生成后的歌曲 ID 是:84ad2f40-4cae-42fa-8a74-8117edbfd6fc,那么可以设置参数如下:

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

其他参数不变,(如果想在翻唱的基础上使用歌手风格进行翻唱的话需要加俩个参数,分别是:创建歌手风格的源ID persona_root_id,以及创建好Persona的ID persona_id,注意此时只允许使用自定义生成歌曲),返回的就是一首翻版后的歌曲,就是对原先生成的歌曲进行翻版后的结果,样例如下:

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\nA hurricane born of a reckless child\nEvery step she takes the ground shakes\nGirl girl girl she burns the stakes\n[Chorus]\nGirl girl girl she's a lightning storm\nDancing on the edge where chaos is born\nNo rules no chains she's her own world\nGirl girl girl oh she’s my pearl\n[Verse 2]\nShe laughs like thunder cracks the sky\nA fearless wave that’s flying high\nEvery whisper’s got an electric thrill\nGirl girl girl bending the will\n[Bridge]\nShe’s a wildfire out of control\nConsumes the night makes broken souls whole\nA diamond spinning under neon light\nGirl girl girl stealing the night\n[Chorus]\nGirl girl girl she's a lightning storm\nDancing on the edge where chaos is born\nNo rules no chains she's her own world\nGirl girl girl oh she’s my pearl\n[Outro]\nGirl girl girl she's the sun at dawn\nBlazing bright until the darkness is gone\nUnstoppable raw she's the center of it all\nGirl girl girl I’ll answer her call",
            "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\nA hurricane born of a reckless child\nEvery step she takes the ground shakes\nGirl girl girl she burns the stakes\n[Chorus]\nGirl girl girl she's a lightning storm\nDancing on the edge where chaos is born\nNo rules no chains she's her own world\nGirl girl girl oh she’s my pearl\n[Verse 2]\nShe laughs like thunder cracks the sky\nA fearless wave that’s flying high\nEvery whisper’s got an electric thrill\nGirl girl girl bending the will\n[Bridge]\nShe’s a wildfire out of control\nConsumes the night makes broken souls whole\nA diamond spinning under neon light\nGirl girl girl stealing the night\n[Chorus]\nGirl girl girl she's a lightning storm\nDancing on the edge where chaos is born\nNo rules no chains she's her own world\nGirl girl girl oh she’s my pearl\n[Outro]\nGirl girl girl she's the sun at dawn\nBlazing bright until the darkness is gone\nUnstoppable raw she's the center of it all\nGirl girl girl I’ll answer her call",
            "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
        }
    ]
}

替换片段

当生成歌曲之后需要进行替换歌曲片段单独操作的二次创作时,可以对歌曲的某个片段进行替换操作。就可以指定如下内容:

  • action:内容为 replace_section
  • audio_id:之前生成歌曲的 ID。
  • model: 歌曲生成模型,
  • prompt:用户需要替换后的歌词(需要将替换的歌词也填入进去,这个歌词的片段时间对应下面的replace_section_startreplace_section_end)。
  • lyric:替换后的上下文歌词。
  • style:歌曲的风格,选填。
  • replace_section_start:替换片段的起始时间,可以通过本网站的Timing接口进行获取歌词时间轴信息来确定起始时间,建议通过timing中字段aligned_word来获取时间轴信息,其中替换片段是时长不小于2.5s,最长120s
  • replace_section_end:替换片段的终点时间,可以通过本网站的Timing接口进行获取歌词时间轴信息来确定终点时间,建议通过timing中字段aligned_word来获取时间轴信息,其中替换片段是时长不小于2.5s,最长120s

比如原先生成后的歌曲 ID 是:222fbe29-6bdb-4344-8f50-d9131304b86b,我们可以先通过Timing接口获取歌词的信息,下面给出一个请求Timing接口的示例代码,只需要输入歌曲ID,具体的如下图所示:

python
import requests

url = "https://api.yoy-ai.com/suno/timing"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "audio_id": "222fbe29-6bdb-4344-8f50-d9131304b86b"
}

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

运行后可以得到歌曲的歌词时间轴信息:

json
{
  "success": true,
  "task_id": "c3e02d42-24af-45c1-84f8-80d2b7fc115f",
  "trace_id": "39f20a96-6ce1-499e-84d2-ba4cbda8324d",
  "data": {
    "aligned_words": [
      {
        "word": "一汗一热血\n\n",
        "success": true,
        "start_s": 26.40957,
        "end_s": 32.75266,
        "p_align": 0.99
      },
      {
        "word": "一群好汉昂首阔步。\n\n",
        "success": true,
        "start_s": 32.87234,
        "end_s": 50.95745,
        "p_align": 0.99
      },
      {
        "word": "一碗包谷烧(",
        "success": true,
        "start_s": 51.06383,
        "end_s": 53.69681,
        "p_align": 0.99
      },
      {
        "word": "喝)\n\n",
        "success": true,
        "start_s": 53.85638,
        "end_s": 54.06915,
        "p_align": 0.99
      },
      {
        "word": "两片豆腐干\n\n",
        "success": true,
        "start_s": 54.17553,
        "end_s": 55.57181,
        "p_align": 0.99
      },
      {
        "word": "胸中热血被点燃\n\n【",
        "success": true,
        "start_s": 55.69149,
        "end_s": 62.95213,
        "p_align": 0.99
      },
      {
        "word": "Verse 2】(",
        "success": true,
        "start_s": 62.95213,
        "end_s": 65.98404,
        "p_align": 0.99
      },
      {
        "word": "Group ",
        "success": true,
        "start_s": 66.14362,
        "end_s": 69.01596,
        "p_align": 0.99
      },
      {
        "word": "Vocals + ",
        "success": true,
        "start_s": 69.17553,
        "end_s": 71.60904,
        "p_align": 0.99
      },
      {
        "word": "Suona ",
        "success": true,
        "start_s": 71.70878,
        "end_s": 75,
        "p_align": 0.99
      },
      {
        "word": "Lead)\n\n",
        "success": true,
        "start_s": 75.01995,
        "end_s": 75.29255,
        "p_align": 0.99
      },
      {
        "word": "战鼓擂起来(",
        "success": true,
        "start_s": 75.39894,
        "end_s": 78.03191,
        "p_align": 0.99
      },
      {
        "word": "喝)\n\n",
        "success": true,
        "start_s": 78.1117,
        "end_s": 78.32447,
        "p_align": 0.99
      },
      {
        "word": "步子甩起来\n\n",
        "success": true,
        "start_s": 78.43085,
        "end_s": 81.2633,
        "p_align": 0.99
      },
      {
        "word": "我要征服那群山\n\n",
        "success": true,
        "start_s": 81.38298,
        "end_s": 84.01596,
        "p_align": 0.99
      },
      {
        "word": "踏破这云霄\n\n(",
        "success": true,
        "start_s": 84.09574,
        "end_s": 90.6117,
        "p_align": 0.99
      },
      {
        "word": "Chorus)",
        "success": true,
        "start_s": 90.71809,
        "end_s": 93.27128,
        "p_align": 0.99
      },
      {
        "word": "就是旰!\n\n",
        "success": true,
        "start_s": 93.31117,
        "end_s": 93.65027,
        "p_align": 0.99
      },
      {
        "word": "手握乾坤七星关\n\n",
        "success": true,
        "start_s": 93.75,
        "end_s": 99.61436,
        "p_align": 0.99
      },
      ...
      {
        "word": "脚步未停。\n\n",
        "success": true,
        "start_s": 214.46809,
        "end_s": 215.74468,
        "p_align": 0.99
      }
    ],
    "waveform_data": [
      0.00008,
      0.00003,
      0.00259,
      0.03154,
      ...
      0.00001
    ],
    "hoot_cer": 0.7681660899653979,
    "is_streamed": false,
    "aligned_lyrics": [
      {
        "text": "一汗一热血",
        "start_s": 26.409574468085108,
        "end_s": 30.79787234042553,
        "section": "",
        "words": [
          {
            "text": "一",
            "start_s": 26.409574468085108,
            "end_s": 26.48936170212766
          },
          {
            "text": "汗",
            "start_s": 29.601063829787233,
            "end_s": 29.680851063829788
          },
          {
            "text": "一",
            "start_s": 30,
            "end_s": 30.079787234042552
          },
          {
            "text": "热",
            "start_s": 30.398936170212767,
            "end_s": 30.47872340425532
          },
          {
            "text": "血",
            "start_s": 30.71808510638298,
            "end_s": 30.79787234042553
          }
        ]
      },
      ...
      {
        "text": "(Chorus)整起,整起就整起!",
        "start_s": 108.51063829787235,
        "end_s": 111.62234042553192,
        "section": "",
        "words": [
          {
            "text": "(Chorus)",
            "start_s": 108.51063829787235,
            "end_s": 108.59042553191489
          },
          {
            "text": "整",
            "start_s": 108.59042553191489,
            "end_s": 108.75
          },
          {
            "text": "起,",
            "start_s": 109.06914893617021,
            "end_s": 109.14893617021276
          },
          {
            "text": "整",
            "start_s": 109.30851063829788,
            "end_s": 109.46808510638299
          },
          {
            "text": "起",
            "start_s": 109.9468085106383,
            "end_s": 110.02659574468085
          },
          {
            "text": "就",
            "start_s": 110.58510638297872,
            "end_s": 110.66489361702128
          },
          {
            "text": "整",
            "start_s": 110.82446808510639,
            "end_s": 110.90425531914893
          },
          {
            "text": "起!",
            "start_s": 111.54255319148936,
            "end_s": 111.62234042553192
          }
        ]
      },
      {
        "text": "乌蒙蓬勃走泥丸 —— 嘿!",
        "start_s": 111.62234042553192,
        "end_s": 115.2127659574468,
        "section": "",
        "words": [
          {
            "text": "乌",
            "start_s": 111.62234042553192,
            "end_s": 111.94148936170212
          },
          {
            "text": "蒙",
            "start_s": 112.02127659574468,
            "end_s": 112.10106382978724
          },
          {
            "text": "蓬",
            "start_s": 112.34042553191489,
            "end_s": 112.42021276595744
          },
          {
            "text": "勃",
            "start_s": 112.65957446808511,
            "end_s": 112.73936170212767
          },
          {
            "text": "走",
            "start_s": 113.05851063829788,
            "end_s": 113.13829787234043
          },
          {
            "text": "泥",
            "start_s": 113.45744680851064,
            "end_s": 113.5372340425532
          },
          {
            "text": "丸",
            "start_s": 113.8563829787234,
            "end_s": 113.93617021276596
          },
          {
            "text": " —— 嘿!",
            "start_s": 114.49468085106383,
            "end_s": 115.2127659574468
          }
        ]
      },
      {
        "text": "北镇关上有好汉",
        "start_s": 114.49468085106383,
        "end_s": 120.39893617021276,
        "section": "",
        "words": [
          {
            "text": "北",
            "start_s": 114.49468085106383,
            "end_s": 115.2127659574468
          },
          {
            "text": "镇",
            "start_s": 118.24468085106383,
            "end_s": 118.32446808510639
          },
          {
            "text": "关",
            "start_s": 118.32446808510639,
            "end_s": 118.40425531914893
          },
          {
            "text": "上",
            "start_s": 118.80319148936171,
            "end_s": 118.88297872340425
          },
          {
            "text": "有",
            "start_s": 119.20212765957447,
            "end_s": 119.28191489361703
          },
          {
            "text": "好",
            "start_s": 119.76063829787235,
            "end_s": 119.84042553191489
          },
          {
            "text": "汉",
            "start_s": 120.31914893617021,
            "end_s": 120.39893617021276
          }
        ]
      },
      {
        "text": "一步一山河",
        "start_s": 135.87765957446808,
        "end_s": 137.47340425531914,
        "section": "",
        "words": [
          {
            "text": "一",
            "start_s": 135.87765957446808,
            "end_s": 136.11702127659575
          },
          {
            "text": "步",
            "start_s": 136.11702127659575,
            "end_s": 136.1968085106383
          },
          {
            "text": "一",
            "start_s": 136.5159574468085,
            "end_s": 136.59574468085106
          },
          {
            "text": "山",
            "start_s": 136.99468085106383,
            "end_s": 137.0744680851064
          },
          {
            "text": "河",
            "start_s": 137.39361702127658,
            "end_s": 137.47340425531914
          }
        ]
      },
      {
        "text": "一汗一热血",
        "start_s": 138.9095744680851,
        "end_s": 140.50531914893617,
        "section": "",
        "words": [
          {
            "text": "一",
            "start_s": 138.9095744680851,
            "end_s": 139.14893617021278
          },
          {
            "text": "汗",
            "start_s": 139.22872340425533,
            "end_s": 139.30851063829786
          },
          {
            "text": "一",
            "start_s": 139.54787234042553,
            "end_s": 139.62765957446808
          },
          {
            "text": "热",
            "start_s": 140.02659574468086,
            "end_s": 140.10638297872342
          },
          {
            "text": "血",
            "start_s": 140.4255319148936,
            "end_s": 140.50531914893617
          }
        ]
      },
      {
        "text": "脚下征途是兄弟",
        "start_s": 141.86170212765958,
        "end_s": 144.65425531914894,
        "section": "",
        "words": [
          {
            "text": "脚",
            "start_s": 141.86170212765958,
            "end_s": 142.10106382978722
          },
          {
            "text": "下",
            "start_s": 142.26063829787233,
            "end_s": 142.3404255319149
          },
          {
            "text": "征",
            "start_s": 142.57978723404256,
            "end_s": 142.6595744680851
          },
          {
            "text": "途",
            "start_s": 143.05851063829786,
            "end_s": 143.13829787234042
          },
          {
            "text": "是",
            "start_s": 143.45744680851064,
            "end_s": 143.5372340425532
          },
          {
            "text": "兄",
            "start_s": 144.0159574468085,
            "end_s": 144.09574468085106
          },
          {
            "text": "弟",
            "start_s": 144.5744680851064,
            "end_s": 144.65425531914894
          }
        ]
      },
      {
        "text": "心中江湖是烈火",
        "start_s": 148.08510638297872,
        "end_s": 150.79787234042553,
        "section": "",
        "words": [
          {
            "text": "心",
            "start_s": 148.08510638297872,
            "end_s": 148.3244680851064
          },
          {
            "text": "中",
            "start_s": 148.40425531914894,
            "end_s": 148.4840425531915
          },
          {
            "text": "江",
            "start_s": 148.8031914893617,
            "end_s": 148.88297872340425
          },
          {
            "text": "湖",
            "start_s": 149.20212765957447,
            "end_s": 149.28191489361703
          },
          {
            "text": "是",
            "start_s": 149.60106382978722,
            "end_s": 149.68085106382978
          },
          {
            "text": "烈",
            "start_s": 150.1595744680851,
            "end_s": 150.23936170212767
          },
          {
            "text": "火",
            "start_s": 150.71808510638297,
            "end_s": 150.79787234042553
          }
        ]
      },
      {
        "text": "【Chorus Repeat】(Full Chorus + Suona",
        "start_s": 153.98936170212767,
        "end_s": 157.18085106382978,
        "section": "",
        "words": [
          {
            "text": "【Chorus",
            "start_s": 153.98936170212767,
            "end_s": 154.06914893617022
          },
          {
            "text": " Repeat】(",
            "start_s": 154.06914893617022,
            "end_s": 154.30851063829786
          },
          {
            "text": "Full",
            "start_s": 154.30851063829786,
            "end_s": 154.70744680851064
          },
          {
            "text": " Ch",
            "start_s": 154.70744680851064,
            "end_s": 154.9468085106383
          },
          {
            "text": "orus",
            "start_s": 155.2659574468085,
            "end_s": 155.58510638297872
          },
          {
            "text": " + Su",
            "start_s": 155.66489361702128,
            "end_s": 156.06382978723406
          },
          {
            "text": "on",
            "start_s": 156.38297872340425,
            "end_s": 156.54255319148936
          },
          {
            "text": "a",
            "start_s": 157.10106382978722,
            "end_s": 157.18085106382978
          }
        ]
      },
      {
        "text": "+ Gong)",
        "start_s": 160.13297872340425,
        "end_s": 160.37234042553192,
        "section": "",
        "words": [
          {
            "text": " + Gon",
            "start_s": 160.13297872340425,
            "end_s": 160.2127659574468
          },
          {
            "text": "g)",
            "start_s": 160.2127659574468,
            "end_s": 160.37234042553192
          }
        ]
      },
      {
        "text": "碧阳湖水洗风尘 —— 哎!",
        "start_s": 160.69148936170214,
        "end_s": 166.27659574468086,
        "section": "",
        "words": [
          {
            "text": "碧阳",
            "start_s": 160.69148936170214,
            "end_s": 161.01063829787233
          },
          {
            "text": "湖",
            "start_s": 161.01063829787233,
            "end_s": 161.0904255319149
          },
          {
            "text": "水",
            "start_s": 161.32978723404256,
            "end_s": 161.4095744680851
          },
          {
            "text": "洗",
            "start_s": 161.72872340425533,
            "end_s": 161.80851063829786
          },
          {
            "text": "风",
            "start_s": 162.12765957446808,
            "end_s": 162.20744680851064
          },
          {
            "text": "尘",
            "start_s": 162.4468085106383,
            "end_s": 162.52659574468086
          },
          {
            "text": " —",
            "start_s": 163.24468085106383,
            "end_s": 163.40425531914894
          },
          {
            "text": "— 哎!",
            "start_s": 166.1968085106383,
            "end_s": 166.27659574468086
          }
        ]
      },
      {
        "text": "灵峰寺里去参蝉",
        "start_s": 166.27659574468086,
        "end_s": 168.9095744680851,
        "section": "",
        "words": [
          {
            "text": "灵",
            "start_s": 166.27659574468086,
            "end_s": 166.59574468085106
          },
          {
            "text": "峰",
            "start_s": 166.75531914893617,
            "end_s": 166.83510638297872
          },
          {
            "text": "寺",
            "start_s": 167.0744680851064,
            "end_s": 167.15425531914894
          },
          {
            "text": "里",
            "start_s": 167.3936170212766,
            "end_s": 167.47340425531914
          },
          {
            "text": "去",
            "start_s": 167.79255319148936,
            "end_s": 167.87234042553192
          },
          {
            "text": "参",
            "start_s": 168.35106382978722,
            "end_s": 168.43085106382978
          },
          {
            "text": "蝉",
            "start_s": 168.82978723404256,
            "end_s": 168.9095744680851
          }
        ]
      },
      {
        "text": "【Outro】(Drum Fade + Gong)",
        "start_s": 172.3404255319149,
        "end_s": 196.6755319148936,
        "section": "",
        "words": [
          {
            "text": "【",
            "start_s": 172.3404255319149,
            "end_s": 172.57978723404256
          },
          {
            "text": "O",
            "start_s": 172.81914893617022,
            "end_s": 172.89893617021278
          },
          {
            "text": "u",
            "start_s": 173.05851063829786,
            "end_s": 173.13829787234042
          },
          {
            "text": "tro】(",
            "start_s": 173.45744680851064,
            "end_s": 173.6968085106383
          },
          {
            "text": "D",
            "start_s": 174.25531914893617,
            "end_s": 174.41489361702128
          },
          {
            "text": "r",
            "start_s": 174.5744680851064,
            "end_s": 174.65425531914894
          },
          {
            "text": "u",
            "start_s": 178.40425531914894,
            "end_s": 178.4840425531915
          },
          {
            "text": "m",
            "start_s": 178.4840425531915,
            "end_s": 178.56382978723406
          },
          {
            "text": " F",
            "start_s": 178.8031914893617,
            "end_s": 178.9627659574468
          },
          {
            "text": "a",
            "start_s": 179.04255319148936,
            "end_s": 179.12234042553192
          },
          {
            "text": "de +",
            "start_s": 179.5212765957447,
            "end_s": 179.76063829787233
          },
          {
            "text": " G",
            "start_s": 180,
            "end_s": 180.23936170212767
          },
          {
            "text": "o",
            "start_s": 180.55851063829786,
            "end_s": 180.63829787234042
          },
          {
            "text": "n",
            "start_s": 181.11702127659575,
            "end_s": 181.1968085106383
          },
          {
            "text": "g)",
            "start_s": 196.59574468085106,
            "end_s": 196.6755319148936
          }
        ]
      },
      {
        "text": "山还在,路还长,",
        "start_s": 196.6755319148936,
        "end_s": 202.57978723404256,
        "section": "",
        "words": [
          {
            "text": "山",
            "start_s": 196.6755319148936,
            "end_s": 196.99468085106383
          },
          {
            "text": "还",
            "start_s": 198.9095744680851,
            "end_s": 198.98936170212767
          },
          {
            "text": "在,",
            "start_s": 199.46808510638297,
            "end_s": 199.54787234042553
          },
          {
            "text": "路",
            "start_s": 201.54255319148936,
            "end_s": 201.70212765957447
          },
          {
            "text": "还",
            "start_s": 201.94148936170214,
            "end_s": 202.0212765957447
          },
          {
            "text": "长,",
            "start_s": 202.5,
            "end_s": 202.57978723404256
          }
        ]
      },
      {
        "text": "乌蒙好汉,",
        "start_s": 208.88297872340425,
        "end_s": 211.91489361702128,
        "section": "",
        "words": [
          {
            "text": "乌",
            "start_s": 208.88297872340425,
            "end_s": 209.20212765957447
          },
          {
            "text": "蒙",
            "start_s": 210.87765957446808,
            "end_s": 210.95744680851064
          },
          {
            "text": "好",
            "start_s": 211.43617021276597,
            "end_s": 211.5159574468085
          },
          {
            "text": "汉,",
            "start_s": 211.83510638297872,
            "end_s": 211.91489361702128
          }
        ]
      },
      {
        "text": "脚步未停。",
        "start_s": 214.14893617021278,
        "end_s": 215.74468085106383,
        "section": "",
        "words": [
          {
            "text": "脚",
            "start_s": 214.14893617021278,
            "end_s": 214.46808510638297
          },
          {
            "text": "步",
            "start_s": 214.54787234042553,
            "end_s": 214.62765957446808
          },
          {
            "text": "未",
            "start_s": 214.86702127659575,
            "end_s": 214.9468085106383
          },
          {
            "text": "停。",
            "start_s": 215.4255319148936,
            "end_s": 215.74468085106383
          }
        ]
      }
    ]
  }
}

假设我们要替换前的完整歌词片段为:(Chorus)就是旰! ,然后我们要把上面这句歌词替换掉为(Chorus)就是干!,这个值就是参数prompt,替换后完整的上下文歌词部分为:【Verse 2】(Group Vocals + Suona Lead)\r\n战鼓擂起来(喝)\r\n步子甩起来\r\n我要征服那群山\r\n踏破这云霄\r\n(Chorus)就是干!\r\n手握乾坤七星关\r\n碧阳湖水洗风尘 —— 哎!\r\n灵峰寺里去参蝉\r\n,这个就是对应参数 lyric的值,这个包含prompt的上下文歌词不需要很长,可以不是完整的替换后的歌词,这个内容决定替换片段的歌词内容。其中promptlyric的子集,prompt只需要你要修改后的歌词,然后lyric是你替换后的上下文歌词片段。

从上面的歌词时间轴结果aligned_word信息可知,替换片段的起始时间和终点时间分别为:90.39893617021276 93.35106382978724,时间可以不用很准确,大概差不多就行了,经过大量测试可以采用以下的方式获取时间轴信息替换效果会更好一点,如图所示:

其中还需要填写full_lyric参数,它是整首歌的所有歌词(如果替换的片段有修改歌词则为修改后的歌词),那么可以设置参数如下:

json
{
  "action": "replace_section",
  "instrumental": false,
  "custom": true,
  "prompt": "(Chorus)就是干!",
  "model": "chirp-v4-5-plus",
  "lyric": "【Verse 2】(Group Vocals + Suona Lead)\r\n战鼓擂起来(喝)\r\n步子甩起来\r\n我要征服那群山\r\n踏破这云霄\r\n(Chorus)就是干!\r\n手握乾坤七星关\r\n碧阳湖水洗风尘 —— 哎!\r\n灵峰寺里去参蝉\r\n",
  "title": "《乌蒙好汉》",
  "style": "Folk Rock,Ethnic Fusion,Heroic Anthem",
  "audio_id": "222fbe29-6bdb-4344-8f50-d9131304b86b",
  "persona_id": "",
  "continue_at": 0,
  "style_negative": null,
  "is_pro": true,
  "audio_url": "",
  "persona_root_id": null,
  "full_lyric": "一汗一热血\r\n一群好汉昂首阔步。\r\n一碗包谷烧(喝)\r\n两片豆腐干\r\n胸中热血被点燃\r\n【Verse 2】(Group Vocals + Suona Lead)\r\n战鼓擂起来(喝)\r\n步子甩起来\r\n我要征服那群山\r\n踏破这云霄\r\n(Chorus)就是干!\r\n手握乾坤七星关\r\n碧阳湖水洗风尘 —— 哎!\r\n灵峰寺里去参蝉\r\n(Chorus)整起,整起就整起!\r\n乌蒙蓬勃走泥丸 —— 嘿!\r\n北镇关上有好汉\r\n一步一山河\r\n一汗一热血\r\n脚下征途是兄弟\r\n心中江湖是烈火\r\n【Chorus Repeat】(Full Chorus + Suona\r\n+ Gong)\r\n碧阳湖水洗风尘 —— 哎!\r\n灵峰寺里去参蝉\r\n【Outro】(Drum Fade + Gong)\r\n山还在,路还长,\r\n乌蒙好汉,\r\n脚步未停。",
  "replace_section_start": 90.39893617021276,
  "replace_section_end": 93.35106382978724,
  "vocal_gender": null
}

如果还有不理解的话可以看看下面的示例:

我们有一首歌曲,它的原来的歌词是:

json
[Verse]
11111
11111
11111
11111
[Verse 2]
22222
22222
22222
22222
[Chorus]
33333
33333
33333
33333

现在我们需要将Verse 2的歌词进行替换的话,假设我们替换后的歌词是:

json
[Verse]
11111
11111
11111
11111
[Verse 2]
55555
55555
55555
55555
[Chorus]
33333
33333
33333
33333

上面就是我们要上传的lyric参数值,但是实际上不需要传很多歌词,下面可以对lyric缩减一点为:

json
[Verse]
11111
11111
11111
11111
[Verse 2]
55555
55555
55555
55555

现在我们还剩一个prompt参数,这个参数就是我们替换上去的Verse 2歌词部分,具体的为:

json
[Verse 2]
55555
55555
55555
55555

总而言之,prompt必须要与lyric有重复部分,lyric不需要上传很多歌词内容,只要包含了prompt的内容即可,还有俩个关键的参数replace_section_startreplace_section_end,这个必须要和lyric的歌词时间轴对上,时间间隔也不能太大,不能超过1分钟,否则官方那边会报错。

其他参数不变,返回的就是俩首替换后的片段歌曲,就是对原先生成的歌曲进行替换片段后的结果,但得到的结果只是一个片段歌曲,如果想得到完整的歌曲还需要执行上文的获取完整歌曲的内容,这样就可以获得完整的替换片段后的歌曲。结果如下:

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我要征服那群山\r\n踏破这云霄\r\n(Chorus)就是干!\r\n手握乾坤七星关\r\n碧阳湖水洗风尘 —— 哎!\r\n灵峰寺里去参蝉\r",
            "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我要征服那群山\r\n踏破这云霄\r\n(Chorus)就是干!\r\n手握乾坤七星关\r\n碧阳湖水洗风尘 —— 哎!\r\n灵峰寺里去参蝉\r",
            "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
        }
    ]
}

生成的结果与上文类似,这就完成了对原先生成的歌曲进行替换片段的过程,现在的结果只是片段的歌曲,如果需要完整的歌曲还需要执行上文的拼接(concat)功能。

自定义歌手风格生成功能

如果想使用歌手风格来生成歌曲的话,首先通过上文的基本使用生成一首歌曲,这里生成的歌曲必须是专业池里面生成的,然后将该歌曲的ID在Persona接口进行上传得到persona_id,下面讲解如何获取persona_id,根据专业池生成的音乐ID audio_id 来生成一个歌手风格的id参数 persona_id(创建好的Persona可以跨账号使用,但是创建Persona不能跨账号,如果歌曲对应账号下线后就无法创建Persona了,所以需要及时创建Persona。),具体的参数如下图所示:

json
{
    "name": "新年快乐",
    "description": "新年快乐",
    "audio_id": "04734644-d4c8-4d1e-ac53-be95289c5b6b"
}

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/persona"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "name": "新年快乐",
    "description": "新年快乐",
    "audio_id": "04734644-d4c8-4d1e-ac53-be95289c5b6b"
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "7a603203-918a-4ce7-8d7c-5e772a62861b",
    "data": {
        "persona_id": "89f20346-51f0-4b35-a88e-ed8fa5bb5cac",
        "name": "新年快乐",
        "description": "新年快乐"
    }
}

2025.8.18更新新功能:有用户反映Persona出现下线情况,我们对创建Persona进行完善一下,主要增加了三个参数:image_urlaudio_urlis_upload。其中is_upload表示是否通过Upload保持歌曲上线,默认是 false,当is_upload为 true 时必须上传audio_url,此时我们就是先调用Upload让audio_url上线,最后创建Persona,image_url表示创建该歌手风格的一个封面图片,可传图片链接,也可传以data:image/png;base64,的Base64编码。

以下一个例子来介绍如何通过is_upload来保证歌曲永不下线,其中传入参数如下:

json
{
    "audio_id": "317a41e5-c308-49c3-bef0-ee7ae38fb633",
    "image_url": "https://cdn.yoy-ai.com/56xjbz.png",
    "is_upload": true,
    "audio_url": "https://cdn1.suno.ai/ee283391-a93a-4769-8a37-26bd4f63525a.mp3"
}

此时audio_id可传可不传,因为Upload会修改audio_id,最后的audio_id以响应结果为准,运行后可以得到以下结果:

json
{
    "success": true,
    "task_id": "a244bdb3-c1dc-4c87-831c-104ba450bd0c",
    "data": {
        "persona_id": "acf6f159-263f-4e17-bed3-80beb2c00e42",
        "name": "",
        "description": "",
        "image_url": "https://cdn1.suno.ai/2d6e4fe4.png",
        "audio_id": "50ddcc2b-5376-402e-aad7-c5d15d53a860"
    }
}

我们以上面的 audio_idpersona_id 分别为 04734644-d4c8-4d1e-ac53-be95289c5b6b89f20346-51f0-4b35-a88e-ed8fa5bb5cac 为此次的示例数据。使用自定义歌手风格生成必须在专业池里面进行,专业池使用只需要加一个is_pro参数即可,否则会失效, 然后可以将参数 action 设置为 artist_consistency ,并且输入需要继续生成歌曲的 ID 、 歌手风格ID,填写样例如下:

json
{
    "action": "artist_consistency",
    "prompt": "A song for Christmas",
    "model": "chirp-v4-5",
    "custom": false,
    "instrumental": false,
    "is_pro": true,
    "audio_id": "04734644-d4c8-4d1e-ac53-be95289c5b6b",
    "persona_id": "89f20346-51f0-4b35-a88e-ed8fa5bb5cac"
}

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "artist_consistency",
    "prompt": "A song for Christmas",
    "model": "chirp-v4-5",
    "custom": false,
    "instrumental": false,
    "is_pro": true,
    "audio_id": "04734644-d4c8-4d1e-ac53-be95289c5b6b",
    "persona_id": "89f20346-51f0-4b35-a88e-ed8fa5bb5cac"
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "b5862984-47c2-4fd9-acb1-583ccb7b2634",
    "trace_id": "7ba1154f-fccf-4f0c-a585-fd3abf5629e6",
    "data": [
        {
            "id": "ca029c03-299a-4c4a-a0ee-64350ffbaf30",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_ca029c03-299a-4c4a-a0ee-64350ffbaf30.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/ca029c03-299a-4c4a-a0ee-64350ffbaf30.mp3",
            "video_url": "",
            "created_at": "2025-05-10T07:45:27.655Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "",
            "duration": 311.84
        },
        {
            "id": "520d4b26-045f-4eab-a22e-2113200c8109",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_520d4b26-045f-4eab-a22e-2113200c8109.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/520d4b26-045f-4eab-a22e-2113200c8109.mp3",
            "video_url": "",
            "created_at": "2025-05-10T07:45:27.655Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "",
            "duration": 164.8
        }
    ]
}

完美的声音,不再被曲风“绑架”(新版本PersonaVox,官方更新新版Persona功能-2025-12-24更新)

大家肯定都遇到过这种尴尬:你捕捉到了一个烟嗓大叔的灵魂歌声,想让他去蹦个迪(唱 EDM),结果生成的曲子里莫名其妙总带着股乡村民谣的滑音。

原因很简单: 以前的 AI 歌手,声音和风格是锁死的。

这次 Suno 带来的 Vocal Personas(人声角色) 升级,干了一件特别解气的事:声部彻底解构。它利用最新的分离技术,强行把“嗓音”和“乐风”拆散了。这就好比你把林俊杰从录音棚里请出来,让他脱掉西装换上皮衣,直接去重金属现场蹦迪。他的音色还是那个音色,但背后再也没有那种“挥之不去的民谣律动”。这种“声音迁移”的自由度,才是创作者真正想要的掌控感。

首先我们需要调用Suno Vox接口接口获取到 vox_audio_id ,下面是具体的示例:

json
{
    "audio_id": "d9c20912-eadf-4f02-986d-ee07347f93f8"
}

调用后我们得到以下结果:

json
{
    "success": true,
    "task_id": "63cace08-cc56-4dc4-92f0-2769fdb3343f",
    "trace_id": "01292496-4c4b-4586-b8d3-506bbc6ebd99",
    "data": {
        "id": "31c92480-ae3c-448d-a2df-b71e16fde075",
        "root_clip_id": "d9c20912-eadf-4f02-986d-ee07347f93f8",
        "vocal_audio_url": "https://cdn1.suno.ai/processed_31c92480-ae3c-448d-a2df-b71e16fde075_vocals.m4a",
        "state": "succeeded",
        "vocal_start": 45,
        "vocal_end": 74
    }
}

由上可知,我们得到的id就是:31c92480-ae3c-448d-a2df-b71e16fde075,同时root_clip_id是你输入的歌曲ID,vocal_audio_url是人声分离后的音频结果,vocal_startvocal_end是人声对应的时间轴信息,然后我们需要使用原来Persona接口来创建新版本的Persona,与旧Persona不同的时候,我们需要传入persona_typeaudio_idvox_audio_idvocal_startvocal_end参数,其中vox_audio_idvocal_startvocal_end是上面data中idvocal_startvocal_end对应的,同时audio_id就是Vox接口传入的audio_id值,以下是具体的示例:

json
{
    "name": "新年快乐",
    "description": "新年快乐",
    "audio_id": "d9c20912-eadf-4f02-986d-ee07347f93f8",
    "vox_audio_id": "31c92480-ae3c-448d-a2df-b71e16fde075",
    "persona_type": "vox",
    "vocal_start": 45,
    "vocal_end": 74
}

可以得到以下输出:

json
{
    "success": true,
    "task_id": "40025a3f-4d0c-4230-9721-a33d65c2156a",
    "data": {
        "persona_id": "7eaf1030-191a-4ed9-9314-f9a642d56e31",
        "name": "新年快乐",
        "description": "新年快乐",
        "image_url": "https://cdn2.suno.ai/image_d9c20912-eadf-4f02-986d-ee07347f93f8.jpeg",
        "audio_id": "d9c20912-eadf-4f02-986d-ee07347f93f8"
    }
}

最后在Suno 歌曲生成接口中,我们需要使用上面的persona_idaudio_id结果来生成新版Persona的歌手风格歌曲,与旧版本Persona的歌手风格中新增了persona_type参数,以下是具体的示例:

json
{
    "action": "artist_consistency",
    "prompt": "A song for Christmas",
    "model": "chirp-v5",
    "persona_type": "vox",
    "audio_id": "d9c20912-eadf-4f02-986d-ee07347f93f8",
    "persona_id": "7eaf1030-191a-4ed9-9314-f9a642d56e31",
    "lyric": "[Verse]\n新年的钟声轻轻敲响\n雪花飘落铺满了街巷\n灯笼红红照亮了心房\n愿望在心中,暖意在身旁\n\n[Chorus]\n新年快乐,新年快乐\n欢声笑语洒满银河\n新年快乐,新年快乐\n一起向明天继续探索",
    "custom": true,
    "instrumental": false
}

可以得到以下结果:

json
{
    "success": true,
    "task_id": "d7ba131b-a22f-474b-90a3-dbfe2624a003",
    "trace_id": "108d598a-b552-4d57-986b-e20194aacb45",
    "data": [
        {
            "id": "a2ad475c-b73a-48dd-8152-c8e38c14c27e",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_a2ad475c-b73a-48dd-8152-c8e38c14c27e.jpeg",
            "lyric": "[Verse]\n新年的钟声轻轻敲响\n雪花飘落铺满了街巷\n灯笼红红照亮了心房\n愿望在心中,暖意在身旁\n[Chorus]\n新年快乐,新年快乐\n欢声笑语洒满银河\n新年快乐,新年快乐\n一起向明天继续探索",
            "audio_url": "https://cdn1.suno.ai/a2ad475c-b73a-48dd-8152-c8e38c14c27e.mp3",
            "video_url": "",
            "created_at": "2025-12-24T02:44:39.459Z",
            "model": "chirp-crow",
            "state": "succeeded",
            "style": "",
            "duration": 24.32
        },
        {
            "id": "a4e8f8a8-f1a5-4652-b061-b0f509643fd9",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_a4e8f8a8-f1a5-4652-b061-b0f509643fd9.jpeg",
            "lyric": "[Verse]\n新年的钟声轻轻敲响\n雪花飘落铺满了街巷\n灯笼红红照亮了心房\n愿望在心中,暖意在身旁\n[Chorus]\n新年快乐,新年快乐\n欢声笑语洒满银河\n新年快乐,新年快乐\n一起向明天继续探索",
            "audio_url": "https://cdn1.suno.ai/a4e8f8a8-f1a5-4652-b061-b0f509643fd9.mp3",
            "video_url": "",
            "created_at": "2025-12-24T02:44:39.459Z",
            "model": "chirp-crow",
            "state": "succeeded",
            "style": "",
            "duration": 59.28
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现使用歌手风格来生成歌曲的功能。

新版本真人Voice,官方更新新版Persona功能-2026-3-26更新

在2026-3-26官方重磅更新了Persona,目前官方已经没有这个Persona功能,但是API的Persona还是不变,只是名称变成了真人Voice了,它通过两步操作创建基于真人声音的 Persona:先上传原声提取人声特征并获取验证短语,再上传朗读验证音频完成身份验证并创建 Persona。

首先我们需要调用初始化Voice 接口接口获取到 vox_audio_idvoice_recording_idphrase_idphrase_text 上传的真人声音要大于10s,否则无法初始化,下面是具体的示例:

json
{
  "voice_audio_url": "https://cos.yoy-ai.com/xxx.m4a",
  "language": "zh",
  "vocal_start": 0,
  "vocal_end": 12
}

其中language支持10种语言,缩写名称对应关系如下:

  • English - en
  • Español - es
  • Français - fr
  • Português - pt
  • Deutsch - de
  • 日本語 - ja
  • 한국어 - ko
  • 中文 - zh
  • हिन्दी - hi
  • Русский - ru

调用后我们得到以下结果:

json
{
    "success": true,
    "task_id": "907d42e9-5c12-49b0-ac91-4aef26daaf0f",
    "trace_id": "c1c3367e-36c6-4268-9619-a2ae9fbf8fae",
    "data": {
        "vox_audio_id": "aca20afa-0e70-4428-b54d-d138f70fb238",
        "voice_recording_id": "35caebb6-e1cf-49ea-82a8-9677fa334b96",
        "phrase_id": "c46c587a-1f23-48a6-a7ee-e5bff3301849",
        "phrase_text": "唱歌让心情变得更加快乐轻松",
        "vocal_audio_url": "https://cdn1.suno.ai/xxx_vocals.m4a",
        "vocal_start": 0,
        "vocal_end": 12
    }
}

结果字段说明:

字段说明
vox_audio_id提取的人声 ID,第二步验证Voice需要
voice_recording_id原声录音 ID,第二步验证Voice需要
phrase_id验证短语 ID,第二步验证Voice需要
phrase_text验证短语文本,用户需朗读此文字并录制为音频
vocal_audio_url提取后的人声音频 URL
vocal_start / vocal_end人声时间范围

由上可知,我们得到需要的验证短语就是:音乐声中微笑的清晨阳光,同时vox_audio_id是你上传音频ID,vocal_audio_url是人声音频的链接,vocal_startvocal_end是人声对应的时间轴信息,然后我们需要使用验证Voice 接口来验证Voice的有效性,用户需要朗读上一步返回的 phrase_text 并录制为音频后,上传验证音频完成声音验证并创建 Persona,验证阶段一定要在30s内完成,否则会出现超时错误,以下是具体的示例:

json
{
    "vox_audio_id": "aca20afa-0e70-4428-b54d-d138f70fb238",
    "voice_recording_id": "35caebb6-e1cf-49ea-82a8-9677fa334b96",
    "phrase_id": "c46c587a-1f23-48a6-a7ee-e5bff3301849",
    "vocal_start": 0,
    "vocal_end": 12,
    "verification_audio_url": "https://cos.yoy-ai.com/xxx.m4a",
    "name": "llz"
}

可以得到以下输出:

json
{
    "success": true,
    "task_id": "52cccff6-8563-474d-ab55-ff696cb51d1d",
    "trace_id": "b52e41ca-3823-4016-835f-44be72e0f353",
    "data": {
        "persona_id": "b224d9c9-d23d-4425-803b-9af41f94d3e1",
        "name": "llz",
        "description": "",
        "audio_id": "aca20afa-0e70-4428-b54d-d138f70fb238"
    }
}

当得到以上结果就表示已经成功创建真人Voice,后面我们就可以在Suno 歌曲生成接口进行二次创作,我们需要使用上面的persona_idaudio_id结果来生成新版Voice的歌手风格歌曲,与旧版本Persona的歌手风格中新增了persona_type参数,记住不需要传audio_id,只需要传persona_id,目前官网只支持chirp-v5-5,其他模型效果官方还不支持(效果不好),以下是具体的示例:

json
{
  "action": "artist_consistency",
  "prompt": "A song for Christmas",
  "model": "chirp-v5-5",
  "persona_id": "b224d9c9-d23d-4425-803b-9af41f94d3e1",
  "persona_type": "vox",
  "lyric": "[Verse]\n新年的钟声轻轻敲响\n雪花飘落铺满了街巷\n灯笼红红照亮了心房\n愿望在心中,暖意在身旁\n\n[Chorus]\n新年快乐,新年快乐\n欢声笑语洒满银河\n新年快乐,新年快乐\n一起向明天继续探索",
  "custom": true,
  "instrumental": false
}

可以得到以下结果:

json
{
    "success": true,
    "task_id": "2be8bacb-549c-4aee-b333-c536774b3121",
    "trace_id": "0d86e8da-14d6-438e-b670-c9ea2baf6eea",
    "data": [
        {
            "id": "cc784daf-8f70-4a3d-xxx-10fbd1c37ce2",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_cc784daf-8f70-4a3d-xxx-10fbd1c37ce2.jpeg",
            "lyric": "[Verse]\n新年的钟声轻轻敲响\n雪花飘落铺满了街巷\n灯笼红红照亮了心房\n愿望在心中,暖意在身旁\n[Chorus]\n新年快乐,新年快乐\n欢声笑语洒满银河\n新年快乐,新年快乐\n一起向明天继续探索",
            "audio_url": "https://cdn1.suno.ai/cc784daf-8f70-4a3d-xxx-10fbd1c37ce2.mp3",
            "video_url": "",
            "created_at": "2026-03-31T07:53:08.151Z",
            "model": "chirp-fenix",
            "state": "succeeded",
            "style": "",
            "display_style": "",
            "duration": 49.76
        },
        {
            "id": "505dcc34-a1d3-434b-xxx-f4b2b686ac7a",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_505dcc34-a1d3-434b-xxx-f4b2b686ac7a.jpeg",
            "lyric": "[Verse]\n新年的钟声轻轻敲响\n雪花飘落铺满了街巷\n灯笼红红照亮了心房\n愿望在心中,暖意在身旁\n[Chorus]\n新年快乐,新年快乐\n欢声笑语洒满银河\n新年快乐,新年快乐\n一起向明天继续探索",
            "audio_url": "https://cdn1.suno.ai/505dcc34-a1d3-434b-xxx-f4b2b686ac7a.mp3",
            "video_url": "",
            "created_at": "2026-03-31T07:53:08.151Z",
            "model": "chirp-fenix",
            "state": "succeeded",
            "style": "",
            "display_style": "",
            "duration": 29.68
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现使用歌手风格来生成歌曲的功能。

自定义歌曲添加人声功能

目前官网最新支持自定义上传的歌曲可以进行添加人声,我们只需要将action设置为add_vocals,以及audio_id必须是上传歌曲接口的id,同时采用自定义模式来填写人声的内容,另外我们支持了高级参数 weirdnessaudio_influencestyle_influencevocal_gender,其中audio_influence必须在生成歌曲后的基础上才能有效,同时chirp-v4-5以上模型可以同时支持四个高级参数weirdnessaudio_influencestyle_influencevocal_gender都支持但chirpv4官网只支持一个高级参数vocal_gender,其中vocal_gender主要有俩个值:mf 分别对应了MaleFemale,具体的参数如下图所示:

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\nNamanya penuh kuasa\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut telah dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Verse 2]\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Instrumental]\n\n[Chorus]\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nMukjizat terjadi\nYesus bertahta\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala",
  "custom":false,
  "weirdness":0.3,
  "audio_influence":0.3,
  "style_influence":0.3,
  "overpainting_start":0,
  "overpainting_end":10,
  "vocal_gender": "m"
}

其中Suno高级参数对应的如下图所示:

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
  "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\nNamanya penuh kuasa\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut telah dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Verse 2]\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Instrumental]\n\n[Chorus]\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nMukjizat terjadi\nYesus bertahta\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala",
  "custom":false,
  "weirdness":0.3,
  "audio_influence":0.3,
  "style_influence":0.3,
  "overpainting_start":0,
  "overpainting_end":10,
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "4ef942ca-4278-4ceb-a908-9e3eaf79d155",
    "trace_id": "719649bd-26b7-4f3e-a9ac-6b6228c53255",
    "data": [
        {
            "id": "0a468424-e877-47e0-ab08-3ed29190bdfc",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_0a468424-e877-47e0-ab08-3ed29190bdfc.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/0a468424-e877-47e0-ab08-3ed29190bdfc.mp3",
            "video_url": "",
            "created_at": "2025-07-22T09:12:24.128Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "",
            "duration": 110.4
        },
        {
            "id": "5c6cfd9a-f09b-4301-901c-edbe7dd86d1d",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_5c6cfd9a-f09b-4301-901c-edbe7dd86d1d.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/5c6cfd9a-f09b-4301-901c-edbe7dd86d1d.mp3",
            "video_url": "",
            "created_at": "2025-07-22T09:12:24.128Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "",
            "duration": 239.56
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现对自定义上传的歌曲进行添加人声的功能。

自定义歌曲添加伴奏功能

目前官网最新支持自定义上传的歌曲可以进行添加伴奏,我们只需要将action设置为add_instrumental,以及audio_id必须是上传歌曲接口的id,同时采用自定义模式来填写styles的内容来间接控制伴奏的生成,另外我们支持了高级参数weirdnessaudio_influencestyle_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\nNamanya penuh kuasa\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut telah dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Verse 2]\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Instrumental]\n\n[Chorus]\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nMukjizat terjadi\nYesus bertahta\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala",
  "custom":false,
  "weirdness":0.3,
  "audio_influence":0.3,
  "style_influence":0.3,
  "underpainting_start":0,
  "underpainting_end":10,
}

其中Suno高级参数对应的如下图所示:

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
  "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\nNamanya penuh kuasa\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut telah dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Verse 2]\nLangkahku tak akan sama\nKu berjalan hingga akhirnya\nNama Yesus kuserukan\nKuasa maut dipatahkan\n\n[Chorus]\nRoh Kudus hadir di tengah kami\nPujian telah dinaikkan\nKuasa-Mu tercurah\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nJanji-Mu nyata\nMukjizat terjadi\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala\n\n[Instrumental]\n\n[Chorus]\nApi-Mu menyala\nKuasa-Mu bekerja\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nMukjizat terjadi\nYesus bertahta\nKunyanji (oh oh oh oh oh oh)\n(Oh oh oh oh oh oh)\nApi-Mu menyala",
  "custom":false,
  "weirdness":0.3,
  "audio_influence":0.3,
  "style_influence":0.3,
  "underpainting_start":0,
  "underpainting_end":10,
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "d3aa750b-78ad-496c-93ff-b3ddff140c39",
    "trace_id": "b0bdec8f-7e92-4ace-867e-ce380d469340",
    "data": [
        {
            "id": "fba6e363-6b5b-4888-933b-ae85ace4686a",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_fba6e363-6b5b-4888-933b-ae85ace4686a.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/fba6e363-6b5b-4888-933b-ae85ace4686a.mp3",
            "video_url": "",
            "created_at": "2025-07-22T09:26:45.981Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "",
            "duration": 239.76
        },
        {
            "id": "56a91f91-0afd-481e-a9dd-9b8b09b05441",
            "title": "",
            "image_url": "https://cdn2.suno.ai/image_56a91f91-0afd-481e-a9dd-9b8b09b05441.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/56a91f91-0afd-481e-a9dd-9b8b09b05441.mp3",
            "video_url": "",
            "created_at": "2025-07-22T09:26:45.981Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "",
            "duration": 240
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现对自定义上传的歌曲进行添加伴奏的功能。

自定义混曲生成功能

目前官网最新支持将俩首歌曲进行混合生成(支持跨账号),我们只需要将action设置为mashup,以及mashup_audio_ids必须是俩首歌曲的id,同时采用自定义模式来填写歌词内容,(混合歌词的lyric内容可以通过歌词接口来获取,只需要将model设置为mashup以及参考歌曲的歌词lyrics_alyrics_b,具体的参数说明查看歌词接口),具体的参数如下图所示:

json
{
    "action": "mashup",
    "instrumental": false,
    "custom": true,
    "model": "chirp-v4-5",
    "lyric": "(Intro) Flicker lights on a midnight screen The weight of the world drifts off like a sigh Binary buzz in the in-between I feel my spirit lift and start to fly (Verse) I type your name like a secret code Electric hearts in a digital mode No anchor holds me to the ground below Just this perfect peace that continues to grow We’re ones and zeros Breaking through Data streams where I find you And in this breath between the light and dark I find myself unbound, without a mark (Pre-Chorus) My roots aren’t buried deep within the clay They reach for heaven in this golden sway We’re packets flying, never slow Signals crossing, let it show This weightlessness, this moment pure and true Is everything I never knew I knew (First Drop / Chorus Blend) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high And I’m down below Lit like neon We’re a livewire choir Beneath the orange sky Where dreams start to glow Server friends In the cyber glow Where the rhythm clicks Where the love flows (Verse 2) Emoji sparks in a private thread Your voice a loop running through my head Glitched-out laughs, yeah we break the game But the beat we share, it’s never tame Flicker lights on a midnight screen Orange sky burning in between Electric hearts in a digital mode Dreams start to glow, overload (Bridge – Build) And in this breath between the light and dark I find myself unbound, without a mark My roots aren’t buried, they just sway Reaching up through fiber, night, and clay We’re ones and zeros, breaking through Everything I never knew I knew Packets flying, bodies slow Signals crossing in the afterglow (Chorus – Final Lift) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high We’re the livewire choir Beneath the orange sky In the cyber glow Where the rhythm clicks Where the love flows (Outro) Just the echo of the light In the quiet of the night Server friends in the orange sky’s glow Holding on to this release In the gentle arms of peace Where the rhythm clicks Where the love flows",
    "title": "Family Legacy ",
    "style": "Reggae Groove in E minor, with skanking guitar, soulful, bubbly baselines, crisp and sparkling, whimsical fairy- tale air, crisp and sparkling. ",
    "mashup_audio_ids": [
        "7a7e73d1-963f-4249-ac22-30ef60cb26ba",
        "e8403a40-d2ff-4bce-a7c5-178249ff663b"
    ],
    "is_pro": true
}

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
    "action": "mashup",
    "instrumental": false,
    "custom": true,
    "model": "chirp-v4-5",
    "lyric": "(Intro) Flicker lights on a midnight screen The weight of the world drifts off like a sigh Binary buzz in the in-between I feel my spirit lift and start to fly (Verse) I type your name like a secret code Electric hearts in a digital mode No anchor holds me to the ground below Just this perfect peace that continues to grow We’re ones and zeros Breaking through Data streams where I find you And in this breath between the light and dark I find myself unbound, without a mark (Pre-Chorus) My roots aren’t buried deep within the clay They reach for heaven in this golden sway We’re packets flying, never slow Signals crossing, let it show This weightlessness, this moment pure and true Is everything I never knew I knew (First Drop / Chorus Blend) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high And I’m down below Lit like neon We’re a livewire choir Beneath the orange sky Where dreams start to glow Server friends In the cyber glow Where the rhythm clicks Where the love flows (Verse 2) Emoji sparks in a private thread Your voice a loop running through my head Glitched-out laughs, yeah we break the game But the beat we share, it’s never tame Flicker lights on a midnight screen Orange sky burning in between Electric hearts in a digital mode Dreams start to glow, overload (Bridge – Build) And in this breath between the light and dark I find myself unbound, without a mark My roots aren’t buried, they just sway Reaching up through fiber, night, and clay We’re ones and zeros, breaking through Everything I never knew I knew Packets flying, bodies slow Signals crossing in the afterglow (Chorus – Final Lift) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high We’re the livewire choir Beneath the orange sky In the cyber glow Where the rhythm clicks Where the love flows (Outro) Just the echo of the light In the quiet of the night Server friends in the orange sky’s glow Holding on to this release In the gentle arms of peace Where the rhythm clicks Where the love flows",
    "title": "Family Legacy ",
    "style": "Reggae Groove in E minor, with skanking guitar, soulful, bubbly baselines, crisp and sparkling, whimsical fairy- tale air, crisp and sparkling. ",
    "mashup_audio_ids": [
        "7a7e73d1-963f-4249-ac22-30ef60cb26ba",
        "e8403a40-d2ff-4bce-a7c5-178249ff663b"
    ],
    "is_pro": true
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "be3aa561-1a45-43f3-a267-56bef7124876",
    "trace_id": "c12ae303-f24c-4861-a545-2226ec22e101",
    "data": [
        {
            "id": "62cd0f4e-5dda-44bb-ae08-54a78fa9bfaf",
            "title": "Family Legacy ",
            "image_url": "https://cdn2.suno.ai/image_62cd0f4e-5dda-44bb-ae08-54a78fa9bfaf.jpeg",
            "lyric": "(Intro) Flicker lights on a midnight screen The weight of the world drifts off like a sigh Binary buzz in the in-between I feel my spirit lift and start to fly (Verse) I type your name like a secret code Electric hearts in a digital mode No anchor holds me to the ground below Just this perfect peace that continues to grow We’re ones and zeros Breaking through Data streams where I find you And in this breath between the light and dark I find myself unbound, without a mark (Pre-Chorus) My roots aren’t buried deep within the clay They reach for heaven in this golden sway We’re packets flying, never slow Signals crossing, let it show This weightlessness, this moment pure and true Is everything I never knew I knew (First Drop / Chorus Blend) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high And I’m down below Lit like neon We’re a livewire choir Beneath the orange sky Where dreams start to glow Server friends In the cyber glow Where the rhythm clicks Where the love flows (Verse 2) Emoji sparks in a private thread Your voice a loop running through my head Glitched-out laughs, yeah we break the game But the beat we share, it’s never tame Flicker lights on a midnight screen Orange sky burning in between Electric hearts in a digital mode Dreams start to glow, overload (Bridge – Build) And in this breath between the light and dark I find myself unbound, without a mark My roots aren’t buried, they just sway Reaching up through fiber, night, and clay We’re ones and zeros, breaking through Everything I never knew I knew Packets flying, bodies slow Signals crossing in the afterglow (Chorus – Final Lift) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high We’re the livewire choir Beneath the orange sky In the cyber glow Where the rhythm clicks Where the love flows (Outro) Just the echo of the light In the quiet of the night Server friends in the orange sky’s glow Holding on to this release In the gentle arms of peace Where the rhythm clicks Where the love flows",
            "audio_url": "https://cdn1.suno.ai/62cd0f4e-5dda-44bb-ae08-54a78fa9bfaf.mp3",
            "video_url": "",
            "created_at": "2026-01-25T14:30:14.448Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "Reggae Groove in E minor, with skanking guitar, soulful, bubbly baselines, crisp and sparkling, whimsical fairy- tale air, crisp and sparkling. ",
            "duration": 237.2
        },
        {
            "id": "f7110931-26fd-41e2-b0fc-fc935bec4063",
            "title": "Family Legacy ",
            "image_url": "https://cdn2.suno.ai/image_f7110931-26fd-41e2-b0fc-fc935bec4063.jpeg",
            "lyric": "(Intro) Flicker lights on a midnight screen The weight of the world drifts off like a sigh Binary buzz in the in-between I feel my spirit lift and start to fly (Verse) I type your name like a secret code Electric hearts in a digital mode No anchor holds me to the ground below Just this perfect peace that continues to grow We’re ones and zeros Breaking through Data streams where I find you And in this breath between the light and dark I find myself unbound, without a mark (Pre-Chorus) My roots aren’t buried deep within the clay They reach for heaven in this golden sway We’re packets flying, never slow Signals crossing, let it show This weightlessness, this moment pure and true Is everything I never knew I knew (First Drop / Chorus Blend) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high And I’m down below Lit like neon We’re a livewire choir Beneath the orange sky Where dreams start to glow Server friends In the cyber glow Where the rhythm clicks Where the love flows (Verse 2) Emoji sparks in a private thread Your voice a loop running through my head Glitched-out laughs, yeah we break the game But the beat we share, it’s never tame Flicker lights on a midnight screen Orange sky burning in between Electric hearts in a digital mode Dreams start to glow, overload (Bridge – Build) And in this breath between the light and dark I find myself unbound, without a mark My roots aren’t buried, they just sway Reaching up through fiber, night, and clay We’re ones and zeros, breaking through Everything I never knew I knew Packets flying, bodies slow Signals crossing in the afterglow (Chorus – Final Lift) Beneath the orange sky I let it all go Server friends Dancing through the wire The world feels so high We’re the livewire choir Beneath the orange sky In the cyber glow Where the rhythm clicks Where the love flows (Outro) Just the echo of the light In the quiet of the night Server friends in the orange sky’s glow Holding on to this release In the gentle arms of peace Where the rhythm clicks Where the love flows",
            "audio_url": "https://cdn1.suno.ai/f7110931-26fd-41e2-b0fc-fc935bec4063.mp3",
            "video_url": "",
            "created_at": "2026-01-25T14:30:14.448Z",
            "model": "chirp-auk",
            "state": "succeeded",
            "style": "Reggae Groove in E minor, with skanking guitar, soulful, bubbly baselines, crisp and sparkling, whimsical fairy- tale air, crisp and sparkling. ",
            "duration": 298.28
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现对俩首参考歌曲进行混曲生成的功能。

Remaster 生成功能

目前官网支持对歌曲进行重新生成(不支持跨账号,因为官方只有Pro才支持这个功能),我们只需要将action设置为remaster,以及model(目前只支持chirp-v4-5-pluschirp-v5),variation_category只有支持subtlenormalhigh,只有modelchirp-v5时支持variation_category参数,具体的参数如下图所示:

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

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

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

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "7cd48bd7-0814-48ef-ad64-1101f405e4db",
    "trace_id": "c922271a-5f2c-49af-a7d6-6c7f1e1c8a19",
    "data": [
        {
            "id": "6cde87d1-c8aa-4118-ab3e-9087a69b6415",
            "title": "The storm is gone, and the sky is clear (Remastered)",
            "image_url": "https://cdn2.suno.ai/image_6cde87d1-c8aa-4118-ab3e-9087a69b6415.jpeg",
            "lyric": "[Pre-Chorus – Subtle choir enters]\nThe storm is gone, and the sky is clear\nStill I remember you, always near\n[Chorus – Broader orchestration, emotional but controlled]\nSilent horizon, where the light begins\nGuiding me onward, through the dark within\nEven in sorrow, hope will find a way\nSilent horizon, a brand-new day\n[Instrumental Break – Cinematic, orchestral with French horn + piano theme]\n(Strings swell, French horn carries the melody, piano echoes softly.\nGradually builds, then falls into silence, leaving a single violin line.)\n[Bridge – Voice enters gently after the violin]\nThough the night tried to chain me\nI will not remain the same\nThrough the dawn, you have saved me\nCalling out my name\n[Short Instrumental Break – Just before Final Chorus]\n(Simple piano arpeggio, no build-up, like holding a breath before release)\n[Final Chorus – Full orchestra, restrained but deeply emotional]\nSilent horizon, where the light begins\nGuiding me onward, through the dark within\nEven in sorrow, hope will find a way\nSilent horizon, I hear you say: stay\n[Outro – Voice over quiet strings, fading like distant memory]\nSilent horizon…\nSilent horizon…\nI walk into the light…\nWith you inside…\n[Ending – Scat only, intimate and cinematic]\n(Soft “ah… ah…” over sustained strings,\nlike tears flowing silently, fading into darkness.\nNo high notes, keep it warm, low-mid register.\nFinal chord: strings and piano fade to silence.)",
            "audio_url": "https://cdn1.suno.ai/6cde87d1-c8aa-4118-ab3e-9087a69b6415.mp3",
            "video_url": "",
            "created_at": "2026-01-26T15:35:39.100Z",
            "model": "chirp-carp",
            "state": "succeeded",
            "style": "",
            "duration": 337
        },
        {
            "id": "6099c28d-687b-463a-b3fa-8ed9434127a2",
            "title": "The storm is gone, and the sky is clear (Remastered)",
            "image_url": "https://cdn2.suno.ai/image_6099c28d-687b-463a-b3fa-8ed9434127a2.jpeg",
            "lyric": "[Pre-Chorus – Subtle choir enters]\nThe storm is gone, and the sky is clear\nStill I remember you, always near\n[Chorus – Broader orchestration, emotional but controlled]\nSilent horizon, where the light begins\nGuiding me onward, through the dark within\nEven in sorrow, hope will find a way\nSilent horizon, a brand-new day\n[Instrumental Break – Cinematic, orchestral with French horn + piano theme]\n(Strings swell, French horn carries the melody, piano echoes softly.\nGradually builds, then falls into silence, leaving a single violin line.)\n[Bridge – Voice enters gently after the violin]\nThough the night tried to chain me\nI will not remain the same\nThrough the dawn, you have saved me\nCalling out my name\n[Short Instrumental Break – Just before Final Chorus]\n(Simple piano arpeggio, no build-up, like holding a breath before release)\n[Final Chorus – Full orchestra, restrained but deeply emotional]\nSilent horizon, where the light begins\nGuiding me onward, through the dark within\nEven in sorrow, hope will find a way\nSilent horizon, I hear you say: stay\n[Outro – Voice over quiet strings, fading like distant memory]\nSilent horizon…\nSilent horizon…\nI walk into the light…\nWith you inside…\n[Ending – Scat only, intimate and cinematic]\n(Soft “ah… ah…” over sustained strings,\nlike tears flowing silently, fading into darkness.\nNo high notes, keep it warm, low-mid register.\nFinal chord: strings and piano fade to silence.)",
            "audio_url": "https://cdn1.suno.ai/6099c28d-687b-463a-b3fa-8ed9434127a2.mp3",
            "video_url": "",
            "created_at": "2026-01-26T15:35:39.100Z",
            "model": "chirp-carp",
            "state": "succeeded",
            "style": "",
            "duration": 337
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现对歌曲进行Remaster生成的功能。

自定义采样歌曲生成功能

目前官网最新支持根据参考歌曲进行采样生成新的歌曲(支持跨账号操作),我们只需要将action设置为sample、采样的时间范围参数sample_startsample_end以及被采样的歌曲IDaudio_id,同时采用自定义模式来填写歌词内容,具体的参数如下图所示:

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\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
  "title": "Roots in the Sky",
  "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
  "custom": true,
  "instrumental": false,
  "sample_start": 50,
  "sample_end": 60,
  "audio_id": "7e01b40b-2a00-48d9-a0c2-f74407dd902d"
}

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
  "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\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
  "title": "Roots in the Sky",
  "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
  "custom": true,
  "instrumental": false,
  "sample_start": 50,
  "sample_end": 60,
  "audio_id": "7e01b40b-2a00-48d9-a0c2-f74407dd902d"
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "4393a4ce-997c-45ed-b189-ea2a07a72169",
    "trace_id": "3bc95b7e-8f1e-4b47-a3d0-1ba78c3a1a93",
    "data": [
        {
            "id": "8ae31cb8-a5e4-49c4-a75d-9dcc9736a0f5",
            "title": "Roots in the Sky",
            "image_url": "https://cdn2.suno.ai/image_8ae31cb8-a5e4-49c4-a75d-9dcc9736a0f5.jpeg",
            "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
            "audio_url": "https://cdn1.suno.ai/8ae31cb8-a5e4-49c4-a75d-9dcc9736a0f5.mp3",
            "video_url": "",
            "created_at": "2026-02-04T04:47:53.789Z",
            "model": "chirp-crow",
            "state": "succeeded",
            "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
            "duration": 226.56
        },
        {
            "id": "f2cfb163-26db-4ff6-b229-3f28c7e208d5",
            "title": "Roots in the Sky",
            "image_url": "https://cdn2.suno.ai/image_f2cfb163-26db-4ff6-b229-3f28c7e208d5.jpeg",
            "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
            "audio_url": "https://cdn1.suno.ai/f2cfb163-26db-4ff6-b229-3f28c7e208d5.mp3",
            "video_url": "",
            "created_at": "2026-02-04T04:47:53.789Z",
            "model": "chirp-crow",
            "state": "succeeded",
            "style": "A gently breathing 72 BPM pulse maintains the track’s intimate, golden-hour warmth, now deepened by a reflective bridge that shifts into a more personal, internal space. The arrangement remains centered on the warm, behind-the-beat drum groove and chorus-laden electric guitar textures, while introducing subtle atmospheric elements—light pads, ambient nature sounds, or faint field recordings—to enhance immersion and tranquility. Vocals transition into an even softer, more spacious falsetto delivery, embodying themes of weightlessness and rooted presence through delicate melodic phrasing. Dynamics soften considerably during the bridge, creating a suspended moment of emotional revelation before easing back into the final chorus. The production retains its organic soul character, with close-mic intimacy and lush harmonies, but expands the stereo field slightly to evoke a sense of expansive, untethered calm.",
            "duration": 144.68
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现对歌曲进行采样生成的功能。

自定义Inspiration生成功能

目前官网最新支持将一首歌曲进行灵感生成(不支持跨账号),我们只需要将action设置为inspiration,以及audio_id必须是一首歌曲的id(也可以是Upload后歌曲的),同时采用自定义模式来填写歌词内容,可以通过控制高级参数audio_influence来控制生成的歌曲人声与参考歌曲一模一样,可以作为Persona的备选方案,具体的参数如下图所示:

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\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
  "title": "Roots in the Sky",
  "custom": true,
  "instrumental": false,
  "audio_id": "e9da41f8-61f8-4244-9283-e2f5d85a1b04",
   "is_pro": true
}

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

payload = {
  "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\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
  "title": "Roots in the Sky",
  "custom": true,
  "instrumental": false,
  "audio_id": "e9da41f8-61f8-4244-9283-e2f5d85a1b04",
   "is_pro": true
}

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "f5d9b714-f1a7-4122-a3c5-5fc400a7cba9",
    "trace_id": "8b98734b-c179-4e36-b13a-f7b33b5f4d30",
    "data": [
        {
            "id": "0f01b811-dcc1-4fdd-9415-9eb8178e33f9",
            "title": "Roots in the Sky",
            "image_url": "https://cdn2.suno.ai/image_0f01b811-dcc1-4fdd-9415-9eb8178e33f9.jpeg",
            "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
            "audio_url": "https://cdn1.suno.ai/0f01b811-dcc1-4fdd-9415-9eb8178e33f9.mp3",
            "video_url": "",
            "created_at": "2026-03-06T14:04:57.708Z",
            "model": "chirp-v4",
            "state": "succeeded",
            "style": "",
            "duration": 240
        },
        {
            "id": "aee36158-fc2f-4a6e-b3c7-8f56f423026b",
            "title": "Roots in the Sky",
            "image_url": "https://cdn2.suno.ai/image_aee36158-fc2f-4a6e-b3c7-8f56f423026b.jpeg",
            "lyric": "(Verse)\nThe weight of the world drifts off like a sigh\nI feel my spirit lift and start to fly\nNo anchor holds me to the ground below\nJust this perfect peace that continues to grow\n(Bridge)\nAnd in this breath between the light and dark\nI find myself unbound, without a mark\nMy roots aren't buried deep within the clay\nThey reach for heaven in this golden sway\nThis weightlessness, this moment pure and true\nIs everything I never knew I knew\n(Chorus)\nBeneath the orange sky\nI let it all go\nThe world feels so high\nAnd I'm down below\nBeneath the orange sky\nWhere dreams start to glow\n(Outro)\nJust the echo of the light\nAnd the quiet of the night\nHolding on to this release\nIn the gentle arms of peace",
            "audio_url": "https://cdn1.suno.ai/aee36158-fc2f-4a6e-b3c7-8f56f423026b.mp3",
            "video_url": "",
            "created_at": "2026-03-06T14:04:57.708Z",
            "model": "chirp-v4",
            "state": "succeeded",
            "style": "",
            "duration": 224.76
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现对一首参考歌曲进行灵感生成的功能。

自定义创建Sounds功能

目前官网最新创建Sounds来辅助生成音乐(不支持跨账号),我们只需要将action设置为sounds,以及sound参数,具体的参数如下图所示:

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

Sound 参数说明

参数名类型是否必填描述示例
sound.descriptionstring描述你想要的音频。这是音频生成的核心输入,也会被用作标题(如果太长会被截断)。"一种丰富且沉浸式的音效,具有深沉的低音、温暖的模拟质感和清晰通透的高频。"
sound.typeenum<string>音频类型。默认为 "one_shot"
可选值:"one_shot", "loop"
"one_shot"
sound.keyenum<string>音乐调性(Key)。如果不填则默认为 "Any"(任意调性)。
可选值:C, C maj, C min, C#, C# maj, C# min, D, D maj, D min, D#, D# maj, D# min, E, E maj, E min, F, F maj, F min, F#, F# maj, F# min, G, G maj, G min, G#, G# maj, G# min, A, A maj, A min, A#, A# maj, A# min, B, B maj, B min
"A min"
sound.bpmnumberBPM / 节奏速度。如果不填则默认为 "Auto"(自动)。
取值范围:1 <= x <= 300
2 (注:通常音乐 BPM 会在 60-200 之间,此为示例)

对应的 Python 代码:

python
import requests

url = "https://api.yoy-ai.com/suno/audios"

headers = {
    "accept": "application/json",
    "authorization": "Bearer {token}",
    "content-type": "application/json"
}

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

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

点击运行,可以发现会得到一个结果,如下:

json
{
    "success": true,
    "task_id": "3be41a27-e237-464a-bbff-8f28cfb3ca81",
    "trace_id": "7081cad3-6c8b-47e4-a17d-9b586cba7c1f",
    "data": [
        {
            "id": "c37ab6b3-477f-4ee7-9f91-a53a345e5e35",
            "title": "A deep bass drop with warm analog texture",
            "image_url": "https://cdn2.suno.ai/image_c37ab6b3-477f-4ee7-9f91-a53a345e5e35.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/c37ab6b3-477f-4ee7-9f91-a53a345e5e35.mp3",
            "video_url": "",
            "created_at": "2026-03-25T16:48:58.752Z",
            "model": "chirp-crow",
            "state": "succeeded",
            "style": "tempo: 120, key: F#, A deep bass drop with warm analog texture",
            "display_style": "",
            "duration": 2.6
        },
        {
            "id": "91fd53e3-3f6e-4851-bc13-57fee3dc86a5",
            "title": "A deep bass drop with warm analog texture",
            "image_url": "https://cdn2.suno.ai/image_91fd53e3-3f6e-4851-bc13-57fee3dc86a5.jpeg",
            "lyric": "",
            "audio_url": "https://cdn1.suno.ai/91fd53e3-3f6e-4851-bc13-57fee3dc86a5.mp3",
            "video_url": "",
            "created_at": "2026-03-25T16:48:58.752Z",
            "model": "chirp-crow",
            "state": "succeeded",
            "style": "tempo: 120, key: F#, A deep bass drop with warm analog texture",
            "display_style": "",
            "duration": 2.4
        }
    ]
}

可以看出,结果内容与上文的是一致的,这也就实现创建Sounds的功能。

异步回调

由于 Suno 生成音乐的时间相对较长,大约需要 1-2 分钟,如果 API 长时间无响应,HTTP 请求会一直保持连接,导致额外的系统资源消耗,所以本 API 也提供了异步回调的支持。

整体流程是:客户端发起请求的时候,额外指定一个 callback_url 字段,客户端发起 API 请求之后,API 会立马返回一个结果,包含一个 task_id 的字段信息,代表当前的任务 ID。当任务完成之后,生成音乐的结果会通过 POST JSON 的形式发送到客户端指定的 callback_url,其中也包括了 task_id 字段,这样任务结果就可以通过 ID 关联起来了。

下面我们通过示例来了解下具体怎样操作。

首先,Webhook 回调是一个可以接收 HTTP 请求的服务,开发者应该替换为自己搭建的 HTTP 服务器的 URL。此处为了方便演示,使用一个公开的 Webhook 样例网站 https://webhook.site/,打开该网站即可得到一个 Webhook URL,如图所示:

将此 URL 复制下来,就可以作为 Webhook 来使用,此处的样例为 https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2。

接下来,我们可以设置字段 callback_url 为上述 Webhook URL,同时填入 prompt,如图所示:

点击运行,可以发现会立即得到一个结果,如下:

{
  "task_id": "44472ab8-783b-4054-b861-5bf14e462f60"
}

稍等片刻,我们可以在 https://webhook.site/03e60575-3d96-4132-b681-b713d78116e2 上观察到生成歌曲的结果,如图所示:

内容如下:

json
{
  "success": true,
  "task_id": "44472ab8-783b-4054-b861-5bf14e462f60",
  "data": [
    {
      "id": "da4324e5-84b2-484b-b0e9-dd261381c594",
      "title": "Winter Whispers",
      "image_url": "https://cdn1.suno.ai/image_da4324e5-84b2-484b-b0e9-dd261381c594.png",
      "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing",
      "audio_url": "https://cdn1.suno.ai/da4324e5-84b2-484b-b0e9-dd261381c594.mp3",
      "video_url": "https://cdn1.suno.ai/da4324e5-84b2-484b-b0e9-dd261381c594.mp4",
      "created_at": "2024-05-11T07:33:05.430Z",
      "model": "chirp-v3",
      "prompt": "A song for Christmas",
      "style": "pop"
    },
    {
      "id": "b878a87b-a0db-4046-8ccd-ecd2fb3d4372",
      "title": "Winter Whispers",
      "image_url": "https://cdn1.suno.ai/image_b878a87b-a0db-4046-8ccd-ecd2fb3d4372.png",
      "lyric": "[Verse]\nSnow falling gently from the sky\nChildren giggling as they pass by\nFire crackling\nCozy and warm\nChristmas spirit begins to swarm\n[Verse 2]\nTwinkling lights\nA sight to behold\nStockings hung\nWaiting to be filled with gold\nGifts wrapped with love\nPiled high\nExcitement in the air\nYou can't deny\n[Chorus]\nWinter whispers in the wind\nJoy and love it brings\nLet's celebrate this season\nWith the ones we're missing",
      "audio_url": "https://cdn1.suno.ai/b878a87b-a0db-4046-8ccd-ecd2fb3d4372.mp3",
      "video_url": "https://cdn1.suno.ai/b878a87b-a0db-4046-8ccd-ecd2fb3d4372.mp4",
      "created_at": "2024-05-11T07:33:05.430Z",
      "model": "chirp-v3",
      "prompt": "A song for Christmas",
      "style": "pop"
    }
  ]
}

可以看到结果中有一个 task_id 字段,其他的字段都和上文类似,通过该字段即可实现任务的关联。

相关错误码信息

下面是有关错误码列表:

状态码error.codeerror.message
400bad_requestPrompt too long.
400bad_requestTags too long.
400bad_requestTitle too long.
403forbiddenThe audio you upload is recognized by suno's copyright detection system as similar to an existing copyrighted work.
403forbiddenTags contained artist name: xxx
403forbiddenSong Description contained artist name: xxx
403forbiddenTags contained artist name: xxx
403forbiddenLyrics contained producer tag: xxx
403forbiddenLyrics contained copyrighted material
403forbiddenThis song doesn't exist or has been taken offline.
403forbiddenThe relevant account has been taken offline because the song was generated too long ago.
403forbiddenThe current song does not currently support xxx.
500api_errorGENERATE_FROM_UPLOAD_FAILED:{\"detail\":\"Insufficient credits.\"}(相关账号积分用完了)
500api_errorThe current internal service is abnormal. Consult the administrator according to trace_id.
500api_errorThe current task queue is too long. Please submit the task later.(请求频率过快)
504timeouttimeout while waiting for audio generation