POST
/
api
/
v1
/
generate
/
upload-cover
Upload And Cover Audio
curl --request POST \
  --url https://api.sunoapi.org/api/v1/generate/upload-cover \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "uploadUrl": "https://storage.example.com/upload",
  "prompt": "A calm and relaxing piano track with soft melodies",
  "style": "Classical",
  "title": "Peaceful Piano Meditation",
  "customMode": true,
  "instrumental": true,
  "model": "V3_5",
  "negativeTags": "Heavy Metal, Upbeat Drums",
  "callBackUrl": "https://api.example.com/callback"
}'
{
  "code": 200,
  "msg": "success",
  "data": {
    "taskId": "5c79****be8e"
  }
}

Parameter Usage Guide

  • When customMode is true (Custom Mode):
    • If instrumental is true: style, title and uploadUrl are required
    • If instrumental is false: style, prompt, title and uploadUrl are required
    • prompt length limit: 3000 characters
    • style length limit: 200 characters
    • title length limit: 80 characters
    • uploadUrl is used to specify the upload location of the audio file; ensure the uploaded audio does not exceed 2 minutes in length.
  • When customMode is false (Non-custom Mode):
    • Only prompt and uploadUrl are required regardless of instrumental setting
    • prompt length limit: 400 characters
    • Other parameters should be left empty

Developer Notes

  1. Recommended settings for new users: Set customMode to false, instrumental to false, and only provide prompt and uploadUrl. This is the simplest configuration to quickly test the API and experience the results.
  2. Generated files will be deleted after 15 days
  3. Ensure all required parameters are provided based on customMode and instrumental settings to avoid errors
  4. Pay attention to character limits for prompt, style, and title to ensure successful processing
  5. Callback process has three stages: text (text generation complete), first (first track complete), complete (all tracks complete)
  6. You can use the Get Music Generation Details endpoint to actively check task status instead of waiting for callbacks
  7. The uploadUrl parameter is used to specify the upload location of the audio file; please provide a valid URL.

Authorizations

Authorization
string
header
required

🔑 API Authentication

All endpoints require authentication using Bearer Token.

Get API Key

  1. Visit the API Key Management Page to obtain your API Key

Usage

Add to request headers:

Authorization: Bearer YOUR_API_KEY

⚠️ Note:

  • Keep your API Key secure and do not share it with others
  • If you suspect your API Key has been compromised, reset it immediately from the management page

Body

application/json

Response

200
application/json

Request successful

The response is of type object.