文档

音频生成任务

更新于 2026-07-29

接口概览

Suno 音乐生成是异步操作:

  1. 调用 POST /v1/audios/tasks 提交任务
  2. 保存响应中的公开任务 ID
  3. 调用 GET /v1/tasks/{task_id} 查询状态和结果

Base URL 为 https://api.rokoapi.com/v1,所有请求都要携带 Authorization: Bearer $API_KEY

可用模型

  • suno-v3.5
  • suno-v4
  • suno-v4.5
  • suno-v4.5-all
  • suno-v4.5-plus
  • suno-v5
  • suno-v5.5

实际可用范围以 /v1/models 和密钥所属分组为准。

生成歌曲

curl https://api.rokoapi.com/v1/audios/tasks \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-v5.5",
    "action": "generate",
    "mode": "easy",
    "prompt": "轻快的夏日流行歌曲,女声,带有明亮的吉他"
  }'

action 省略时默认为 generatemode 省略时默认为 easy

进阶模式

{
  "model": "suno-v5.5",
  "action": "generate",
  "mode": "advanced",
  "lyrics": "[Verse]\nWalking through the neon rain...",
  "style": "synth-pop, female vocal, 120 bpm",
  "title": "Neon Rain",
  "instrumental": false
}

advanced 模式下,promptlyricsstyle 至少提供一项。设置 lyrics_model 时还必须提供 prompt

续写片段

{
  "model": "suno-v5.5",
  "action": "extend",
  "continue_clip_id": "clip_123",
  "continue_at": 90,
  "prompt": "进入更有力量的副歌"
}

extend 必须提供 continue_clip_id 和非负的 continue_at

提交响应

提交成功返回 HTTP 202

{
  "id": "task_public_id",
  "object": "audio.generation.task",
  "status": "queued",
  "upstream": "Suno Task API"
}

后续查询始终使用这里的公开 id,不要使用上游内部任务 ID。

查询任务

curl https://api.rokoapi.com/v1/tasks/task_public_id \
  -H "Authorization: Bearer $API_KEY"

常见状态包括 queuedin_progresscompletedfailed。任务完成后,结果中会提供生成音频 URL;建议逐步增加轮询间隔,避免高频查询。

参数

参数类型说明
modelstringSuno 模型 ID,必填
actionstringgenerateextend
modestring生成模式:easyadvanced
promptstring自然语言歌曲描述
lyricsstring自定义歌词
stylestring曲风、情绪、乐器等描述
instrumentalboolean是否生成纯音乐
titlestring歌曲标题
vocal_genderstring可选的人声偏好
continue_clip_idstring续写的源片段 ID
continue_atnumber从源片段的指定秒数续写,不能为负
timeout_msinteger上游任务超时,范围 10,000–7,200,000 毫秒

计费

Suno 各版本默认按次计费,当前代码默认价为每次 $0.06。控制台中的模型价格和分组倍率可以覆盖默认值,以定价页显示为准。

与旧版 Suno 接口的区别

/v1/audios/tasks 使用 suno-v* 模型 ID 和统一任务查询接口。旧版 /suno/submit 使用 suno_musicsuno_lyrics 等模型名;两套接口和模型名不能混用。

常见错误

  • 400:路径、action、mode 或必填参数不正确
  • 403:密钥分组无模型权限或余额不足
  • 404:任务 ID 不存在,或模型未在可用渠道中启用
  • 502:上游返回无效响应或任务服务暂时不可用