Skip to main content
GET
Suno V6 通用约定与任务查询
所有 Suno 生成、编辑和工具接口都采用异步任务:提交操作后取得 task_id,再通过本页接口查询结果。

认证

string
必填
使用 Bearer Token 认证:Authorization: Bearer <你的 API Key>
访问 API Key 管理页面 获取 API Key。

V6 版本与模型选择

公共模型只支持以下版本:
  • v6
  • v6-wild
  • v6-mini
主生成接口必须提供 version,或提供创建模型任务返回的 custom_model_id。支持版本的编辑操作省略 version 时默认使用 v6。公共 versioncustom_model_id 不能同时发送。
custom: true 表示自定义歌词模式,custom_model_id 表示使用已训练的自定义模型,两者不是同一个概念。使用自定义歌词模式不会自动切换到自定义模型价格档。

通用 V6 生成选项

仅在具体端点列出时发送以下字段: 不支持某字段的操作应完全省略该字段;不要向所有操作统一发送 max_mode: falsevariety 与 Max 模式相互独立,选择 variety: "max" 不会自动开启 Max 计费。

文本与权重限制

操作接口的新请求使用 weirdnessweirdness_constraint 是兼容别名。主生成仍使用 weirdness_constraint。文本长度按 Unicode 字符数计算。

引用源音轨

基于已有作品的操作使用:
  • task_id:产出源音轨的 APIMart 任务 ID。
  • audio_index:源任务查询响应的 data.result.music[] 中的原始位置,从 1 开始,默认 1
返回多少首就按实际数组展示,不要把结果数量固定为 2。即使页面调整了展示顺序,后续操作仍须使用音轨在原始结果中的索引。
新请求统一使用 task_id + audio_index 引用源音轨,不能用 audio_idmusic_idaudio_url 替代。无法解析源任务或索引越界时会返回 400

提交响应

data[0].task_id 读取任务 ID。submitted 只表示任务已受理,不表示已有最终音频或其它产物。

查询任务

GET /v1/music/tasks/{task_id} 可附加 ?language=zh 获取适用的失败信息翻译。该参数不会改变歌曲或歌词语言。
string
必填
提交接口返回的任务 ID。
建议首次等待约 3 秒,之后每 5–10 秒查询一次,直到 data.statuscompletedfailed。页面刷新后可继续使用同一个任务 ID 查询;不要因网络超时自动重发收费的 POST 请求。

查询响应

integer
响应状态码。
object
任务信息。

结果处理

  • 音乐类结果通常位于 data.result.music[],但下载、歌词、MIDI、Persona 和自定义模型等操作有各自的结果结构。
  • duration 是实际时长,允许小数;输入目标时长不保证与成品完全相同。
  • 权重返回值 0 是有效值,不能因为 JavaScript falsy 判断而隐藏。
  • audio_url 不保证使用 .mp3 后缀,请按接口返回的实际 URL 播放或下载。
  • status="unknown" 时保留任务 ID 并允许手动刷新,不要自动创建新任务。
AbortController 只能停止浏览器请求和轮询,不会取消服务器任务。当前接口没有取消已提交 Suno 任务的端点。