Skip to main content
POST
Suno music extension from uploaded audio

Important Notes

  • For existing music, suno may fail to upload.
  • Supports two extension modes: simple and custom
  • In simple mode, prompt is required; other optional parameters are optional
  • In custom mode, continue_at, title and tags are required, and lyrics is required if instrumental=false
If you want a quick extension based on the uploaded audio, recommend start with mode=simple.

Extend Music (Simple Mode)

Extend using your uploaded audio file and a short prompt.

Extend Music (Custom Mode)

Custom extension lets you control style and lyrics. Provide title, tags, and lyrics (unless instrumental).

Get Task Result

After submitting a task, use the unified query endpoint to check progress and retrieve results:

Get Suno Task Info

Learn how to query suno task status and retrieve generation results

Authorizations

x-api-key
string
header
required

All APIs require authentication via API Key.

Get API Key:

  1. Visit API Key Management Page to get your API Key

Usage: Add to request header:

x-api-key: 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 in the management page

Body

application/json
model
enum<string>
required

The model name to use for generation. Required field.

  • Must be suno/music-extend-upload for this endpoint
Available options:
suno/music-extend-upload
input
object
required

Input parameters for extending music based on an uploaded audio file.

Rules:

  • audio_url is required and must point to the uploaded audio file.
  • mode=simple: prompt is required.
  • mode=custom: continue_at, title and tags are required.
  • mode=custom and instrumental=false: lyrics is required.
  • model=v4: tags max length is 200 and lyrics max length is 3000.
callback_url
string<uri>

Optional. Callback URL for receiving task completion notifications.

  • System will POST task status and results to this URL when generation completes
  • Callback payloads structure is consistent with the data object returned by the task status query
  • Your callback endpoint should accept POST requests with JSON payload containing results
  • It returns an HTTP 200 status code upon successful receipt
Example:

"https://your-domain.com/api/callback"

Response

Request successful

code
enum<integer>

Response status code

  • 200: Success - Request has been processed successfully
  • 401: Unauthorized - Authentication credentials are missing or invalid
  • 402: Insufficient Credits - Account does not have enough credits to perform the operation
  • 404: Not Found - The requested resource or endpoint does not exist
  • 422: Validation Error - The request parameters failed validation checks
  • 429: Rate Limited - Request limit has been exceeded for this resource
  • 455: Service Unavailable - System is currently undergoing maintenance
  • 500: Server Error - An unexpected error occurred while processing the request
  • 501: Generation Failed - Content generation task failed
  • 505: Feature Disabled - The requested feature is currently disabled
Available options:
200,
401,
402,
404,
422,
429,
455,
500,
501,
505
message
string

Response message, error description when failed

Example:

"success"

data
object