Theme
Report Upload Complete
POST
https://www.kkiai.com/suno/uploads/audio/{id}/upload-finish
┌─────────────────────────────────────────────────────────────────┐
│ Step 1: Request upload authorization │
│ POST /suno/uploads/audio │
│ ↓ Returns: upload_id, upload_url │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Step 2: Upload file to S3 (direct client connection, not through API) │
│ PUT {upload_url} │
│ ↓ Upload audio file │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Step 3: Report upload complete │
│ POST /suno/uploads/audio/{id}/upload-finish │
│ ↓ Notify server that file has been uploaded │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Step 4: Poll upload status (until status is completed) │
│ GET /suno/uploads/audio/{id} │
│ ↓ Query every 2-3 seconds │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Step 5: Initialize audio clip │
│ POST /suno/uploads/audio/{id}/initialize-clip │
│ ↓ Returns: clip_id │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
│ Step 6: Create continuation task using clip_id │
│ POST /suno/submit/music │
│ ↓ Returns: task_id (billing starts) │
└─────────────────────────────────────────────────────────────────┘
Request Parameters
Authorization
Add the Authorization parameter to the Header. Its value is the Token concatenated after Bearer.
Example: Authorization: Bearer ********************
Path Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Required |
Body Parameters (application/json)
| Parameter | Type | Required | Description |
|---|---|---|---|
upload_type | string | Required | |
upload_filename | string | Required |
Request Example
json
{
"upload_type": "file_upload",
"upload_filename": "my_audio.mp3"
}Response
🟢 200 Success
Response Example
json
{}