跳转到主要内容
POST
生成音乐
能力按服务端配置逐项启用。未启用操作返回 503 且不创建任务;音乐积分扣除当前未启用。

调用步骤

写下想表达的内容,用风格或参考素材确定方向;自定义模式可以直接填写歌词。
    1. 按下方示例准备输入,将占位地址和 ID 换成你有权使用的资源。
    1. 将 model 设为 suno_generate,参数放在 input 内。提交一次并保存返回的 task_id。
    1. 查询已保存的任务,或接收回调。任务仍在处理中时继续等待,不重新提交同一操作。
  • 从 result.data.data 读取作品。每首歌曲都有独立的本站 id,后续任务可将其作为 audio_id。

创建任务

将model和input发送到统一任务入口;可在顶层传公开HTTPS callback_url。资源ID均为本账户的本站ID。当前音乐积分扣除未启用。

受理响应

HTTP 200仅表示受理。查询GET /api/v1/tasks/{task_id},直到data.status为succeeded或failed。成功后读取data.result;失败原因位于data.message。

参数速查

输入与限制

下方Schema列出支持字段、类型和基础限制;还须遵守“重要条件”,跨字段与来源资源校验不完全体现在JSON Schema中。未知参数会被拒绝。URL 参数仅接受公开 HTTPS 地址,不接受文件对象。

重要条件

  • 自定义模式须填写非空title,以及style、lyrics、negative_tags中至少一项非空内容。必须省略image_urls、video_urls和audio_urls,空数组也不接受。persona_model须搭配persona_id。
  • 简单模式须有1–10个附件,每个图片/视频/音频URL及非空style、lyrics各计一个;仅prompt不足。必须省略五个控制参数和duration。简单模式的prompt描述音乐、lyrics提供歌词,两者同时使用;自定义模式中lyrics优先于prompt。
  • 参考音频每个6–1800秒、最多500 MiB;图片为JPEG/PNG/WebP/BMP,每个最多10 MiB;视频为MP4/MOV/WebM,最多100 MiB、241秒。audio_weight仅用于自定义且非纯音乐模式。
  • 音频URL必须包含可读且时长大于零的MP3/WAV/FLAC/OGG/M4A/AAC音轨,每个文件最多500 MiB。URL须为可公开读取的HTTPS地址、端口443,不含用户名密码或私网地址,且应持续可访问直到任务结束。
  • 歌曲音频可能为MP3或M4A;需要真正MP3时使用suno_export_mp3。可选封面无法获取时可能为null,不影响音频使用。
  • 上传文件保留24小时,生成文件保留14天,任务详情保留30天;复用文件沿用原到期时间。有效Voice/Persona身份映射与任务日志清理分开处理,请及时下载需长期保存的文件。

结果 Schema

创建响应为 {code:200,msg:“success”,data:{task_id}},轮询 GET /api/v1/tasks/{task_id}。成功时 data.result 为符合下方 Schema 的对象,其他状态为 null;input 仍为 JSON 字符串。
歌曲duration单位为秒,任务duration单位为毫秒;createTime是毫秒Unix时间戳或null。目前stream_audio_url和source_stream_audio_url均为null;source_audio_url/source_image_url与audio_url/image_url指向同一本站托管副本,并非供应商直链。请遍历实际歌曲数组,注册上传音频不代表新生成两首歌曲。

相关流程

Voice 完整四步 文件上传 回调

授权

Authorization
string
header
必填

Every valid key can submit and query its own account. Revoked keys are rejected.

请求体

application/json
model
enum<string>
必填
可用选项:
suno_generate
示例:

"suno_generate"

input
object
必填
callback_url
string<uri>

Optional public HTTPS endpoint for signed completion callbacks; no redirects or private IPs.

响应

Accepted task. Poll the common task endpoint or use callback_url.

code
any
必填
msg
any
必填
data
object
必填