Request to upload authorization
Developing
┌─────────────────────────────────────────────────────────────────┐
Step 1: Request Upload Authorization
│ POST /suno/uploads/audio │
│ ↓ Returns: upload_id, upload_url │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
Step 2: Upload files to S3 (direct client connection, without API)
│ PUT {upload_url} │
Upload audio file │ ↓
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
Step 3: Report uploaded successfully.
│ POST /suno/uploads/audio/{id}/upload-finish │
│ ↓ Notification server that file has been uploaded │
└─────────────────────────────────────────────────────────────────┘
↓
┌── ───────────────────────────────────────────────────────────────┐
Step 4: Poll the upload status (until the status is "completed")
│ GET /suno/uploads/audio/{id} │
│ ↓ Query every 2-3 seconds │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
Step 5: Initialize the audio clip
│ POST /suno/uploads/audio/{id}/initialize-clip │
│ ↓ Returns: clip_id │
└─────────────────────────────────────────────────────────────────┘
↓
┌─────────────────────────────────────────────────────────────────┐
Step 6: Create a continuation task using clip_id |
│ POST /suno/submit/music │
│ ↓ Returns: task_id (Billing Started) │
└─────────────────────────────────────────────────────────────────┘
Request
Body Params application/json
Request Code Samples
curl --location '/suno/uploads/audio' \
--header 'Content-Type: application/json' \
--data '{
"extension": "mp3"
}'
Responses
application/json
{
"id": "f208ab1f-e93a-4417-b089-e7fc38b50268",
"url": "https://suno-uploads.s3.amazonaws.com/",
"fields": {
"Content-Type": "audio/mpeg",
"key": "raw_uploads/f208ab1f-e93a-4417-b089-e7fc38b50268.mp3",
"AWSAccessKeyId": "AKIA2V4GXGDKLZ43MUG7",
"policy": "eyJleHBpcmF0aW9uIjogIjIwMjYtMDEtMDZUMDM6Mjg6MjlaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDUyNDI4ODAwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9mMjA4YWIxZi1lOTNhLTQ0MTctYjA4OS1lN2ZjMzhiNTAyNjgubXAzIn1dfQ==",
"signature": "tevxOl3SW28afyLyzObeCYzIvWI="
},
"is_file_uploaded": false
}
Modified at 2026-09-23 08:28:57