Skip to main content
POST

Authorizations

Authorization
string
header
required

##All APIs require Bearer Token authentication##

Get API Key:

Visit API Key Management Page to get your API Key

Add to request header:

Body

application/json
model
enum<string>
required

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-v6-beta: V6 (recommended by default), more natural vocals, richer detail and stronger musical expression; supports Persona and custom duration, prompt max 5000 characters, style max 1000 characters; compatible model name: suno-v6
  • suno-v6-mini-beta: V6 Mini, a lightweight, fast version balancing quality and speed; supports Persona, prompt max 5000 characters, style max 1000 characters; compatible model name: suno-v6-mini
  • suno-v6-wild-beta: V6 Wild, bolder, more distinctive styles that push creative boundaries; supports Persona and custom duration, prompt max 5000 characters, style max 1000 characters; compatible model name: suno-v6-wild
  • suno-v5.5-beta: V5.5 with models tailored to your unique taste, prompt max 5000 characters, style max 1000 characters; compatible model name: suno-v5.5
  • suno-v5-beta: V5 version, supports Voice Persona, superior musical expression, faster generation, prompt max 5000 characters, style max 1000 characters
  • suno-v4.5plus-beta: V4.5+ enhanced version, richer tones, new creative methods, up to 8 minutes, prompt max 5000 characters, style max 1000 characters
  • suno-v4.5all-beta: V4.5 full-featured version, smarter prompts, faster generation, up to 8 minutes, prompt max 5000 characters, style max 1000 characters
  • suno-v4.5-beta: V4.5 version, smarter prompts, faster generation, up to 8 minutes, prompt max 5000 characters, style max 1000 characters
  • suno-v4-beta: V4 version, improved vocal quality, up to 4 minutes, prompt max 3000 characters, style max 200 characters
Available options:
suno-v6-beta,
suno-v6-mini-beta,
suno-v6-wild-beta,
suno-v5.5-beta,
suno-v5-beta,
suno-v4.5plus-beta,
suno-v4.5all-beta,
suno-v4.5-beta,
suno-v4-beta
Example:

"suno-v6-beta"

custom_mode
boolean
default:false

Enable custom mode

Description:

  • false: Simple mode, only provide prompt, AI auto-generates lyrics and style
  • true: Custom mode, allows fine control over style, title, lyrics, etc.

Required parameters in custom mode:

  • style: Required
  • title: Required
  • prompt: Required when instrumental=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

Example:

false

instrumental
boolean
default:false

Generate instrumental music (no vocals)

Description:

  • false: Generate music with vocals
  • true: 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, prompt becomes optional
Example:

false

prompt
string

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: 3000 characters

Custom mode (custom_mode=true):

  • Required when instrumental=false, used as exact lyrics
  • Optional when instrumental=true
  • Max length: 3000 characters for V4, 5000 characters for V4.5 and later (including the V6 family)

Lyrics format suggestions:

  • Use tags like [Verse], [Chorus], [Bridge] to organize lyrics structure
Example:

"A cheerful summer pop song about road trips and freedom"

style
string

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 200 characters
  • V4.5 and later (including the V6 family): Max 1000 characters

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.

Example:

"pop, electronic, upbeat, female vocals"

title
string

Song title

Description:

  • Required in custom mode (custom_mode=true)
  • Will be displayed in the player interface and filename
  • Max length: 80 characters

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.

Maximum string length: 80
Example:

"Summer Dreams"

negative_tags
string

Excluded styles, specify music styles or features to avoid

Description:

  • Max length: 200 characters (same for all models)

Examples:

  • heavy metal, screaming, sad
  • rap, fast tempo

Supported only when custom_mode=true; sending it in simple mode has no effect.

Maximum string length: 200
Example:

"heavy metal, screaming"

vocal_gender
enum<string>

Vocal gender preference

Options:

  • m: Male voice
  • f: 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
Available options:
m,
f
Example:

"f"

style_weight
number

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
  • 0 is 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.

Required range: 0 <= x <= 1Must be a multiple of 0.01
Example:

0.7

weirdness_constraint
number

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
  • 0 is a valid value and is sent to the model

Supported only when custom_mode=true; sending it in simple mode has no effect.

Required range: 0 <= x <= 1Must be a multiple of 0.01
Example:

0.3

audio_weight
number

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:

  • 0 is a valid value and is sent to the model

Supported only when custom_mode=true; sending it in simple mode has no effect.

Required range: 0 <= x <= 1Must be a multiple of 0.01
Example:

0.5

persona_id
string

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- and V6-family models (suno-v5-beta / suno-v5.5-beta / suno-v6-beta / suno-v6-mini-beta / suno-v6-wild-beta, including their compatible non--beta names); sending it with any other model returns a parameter error.

Example:

"5c57d49ef834110496fae5aa14fec441"

persona_model
enum<string>

Persona application mode

Options:

  1. style_persona: Style-oriented, emphasizing musical style characteristics (arrangement, rhythm, timbre)
  2. voice_persona: Voice-oriented, emphasizing vocal characteristics (timbre, singing style, voice)

Both modes are available only with V5- and V6-family models (suno-v5-beta / suno-v5.5-beta / suno-v6-beta / suno-v6-mini-beta / suno-v6-wild-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).

Available options:
style_persona,
voice_persona
Example:

"style_persona"

duration
integer

Desired audio duration in seconds

Available only when custom_mode=true and the model is suno-v5.5-beta, suno-v6-beta, suno-v6-mini-beta or suno-v6-wild-beta (or the corresponding compatible name without -beta). The value must be an integer from 10 to 360. Other models and simple mode do not support this parameter; sending it returns a parameter error.

Duration control varies by model (best effort, exact duration is not guaranteed):

  • suno-v6-wild-beta, suno-v5.5-beta: Generally follow the requested duration
  • suno-v6-beta: Set at least 60 seconds; requests below 60 seconds typically still produce about 60 seconds of audio
  • suno-v6-mini-beta: The duration parameter currently has no effect; typically generates about 3 minutes of music

Some tracks returned by the same request may differ from the requested duration. If this parameter is omitted, the model determines the duration (typically 3–6 minutes). Billing is per request and does not depend on the actual duration.

Required range: 10 <= x <= 360
Example:

120

callback_url
string<uri>

HTTPS callback URL for terminal task status

Callback timing:

  • GroAPI sends one callback only when the task reaches a terminal state: completed, failed, or cancelled
  • Upstream intermediate stages such as text and first are 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 2048 characters

Callback mechanism:

  • Per-attempt timeout: 10 seconds
  • Up to 3 retries after the initial request fails
  • A 2xx response is considered successful
Example:

"https://your-domain.com/webhooks/suno-callback"

Response

Music task created successfully

created
integer

Task creation timestamp

Example:

1766319090

id
string

Task ID, used to query task status and results

Example:

"task-unified-1766319089-oqs9cue4"

model
string

Actual model name used

Example:

"suno-v6-beta"

object
enum<string>

Task type

Available options:
audio.generation.task
progress
integer

Task progress percentage (0-100)

Required range: 0 <= x <= 100
Example:

0

status
enum<string>

Task status

Available options:
pending,
processing,
completed,
failed,
cancelled
Example:

"pending"

task_info
object

Audio task details

type
enum<string>

Task output type

Available options:
audio
Example:

"audio"

usage
object

Usage and billing information