做一首完整的歌
一次生成出来的歌通常只有两三分钟。想要更长的,用续写接龙,最后拼成整曲。1
生成开头
调
suno/music,拿到 music_id。2
接着往下写
调
suno/extend,传上一步的 music_id 和 continue_at(从第几秒接)。续写产生的是片段,不是完整曲目,时长通常只有几十秒。想更长就拿新片段再续一次。3
拼成整曲
调
suno/concat,传续写片段的 music_id。系统会顺着这个片段把整条续写链拼成完整曲目。4
导出
调
suno/download,选 mp3、m4a 或 wav。改编你已有的音频
手里有一段音频,想让它变成另一种风格,或者接着往下写。1
上传
调
suno/upload,传一个公网可直接下载的音频地址,拿到 music_id。这个接口是同步的,会等处理完才返回,通常要一分钟左右,记得把客户端超时放宽。2
改编或续写
- 换风格:
suno/upload-cover - 接着写:
suno/upload-extend
audio_url 即可,系统内部会先把音频准备好。suno/inspo,最多可以给四段参考。
拿到伴奏或人声
1
分离
suno/stems 默认取出主人声,也可以指定其他乐器轨。想一次拆出全部音轨用 suno/stems-all。2
重新配
- 有了人声想配新伴奏:
suno/add-instrumental - 有了伴奏想配新演唱:
suno/add-vocals - 想再叠一条乐器:
suno/add-stem
让不同的歌用同一个嗓音
1
取得音色
- 从已有曲目提取:
suno/persona - 从一段音频克隆:
suno/create-voice
2
用这个音色创作
生成时带上
persona_id,新歌就会用这个嗓音演唱。仅自定义模式有效。suno/create-model,拿 6 到 24 段音频训练一个专属模型。训练较慢,完成后会得到一个模型 ID。
成品的后期处理
歌做好之后,整体调快或调慢用suno/adjust-speed(可以选择保持音高),转成 MIDI 用 suno/gen-midi,要逐句的歌词时间轴(附带整首的波形数据)用 suno/aligned-lyrics。
要等多久
所有动作的提交响应都是同一个形状:返回任务 ID,再用GET /suno/v2/fetch/{task_id} 取结果,或者提交时带 notify_hook 等推送。写一套代码就够,不用按动作分支。
区别只在要等多久。下面这些通常提交完就已经是终态,紧接着查一次就能拿到结果:
suno/upload、suno/persona、suno/gen-midi、suno/aligned-lyrics、suno/upsample-tags
其中 MIDI 和歌词时间轴偶尔要多等一会儿,这时任务显示为进行中,稍后再查即可,只计费一次。
这几个里
suno/upload 的提交请求本身最慢,实测接近一分钟才返回,客户端超时要留够,其余都很快。全部能力
生成新曲
改已有的曲子
用你自己的音频
拆分与重组
调整
导出
音色与模型
分析
关于计费
按次计费,与生成时长、返回条数无关。几点值得知道:- 一次返回多条结果的动作,如果部分失败,按实际成功的条数折算
- 开启
max_mode价格翻倍,它只在自定义模式下有效 - 任务失败会退还本次费用
- 歌词时间轴(
suno/aligned-lyrics)不收费
常见问题
拼接为什么提示无法拼接?
拼接为什么提示无法拼接?
suno/concat 的 music_id 要填续写产生的片段 ID。如果传的是最初生成的那首歌,它没有可拼接的后续片段,会返回 400。上传音频一直超时?
上传音频一直超时?
suno/upload 是同步接口,实测单次接近一分钟。请把客户端超时放宽到 90 秒以上。另外音频地址必须是公网可直接下载的,不能是需要登录的页面。一次生成的两首歌可以都要吗?
一次生成的两首歌可以都要吗?
可以。
musics 数组里的每一条都是完整可用的成品,各自有独立的 music_id,都能继续续写或分轨。模型版本该怎么选?
模型版本该怎么选?
三个版本价格相同。
chirp-v6 均衡,chirp-v6-wild 风格更奔放,chirp-v6-mini 出结果更快。不填默认 chirp-v6。只有生成类动作接受这个参数,其余动作与版本无关。