文档
音频生成任务
更新于 2026-07-29
接口概览
Suno 音乐生成是异步操作:
- 调用
POST /v1/audios/tasks提交任务 - 保存响应中的公开任务 ID
- 调用
GET /v1/tasks/{task_id}查询状态和结果
Base URL 为 https://api.rokoapi.com/v1,所有请求都要携带 Authorization: Bearer $API_KEY。
可用模型
suno-v3.5suno-v4suno-v4.5suno-v4.5-allsuno-v4.5-plussuno-v5suno-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 省略时默认为 generate,mode 省略时默认为 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 模式下,prompt、lyrics、style 至少提供一项。设置 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"
常见状态包括 queued、in_progress、completed 和 failed。任务完成后,结果中会提供生成音频 URL;建议逐步增加轮询间隔,避免高频查询。
参数
| 参数 | 类型 | 说明 |
|---|---|---|
model | string | Suno 模型 ID,必填 |
action | string | generate 或 extend |
mode | string | 生成模式:easy 或 advanced |
prompt | string | 自然语言歌曲描述 |
lyrics | string | 自定义歌词 |
style | string | 曲风、情绪、乐器等描述 |
instrumental | boolean | 是否生成纯音乐 |
title | string | 歌曲标题 |
vocal_gender | string | 可选的人声偏好 |
continue_clip_id | string | 续写的源片段 ID |
continue_at | number | 从源片段的指定秒数续写,不能为负 |
timeout_ms | integer | 上游任务超时,范围 10,000–7,200,000 毫秒 |
计费
Suno 各版本默认按次计费,当前代码默认价为每次 $0.06。控制台中的模型价格和分组倍率可以覆盖默认值,以定价页显示为准。
与旧版 Suno 接口的区别
/v1/audios/tasks 使用 suno-v* 模型 ID 和统一任务查询接口。旧版 /suno/submit 使用 suno_music、suno_lyrics 等模型名;两套接口和模型名不能混用。
常见错误
400:路径、action、mode 或必填参数不正确403:密钥分组无模型权限或余额不足404:任务 ID 不存在,或模型未在可用渠道中启用502:上游返回无效响应或任务服务暂时不可用