Skip to main content
POST
cURL
Use Upload Cover when you already have a public audio URL and want to restyle it without calling Upload and Cover separately.
  • Submit a publicly accessible audio_url. Recommended duration is 8 minutes or less.
  • Store the returned jobId and retrieve the result through Suno Fetch V2 or your hookUrl callback.

Authorizations

TT-API-KEY
string
header
required

You can obtain your API key from the TTAPI Dashboard.

Body

application/json
custom
enum<boolean>
default:true
required

Custom mode. Fixed to true.

Available options:
true
instrumental
boolean
default:false
required

Whether to generate instrumental music. Available in custom mode only.

  • true: Generate instrumental-only music and ignore custom lyrics
  • false: Generate a track with vocals. In custom mode, prompt is required
mv
enum<string>
default:chirp-v6
required

Model to use. Available values: chirp-v6, chirp-v6-wild, chirp-v6-mini. Suno legacy models have all been discontinued; passing a legacy name maps it to chirp-v6. See Model Mapping. After creating a custom model, you can also pass chirp-custom:{model_id}. See Create Model. persona_id and chirp-custom cannot be used together.

Available options:
chirp-v6,
chirp-v6-wild,
chirp-v6-mini
audio_url
string
required

Publicly accessible audio URL to upload and cover. Recommended duration: 8 minutes or less.

prompt
string

Lyrics.

Used in custom mode (custom=true). Required when instrumental is false. The lyrics will be used and sung in the generated track. Maximum length: 5000 characters.

title
string

Music title.

Used in custom mode (custom=true). Maximum length: 80 characters.

tags
string

Music style or genre.

Used in custom mode (custom=true). Maximum length: 1000 characters.

Example:

"rock, blues, hip-hop, r&b"

negative_tags
string

Music styles or genres that should be excluded from generation.

Used in custom mode (custom=true).

style_weight
number

Music style weight, range: 0.00–1.00.

Used in custom mode. Valid range: 0 <= x <= 1.

Example:

0.5

weirdness_constraint
number

Audio creativity (weirdness) weight, range: 0.00–1.00.

Used in custom mode. Valid range: 0 <= x <= 1.

Example:

0.5

audio_weight
number

Audio weight, range: 0.00–1.00.

Used in custom mode. Valid range: 0 <= x <= 1.

Example:

0.5

duration
int

Audio duration, in seconds

Used in custom mode. Valid range: 10 <= x <= 360.

Example:

120

auto_lyrics
boolean
default:false

Whether to automatically generate lyrics. Custom mode only.

  • true: The input lyrics will be creatively rewritten, similar to the inspiration mode prompt effect
  • false: Use the provided lyrics directly to generate the music
vocal_gender
enum<string>

Vocal gender.

  • Male: Male voice

  • Female: Female voice

Available options:
Male,
Female
persona_id
string

Music style ID. Available in both inspiration mode and custom mode.

Cannot be used together with mv=chirp-custom:{model_id}.

variety
enum<string>
default:normal

Style variety. Controls how much the generated result varies from the specified style.

  • off: Exact style
  • normal: Balanced variety
  • high: Distinct styles
  • extra: Bold exploration
  • max: Unreasonably varied
Available options:
off,
normal,
high,
extra,
max
max_mode
boolean
default:false

Whether to use more compute to maximize consistency throughout the song. Custom mode only.

  • false: No (default)
  • true: Yes. Credit consumption is doubled when enabled
audio_format
enum<string>

Audio format of audioUrl after the job succeeds.

Available options:
mp3,
m4a,
wav
Example:

"mp3"

hookUrl
string

Callback notification URL

isStorage
boolean
default:true
deprecated

Whether to store the generated audio.

  • true: The audio will be stored and a TTAPI CDN URL will be returned
  • false: The original source URL will be returned

Response

Request successful

status
string
required
Example:

"SUCCESS"

message
string
required
Example:

"success"

data
object
required
Example:
Last modified on August 25, 2026