跳转到主要内容
若多次调用单独的 上传音频,每次可能落在不同 Suno 账号,后续无法用于需要同账号的操作(如 Inspiration创建 Persona 等)。 批量上传 Session 在 prepare 阶段锁定一个账号,该 session 内所有 item 均上传到同一账号

流程概览

Step 1: POST /suno/v2/audio/upload/session
        → sessionId(同步选定账号)

Step 2: POST /suno/v2/audio/upload/session/item  (×N,可并发)
        → 每个文件一个 taskId(异步)

Step 3: GET /suno/v2/status?taskId={sessionId}
        → 聚合的 audioIds[]
步骤接口类型说明
1POST /suno/v2/audio/upload/session同步选账号,返回 sessionId
2POST /suno/v2/audio/upload/session/item异步 × N在绑定账号上传单个文件
3GET /suno/v2/status?taskId={sessionId}查询data.audioIds 为全部 clip ID
现有 POST /suno/v2/upload 不受影响。仅在需要多个 clip 同账号时使用 Session 流程。

Step 1 — 创建 Session

准备上传 Session — 无请求体。 响应:
{
  "sessionId": "f259907e-32dd-468d-95f9-e3c0baf4f01c"
}
  • 同步返回
  • 内部随机选一个可用上传账号并绑定到 session
  • Session 任务状态为 successresult.audioIds 初始为 []

Step 2 — 上传音频(可并发)

上传 Session Item — 每个文件调用一次。
{
  "sessionId": "f259907e-32dd-468d-95f9-e3c0baf4f01c",
  "audioUrl": "https://example.com/audio.mp3"
}
响应:
{
  "taskId": "833c3d28-7948-42b8-9d4c-4c145bddfbf5"
}
  • 异步 — 用 item 的 taskId 轮询 查询任务状态
  • 同一 sessionId 可并发提交多个 item,共用同一账号
  • 每个 item 成功后,clip ID 自动追加到 session 的 audioIds
  • 单次上传积分与普通上传相同

Step 3 — 查询进度与聚合结果

单个 item 进度

GET /suno/v2/status?taskId={itemTaskId}
成功示例:
{
  "taskId": "833c3d28-...",
  "status": "success",
  "data": {
    "id": "e9fe2c0e-189d-4a0a-9f4d-354b1c47b99c",
    "status": "complete",
    "audio_url": "https://cdn1.suno.ai/....mp3",
    "image_url": "https://cdn2.suno.ai/....jpeg",
    "has_vocal": true,
    "display_tags": "indie pop, electronic pop, male vocals"
  }
}

Session 聚合(全部 clip ID)

GET /suno/v2/status?taskId={sessionId}
{
  "taskId": "f259907e-...",
  "status": "success",
  "data": {
    "audioIds": [
      "e9fe2c0e-189d-4a0a-9f4d-354b1c47b99c",
      "4595e4da-af12-4c24-a013-9cfd11db7d50"
    ]
  }
}
audioIds 随每个 item 完成实时追加;进行中的 item 不会出现在列表中。

同账号保证机制

prepare  →  随机选账号 → session.accountId = 500046

item 创建  →  task.accountId = session.accountId(创建时写死)

item 执行  →  pickAccount(ById, 500046) + 行锁,绝不切换账号

与 Custom Model 上传对比

Custom Model 上传批量上传 Session(本功能)
账号专用定制模型账号随机可用上传账号
后续customModelCreate 训练无,audioIds 可直接使用
场景训练 chirp-custom:<uuid>Persona、Inspiration 等通用同账号场景
prepare 后 session 状态READY(等待 create)success(prepare 即终态)

完整示例

curl -X POST https://api.mountsea.ai/suno/v2/audio/upload/session \
  -H "Authorization: Bearer your-api-key"
将返回的 audioIds 用于 Inspirationclip_ids,或其它需要同账号的生成/角色流程。