Suno Music Generation Beta
- Suno AI music generation model, supports generating complete music based on text descriptions or lyrics
- Supports custom mode (fine control over style, title, lyrics) and simple mode (AI auto-generation)
- Supports Persona for reusable vocal/style characteristics
- Asynchronous processing mode, use the returned task ID to query status
- Generated audio links are valid for 72 hours, please save them promptly
- Each request generates multiple music variations
Authorizations
##All APIs require Bearer Token authentication##
Get API Key:
Visit API Key Management Page to get your API Key
Add to request header:
Body
Model name
Backward compatibility: Previously integrated model names (e.g. suno-v5, suno-v4.5, suno-v4.5plus, suno-v4.5all, suno-v4) are still supported and will be automatically mapped to the corresponding -beta versions
Available options:
suno-v5.5-beta: V5.5 with models tailored to your unique taste, prompt max5000characters, style max1000characters; compatible model name:suno-v5.5suno-v5-beta: V5 latest version (default recommended), supports Voice Persona, superior musical expression, faster generation, prompt max5000characters, style max1000characterssuno-v4.5plus-beta: V4.5+ enhanced version, richer tones, new creative methods, up to 8 minutes, prompt max5000characters, style max1000characterssuno-v4.5all-beta: V4.5 full-featured version, smarter prompts, faster generation, up to 8 minutes, prompt max5000characters, style max1000characterssuno-v4.5-beta: V4.5 version, smarter prompts, faster generation, up to 8 minutes, prompt max5000characters, style max1000characterssuno-v4-beta: V4 version, improved vocal quality, up to 4 minutes, prompt max3000characters, style max200characters
suno-v5.5-beta, suno-v5-beta, suno-v4.5plus-beta, suno-v4.5all-beta, suno-v4.5-beta, suno-v4-beta "suno-v5-beta"
Enable custom mode
Description:
false: Simple mode, only provideprompt, AI auto-generates lyrics and styletrue: Custom mode, allows fine control overstyle,title, lyrics, etc.
Required parameters in custom mode:
style: Requiredtitle: Requiredprompt: Required wheninstrumental=false(used as lyrics)
Simple mode (custom_mode=false) supports only prompt:
style, title, negative_tags, vocal_gender, style_weight, weirdness_constraint, audio_weight, persona_id, persona_model, duration are all unsupported in this mode. The API is not guaranteed to reject them, but they have no effect whatsoever on the generated result — use custom_mode=true if you need fine-grained control
false
Generate instrumental music (no vocals)
Description:
false: Generate music with vocalstrue: Generate instrumental/background music without vocals
Note:
- In non-custom mode, this parameter doesn't affect required fields
- In custom mode, when set to
true,promptbecomes optional
false
Prompt describing the desired music content
Non-custom mode (custom_mode=false):
- Required, serves as music description, AI auto-generates lyrics and style
- Max length:
500characters
Custom mode (custom_mode=true):
- Required when
instrumental=false, used as exact lyrics - Optional when
instrumental=true - Max length:
3000characters for V4,5000characters for V4.5+
Lyrics format suggestions:
- Use tags like
[Verse],[Chorus],[Bridge]to organize lyrics structure
"A cheerful summer pop song about road trips and freedom"
Music style specification
Description:
- Required in custom mode (
custom_mode=true) - Defines the genre, mood, or artistic direction of the music
- Recommended to use comma-separated tags in English
Character limits:
- V4: Max
200characters - V4.5+: Max
1000characters
Common style tags:
- Genres: pop, rock, jazz, classical, electronic, hip-hop, r&b, country, folk
- Moods: happy, sad, energetic, calm, romantic, dark, uplifting
- Instruments: piano, guitar, drums, bass, violin, saxophone, synthesizer
- Vocals: male vocals, female vocals, choir, harmonies
- Tempo: slow, fast, upbeat, groovy, 120bpm
Unsupported in simple mode (custom_mode=false): in that mode the style is generated automatically by the AI from prompt, so sending this parameter has no effect.
"pop, electronic, upbeat, female vocals"
Song title
Description:
- Required in custom mode (
custom_mode=true) - Will be displayed in the player interface and filename
- Max length:
80characters
Unsupported in simple mode (custom_mode=false): in that mode the title is generated automatically by the AI, so sending this parameter has no effect.
80"Summer Dreams"
Excluded styles, specify music styles or features to avoid
Description:
- Max length:
200characters (same for all models)
Examples:
heavy metal, screaming, sadrap, fast tempo
Supported only when custom_mode=true; sending it in simple mode has no effect.
200"heavy metal, screaming"
Vocal gender preference
Options:
m: Male voicef: Female voice
Note:
- Only effective when
custom_mode=true - This parameter only increases the probability, cannot guarantee the specified gender will be followed
- Unsupported in simple mode (
custom_mode=false); sending it has no effect
m, f "f"
Style weight, controls adherence to the specified style
Range: 0.0 ~ 1.0, up to two decimal places and a multiple of 0.01
Description:
- Higher values result in closer adherence to the specified style
0is a valid value, means no adherence to the specified style, and is sent to the model
Supported only when custom_mode=true; sending it in simple mode has no effect.
0 <= x <= 1Must be a multiple of 0.010.7
Weirdness constraint, controls the creativity/experimental degree of the output
Range: 0.0 ~ 1.0, up to two decimal places and a multiple of 0.01
Description:
- Higher values result in more creative and experimental output
- Lower values result in more traditional and conservative output
0is a valid value and is sent to the model
Supported only when custom_mode=true; sending it in simple mode has no effect.
0 <= x <= 1Must be a multiple of 0.010.3
Audio weight, controls the weight of audio features
Range: 0.0 ~ 1.0, up to two decimal places and a multiple of 0.01
Description:
0is a valid value and is sent to the model
Supported only when custom_mode=true; sending it in simple mode has no effect.
0 <= x <= 1Must be a multiple of 0.010.5
Persona ID to apply a previously created Persona style to this music generation
Only available when custom_mode=true. Obtained via the Suno Persona Creation API, preserves consistent vocal and style characteristics
How to obtain: After the Persona creation task completes, retrieve from result_data.persona_id
Unsupported in simple mode (custom_mode=false).
Only supported by V5-family models (suno-v5-beta / suno-v5.5-beta, including their compatible non--beta names); sending it with any other model returns a parameter error.
"5c57d49ef834110496fae5aa14fec441"
Persona application mode
Options:
style_persona: Style-oriented, emphasizing musical style characteristics (arrangement, rhythm, timbre)voice_persona: Voice-oriented, emphasizing vocal characteristics (timbre, singing style, voice)
Both modes are available only with V5-family models (suno-v5-beta / suno-v5.5-beta, including their compatible non--beta names) and require custom_mode=true. It must be used together with persona_id: sending persona_model on its own without persona_id has no effect (persona_id may be used on its own).
style_persona, voice_persona "style_persona"
Requested audio duration in seconds
Available only when the model is suno-v5.5-beta (or compatible name suno-v5.5) and custom_mode=true. Must be an integer from 10 to 360. When omitted, the upstream default is 20 seconds. Other models and simple mode do not support it; sending it returns a parameter error.
10 <= x <= 360120
HTTPS callback URL for terminal task status
Callback timing:
- GroAPI sends one callback only when the task reaches a terminal state:
completed,failed, orcancelled - Upstream intermediate stages such as
textandfirstare not forwarded - The callback body matches the task detail structure returned by
GET /v1/tasks/{id}
Security restrictions:
- HTTPS only
- Callbacks to internal IP addresses are prohibited
- URL length must not exceed
2048characters
Callback mechanism:
- Per-attempt timeout:
10seconds - Up to
3retries after the initial request fails - A 2xx response is considered successful
"https://your-domain.com/webhooks/suno-callback"
Response
Music task created successfully
Task creation timestamp
1766319090
Task ID, used to query task status and results
"task-unified-1766319089-oqs9cue4"
Actual model name used
"suno-v5-beta"
Task type
audio.generation.task Task progress percentage (0-100)
0 <= x <= 1000
Task status
pending, processing, completed, failed, cancelled "pending"
Audio task details
Task output type
audio "audio"
Usage and billing information