Audio
Suno Music audio
Suno AI music generator — high-quality songs with vocals, chorus and structure. Lyrics auto-written or supplied.
Category: Music · suno-ai-music
How to use & limits
- Generates full songs with vocals, chorus and structure from text.
- custom_mode false: only prompt is needed (up to 500 characters, auto lyrics).
- custom_mode true: style and title become required and prompt is used as lyrics.
- make_instrumental yields no vocals; vocal_gender (auto/male/female) only matters with vocals.
- model_version: v5_5 (default), v5, v4_5plus, v4_5all, v4_5 or v4; weights (style/audio/weirdness) 0 to 1.
Capabilities
What this model supports, straight from the schema — no pricing, no infrastructure detail.
| Capability | Value |
|---|---|
music Music | Yes |
lyrics_input Lyrics input | Yes |
reference_audio Reference audio | — |
max_prompt_length Max prompt length | 5000 |
instrumental_toggle Instrumental toggle | Yes |
Parameters
Fields accepted in params (or first-class, where applicable) for POST /generations.
| Name | Label | Type | Required | Default | Options | Min / Max | Description |
|---|---|---|---|---|---|---|---|
vocal_gender | Vocal Gender | select | Optional | auto | auto · male · female | — | Vocal preference: auto (default), male or female (only increases probability). |
style_weight | Style Weight | number | Optional | — | — | 0 – 1 | Strength of style adherence, 0 to 1. |
weirdness_constraint | Weirdness Constraint | number | Optional | — | — | 0 – 1 | Degree of creative deviation, 0 to 1. |
audio_weight | Audio Weight | number | Optional | — | — | 0 – 1 | Balance weight for audio features, 0 to 1. |
negative_tags | Negative Tags | text | Optional | — | — | — | Styles or characteristics to exclude from generation. |
persona_id | Persona Id | text | Optional | — | — | — | Persona id to apply (custom mode only). |
make_instrumental | Make Instrumental | boolean | Optional | false | — | — | When on, generates a track without vocals. |
prompt | Prompt | textarea | Required | — | — | — | Song idea, or in custom mode the exact lyrics. |
style | Style / genre | text | Optional | — | — | — | Style/genre; required in custom mode. |
title | Title | text | Optional | — | — | — | Track title; required in custom mode. |
model_version | Version | select | Optional | v5_5 | v5_5 · v5 · v4_5plus · v4_5all · v4_5 · v4 | — | Version: v5_5 (default), v5, v4_5plus, v4_5all, v4_5 or v4. |
custom_mode | Custom Mode | boolean | Optional | false | — | — | When on, enables full control (style and title required). |
Example request
curl -X POST https://caranguejo.art/api/v1/dev/generations \
-H "Authorization: Bearer $CK" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-ai-music",
"prompt": "An upbeat song about summer love and beach sunsets.",
"params": {
"model_version": "v5_5",
"custom_mode": false,
"make_instrumental": false,
"vocal_gender": "auto"
}
}'
const res = await fetch("https://caranguejo.art/api/v1/dev/generations", {
method: "POST",
headers: {
"Authorization": "Bearer " + process.env.CK,
"Content-Type": "application/json",
},
body: JSON.stringify({
"model": "suno-ai-music",
"prompt": "An upbeat song about summer love and beach sunsets.",
"params": {
"model_version": "v5_5",
"custom_mode": false,
"make_instrumental": false,
"vocal_gender": "auto"
}
}),
});
const { data } = await res.json();
Example response
{
"id": "9f0c1a7e-…",
"object": "generation",
"model": "suno-ai-music",
"type": "audio",
"status": "completed",
"output": {
"assets": [
{
"url": "https://media.caranguejo.art/outputs/example.mp3",
"type": "audio"
}
]
}
}
The job's real cost is returned as credits_charged on the completed response — check GET /balance for the account balance.
Common errors for this job type:
insufficient_credits | Account balance can't cover the job cost. |
content_policy_violation | Prompt or media rejected by content policy. |
generation_timeout | The job exceeded the maximum processing time. |
rate_limited | Too many requests per minute. |
invalid_input | A required parameter is missing or outside the model's schema. |
generation_failed | Generic processing failure. |