Skip to main content
POST

Authorizations

string
required
All endpoints require authentication using a Bearer TokenGet an API Key:Visit the API Key management page to get your API KeyAdd the following to the request headers when using it:

Body

string
default:"suno"
Audio model. Currently pass suno (defaults to suno if omitted).
array
required
An array of 1–4 publicly accessible audio URLs.
string
default:"v6"
Public version: v6 / v6-wild / v6-mini. Defaults to v6; omit this field when using custom_model_id.
string
The full UUID returned by the model-creation task. Mutually exclusive with version.
string
Lyrics / content.
string
Title.
string
Style tags.
string
Style tags to exclude.
number
Style weight, 0.00–1.00.
number
Creativity weight, 0.00 – 1.00. Compatible with the old name weirdness_constraint; new requests should use weirdness.
number
Audio weight, 0.00–1.00.
string
Vocal gender: Male / Female.
boolean
true=rewrite the provided lyrics creatively.
string
Style variation: off / normal / high / extra / max. Optional.
boolean
default:"false"
Enables Max mode and is billed at twice the standard price.
string
Output audio format: mp3 / m4a / wav.
This interface accepts 1–4 publicly accessible audio links, and does not send the custom, instrumental, gpt_description, persona_id tokens or the duration field.
Get Result: This is an asynchronous task. After submission, you will receive task_id and then poll GET /v1/music/tasks/{task_id} every 3–5 seconds until status becomes completed or failed (music generation usually takes 30–120 seconds; while generation is in progress, status may be pending or processing, and progress is an integer from 0 to 100 and is not guaranteed to change at fixed intervals). Once completed, read audio_url from data.result.music[]. In case of failure, data.error.message provides the reason and the deducted amount will be automatically refunded.

Response

integer
Response status code
array
Returned data array