Skip to main content
POST
/
v1
/
audios
/
generations
curl --request POST \
  --url https://api.evolink.ai/v1/audios/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "model": "suno-v4.5",
  "prompt": "A cheerful summer pop song about road trips and freedom"
}
'
{
  "created": 1766319090,
  "id": "task-unified-1766319089-oqs9cue4",
  "model": "suno-v5",
  "object": "audio.generation.task",
  "progress": 100,
  "result_data": [
    {
      "result_id": "555f4ea2-cfef-4622-8355-baa5f2ce6a59",
      "duration": 91.2,
      "tags": "R&B",
      "title": "Forget Me Nots",
      "image_url": "https://media.evolink.ai/xxx.jpeg",
      "audio_url": "https://media.evolink.ai/xxx.mp3",
      "stream_audio_url": "https://media.evolink.ai/xxx.mp3"
    }
  ],
  "results": [
    "https://media.evolink.ai/xxx.mp3",
    "https://media.evolink.ai/yyy.mp3"
  ],
  "status": "completed",
  "task_info": {
    "can_cancel": false
  },
  "type": "audio"
}

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 when using:

Authorization: Bearer YOUR_API_KEY

Body

application/json
model
enum<string>
required

Model name

Available options:

  • suno-v4: V4 version, improved vocal quality, up to 4 minutes, prompt max 3000 characters, style max 200 characters
  • suno-v4.5: V4.5 version (Recommended), smarter prompts, faster generation, up to 8 minutes, prompt max 5000 characters, style max 1000 characters
  • suno-v4.5plus: V4.5+ enhanced version, richer tones, new creative methods, up to 8 minutes, prompt max 5000 characters, style max 1000 characters
  • suno-v4.5all: V4.5 full-featured version, smarter prompts, faster generation, up to 8 minutes, prompt max 5000 characters, style max 1000 characters
  • suno-v5: V5 latest version, superior musical expression, faster generation, prompt max 5000 characters, style max 1000 characters
Available options:
suno-v4,
suno-v4.5,
suno-v4.5plus,
suno-v4.5all,
suno-v5
Example:

"suno-v4.5"

custom_mode
boolean
required

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)
Example:

false

instrumental
boolean
required

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: 500 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+

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+: 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
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
Maximum string length: 80
Example:

"Summer Dreams"

negative_tags
string

Excluded styles, specify music styles or features to avoid

Examples:

  • heavy metal, screaming, sad
  • rap, fast tempo
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
Available options:
m,
f
Example:

"f"

style_weight
number

Style weight, controls adherence to the specified style

Range: 0.0 ~ 1.0, one decimal place

Description:

  • Higher values result in closer adherence to specified style
  • Value of 0 is treated as unset
Required range: 0 <= x <= 1
Example:

0.7

weirdness_constraint
number

Weirdness constraint, controls the creativity/experimental degree of the output

Range: 0.0 ~ 1.0, one decimal place

Description:

  • Higher values result in more creative and experimental output
  • Lower values result in more traditional and conservative output
  • Value of 0 is treated as unset
Required range: 0 <= x <= 1
Example:

0.3

audio_weight
number

Audio weight, controls the weight of audio features

Range: 0.0 ~ 1.0, one decimal place

Description:

  • Value of 0 is treated as unset
Required range: 0 <= x <= 1
Example:

0.5

callback_url
string<uri>

HTTPS callback URL for task completion notification

Callback stages:

  • Callback process has three stages: text (text generation), first (first track completed), complete (all completed)
  • In some cases, text and first stages may be skipped, returning complete directly

Security restrictions:

  • Only HTTPS protocol supported
  • Callbacks to internal IP addresses are prohibited
  • URL length must not exceed 2048 characters

Callback mechanism:

  • Timeout: 10 seconds
  • Max 3 retries on failure
  • Callback URL returning 2xx status code 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-v5"

object
enum<string>

Task type

Available options:
audio.generation.task
progress
integer

Task progress percentage (0-100)

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

100

result_data
object[]

Generated music details array, returned when task is completed

results
string<uri>[]

Generated audio URL array, returned when task is completed

Example:
[
"https://media.evolink.ai/xxx.mp3",
"https://media.evolink.ai/yyy.mp3"
]
status
enum<string>

Task status

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

"completed"

task_info
object

Audio task details

type
enum<string>

Task output type

Available options:
audio
Example:

"audio"