Skip to main content
POST
cURL
Upload audio to Suno to obtain a jobId or music_id for subsequent operations.
  • When is_async = false (synchronous mode): The API will block until processing is complete and will directly return the music_id. โš ๏ธ Since the full processing workflow must complete, this may take a long time. Only upload_mode=default is supported.
  • When is_async = true (asynchronous mode): The API will return a jobId immediately. You need to use this jobId to call the Fetch Task API to retrieve the final upload result asynchronously.
  • upload_mode: Upload mode. Defaults to default when omitted.
    • default: Standard upload, priced at 0.5 quota. Supports sync or async.
    • enhanced: Enhanced upload that can reduce failure rates, priced at 1 quota. Must use async (is_async=true).
See Audio pricing for details.

Authorizations

TT-API-KEY
string
header
required

You can obtain your API key from the TTAPI Dashboard.

Body

application/json
audio_url
string
required

Audio URL. The file must be publicly accessible.

is_async
boolean
default:false

Whether to process asynchronously.

  • false: Wait synchronously for the result.
  • true: Return immediately and query the result asynchronously.

Required to be true when upload_mode=enhanced.

upload_mode
enum<string>
default:default

Upload mode.

  • default: Standard upload, priced at 0.5 quota
  • enhanced: Enhanced upload that can reduce failure rates, priced at 1 quota. Async only; must be used with is_async=true
Available options:
default,
enhanced
hookUrl
string

Callback notification URL

Response

Request successful

status
string
required
Example:

"SUCCESS"

message
string
required
Example:

"success"

data
object
required

When using synchronous upload (is_async=false), the endpoint waits and returns the audio ID directly. This request may take a while.

Example:
Last modified on September 16, 2026