Skip to main content
When you upload several files with the single Upload Audio endpoint, each call may land on a different Suno account. That breaks flows that require clips on one account — Inspiration, Create Persona, and similar. Batch Upload Session binds one account at prepare time; every item in that session uploads to the same account.

Workflow

Existing POST /suno/v2/upload is unchanged. Use the session flow only when you need multiple clips on one account.

Step 1 — Create session

Prepare Upload Session — no request body. Response:
  • Synchronous — returns immediately
  • A random available upload account is selected and stored on the session
  • Session task status is success; result.audioIds starts as []

Step 2 — Upload items (concurrent OK)

Upload Session Item — one call per file.
Response:
  • Async — poll GET /suno/v2/status?taskId={itemTaskId} for clip details
  • Submit many items with the same sessionId in parallel; all use the same account
  • On each success, the clip ID is appended to the session’s audioIds
  • Credits per item match a normal upload

Step 3 — Poll progress & aggregated IDs

Per-item status

Success example:

Session aggregate (all clip IDs)

audioIds grows as each item completes. In-flight uploads are not listed yet.

Same-account guarantee


vs Custom Model upload session


Full example

Use returned audioIds directly in Inspiration clip_ids, or for persona / generate tasks that require one account.