---
title: "POST /suno/v1/upload"
method: POST
path: "/suno/v1/upload"
---

# POST /suno/v1/upload

`POST /suno/v1/upload`

## Request body

- object
  - `audio_url` string, required — Audio URL. The file must be publicly accessible.
  - `is_async` boolean — Whether to process asynchronously. - `false`: Wait synchronously for the result. - `true`: Return immediately and query the result asynchronously.
  - `hookUrl` string — Callback notification URL

## Response `200`

Request successful

- object
  - `status` string, required
  - `message` string, required
  - `data` union, required
    - object — When using synchronous upload (`is_async=false`), the endpoint waits and returns the audio ID directly. This request may take a while.
    - object — When using asynchronous upload (`is_async=true`), the endpoint returns a task ID immediately. Query the upload result later using `jobId`.

## Other responses

- `400` — Parameter error
- `401` — Authorization failed

---

[API](https://skmtc.net/ttapi/apis/flowmusic-api-docs.md) · [All operations](https://skmtc.net/ttapi/apis/flowmusic-api-docs/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/ttapi/flowmusic-api-docs/versions/f27f8a59dbd0/schema)
