Skip to main content
更新日期:2026-08-13
生产验证(2026-08-13 +08:00):suno/generatesuno/coversuno/upload-extend 和补齐资源字段后的 suno/vocal-separation 已通过本站真实任务链路。suno_lyrics 当前不在生产 /v1/models 中;suno/timestamped-lyrics 仍返回上游 Invalid request,暂不承诺稳定可用。

适用范围

这页文档讲的是 Crazyrouter 当前这套 Suno 统一任务模型族:
  • suno/generate
  • suno/extend
  • suno/upload-extend
  • suno/cover
  • suno/timestamped-lyrics
  • suno/vocal-separation
它们不是 OpenAI SDK 的内置方法,应该使用同一个 API Key,通过 Crazyrouter 原生异步任务路径调用:
不要把这套 suno/* 模型当成 client.audio.*client.responses.* 来调。它们当前属于 Crazyrouter 原生任务接口,不是 OpenAI 官方 SDK 的标准音频方法。

基础地址

国际默认入口:
如果你已经在业务里统一使用主站域名,也可以使用:

鉴权

所有请求都使用同一个 Crazyrouter API Key:
如果你要固定打某个已验证渠道,例如 258,当前最稳妥的方式是把渠道后缀拼到 Key 后面:
默认情况下可不指定,走自动路由。

版本参数

Suno 统一任务模型族使用 metadata.model_version,不是老 /suno/submit/music 路由里的 mv 当前可用版本值: 2026-06-24 +08:00 本地对 258 渠道逐个实测,以上 6 个版本在 suno/generate 主链全部成功。

通用提交格式

所有模型都走同一个提交入口:
其中:
  • model 是具体的 Suno 子模型名
  • callBackUrl 可选
  • channel 可选,建议默认 auto
  • prompt 是统一任务接口的必填顶层字段
  • Suno 专用参数放在 metadata 中,本站会转换为上游 input

查询任务

提交后拿到 task_id,再轮询:
典型响应:
下载最终内容:
当前部分 Suno 路由查询结果只稳定返回 task_idstatusurl,不一定总能回出 audioId。如果你的链路依赖派生模型,请先确认上游结果里拿得到所需字段。

模型清单与请求示例

1. suno/generate

文本生成歌曲。 最常用参数:
  • model_version
  • prompt
  • customMode
  • instrumental
  • style
  • title

2. suno/extend

基于已有 Suno 音频继续续写。 最常用参数:
  • model_version
  • audioId
  • continueAt
  • prompt
  • style
  • title
  • instrumental

3. suno/upload-extend

基于外部音频 URL 继续续写。 最常用参数:
  • model_version
  • audioUrl
  • continueAt
  • prompt
  • style
  • title

4. suno/cover

基于已有音频做翻唱或风格改写。 最常用参数:
  • model_version
  • audioUrl
  • customMode
  • instrumental
  • prompt
  • style
  • title
  • vocalGender

5. suno/timestamped-lyrics

获取时间轴歌词。 最常用参数:
  • taskId
  • audioId
当前 258 渠道在 2026-06-24 +08:00 的复测里,timestamped-lyrics 仍不稳定:metadata 写法会返回 400 invalid_requestinput 写法也出现过上游 502。如果你要上线这条能力,先单独做渠道级验证,不要默认它和 generate 一样稳定。

6. suno/vocal-separation

做人声与伴奏分离。 当前最稳妥的参数集合:
  • taskId
  • audioId
  • audioUrl
我们在 2026-06-24 +08:00 的最小修复验证里确认:只传 audioUrl 不够稳,补上 taskId + audioId + audioUrl258 渠道成功。

JavaScript / TypeScript 完整示例

Python 完整示例

常见问题

为什么我能生成,但拿不到 audioId

这通常不是你请求体的问题,而是当前渠道或上游在查询结果里没有把 Suno 原始音频项完整透出。主链 generate 成功,不代表所有派生能力都一定可用。

/suno/submit/music 和这里是什么关系?

老路由是 Crazyrouter 早期保留的 Suno 原生接口;这页写的是当前统一任务模型族,也就是 model: "suno/*" 配合 /v1/video/generations 的接法。新项目优先按这页方式接。

我应该传 mv 还是 model_version

这套统一任务模型族传 metadata.model_version。只有老 /suno/submit/music 才传 mv