Skip to main content
POST
/
suno
/
v2
/
generate
cURL
curl --request POST \
  --url https://api.mountsea.ai/suno/v2/generate \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '
{
  "task": "create",
  "model": "chirp-45+",
  "make_instrumental": false,
  "prompt": "A bright summer pop song about road trips and friends.",
  "continued_aligned_prompt": "Keep the chorus energetic and catchy with harmonies.",
  "infill_lyrics": "Fill in the missing bridge with reflective lines.",
  "gpt_description_prompt": "Upbeat EDM about sunrise and new beginnings.",
  "tags": "Hip-Hop/Rap, Happy, Party",
  "negative_tags": "Sad, Slow",
  "title": "Roadtrip Sunrise",
  "clip_id": "clip_abc123",
  "continue_at": 30,
  "range": {
    "start_s": 10,
    "end_s": 22
  },
  "infill_context_range": {
    "start_s": 10,
    "end_s": 22
  },
  "persona": {
    "persona_id": "persona_xyz789",
    "artist_clip_id": "clip_abc123"
  },
  "controls": {
    "style_weight": 0.6,
    "audio_weight": 0.4,
    "weirdness_constraint": 0.2
  },
  "vocal_gender": "m"
}
'
{
  "taskId": "15c257ff-43f7-4678-bd41-202ad6b8488b"
}

Authorizations

Authorization
string
header
required

Bearer authentication header of the form Bearer <token>, where <token> is your auth token.

Body

application/json
task
enum<string>
required

task type

Available options:
create,
extend,
upload_extend,
upload_cover,
cover,
use_styles_lyrics,
replace_section,
add_instrumental,
add_vocals,
gen_stem_two,
gen_stem_all
Example:

"create"

model
enum<string>
required

model version

Available options:
chirp-v35,
chirp-v40,
chirp-v45,
chirp-45+,
chirp-v45-lite,
chirp-v50
Example:

"chirp-45+"

make_instrumental
boolean
default:false

Whether to make instrumental.

Example:

false

prompt
string

Lyrics prompt. If set, model will compose based on it.

Example:

"A bright summer pop song about road trips and friends."

continued_aligned_prompt
string

Aligned lyrics continuation (recommended for task=replace_section).

Example:

"Keep the chorus energetic and catchy with harmonies."

infill_lyrics
string

Lyrics infill text (used when task=replace_section).

Example:

"Fill in the missing bridge with reflective lines."

gpt_description_prompt
string

Use GPT to generate lyrics; provide only a short description prompt.

Example:

"Upbeat EDM about sunrise and new beginnings."

tags

Song style tags. Either a comma-separated string or an array of strings.

Example:

"Hip-Hop/Rap, Happy, Party"

negative_tags

Negative song style tags. Either a comma-separated string or an array.

Example:

"Sad, Slow"

title
string

Song title.

Example:

"Roadtrip Sunrise"

clip_id
string

clip_id for continuing from existing audio or referencing a base.

Example:

"clip_abc123"

continue_at
number

Continue position in seconds (extend,upload_extend).

Required range: x >= 0
Example:

30

range
object

Target range for replace_section or add_* tasks. end_s should be >= start_s.

Example:
{ "start_s": 10, "end_s": 22 }
infill_context_range
object

only used for task replace_section ,Target range for infill_context_range. end_s should be >= start_s.

Example:
{ "start_s": 10, "end_s": 22 }
persona
object

Artist persona configuration. Provide both 'persona_id' and 'artist_clip_id' to mimic style.

Example:
{
"persona_id": "persona_xyz789",
"artist_clip_id": "clip_abc123"
}
controls
object

Advanced controls via sliders. All values are 0~1. Omit to use defaults.

Example:
{
"style_weight": 0.6,
"audio_weight": 0.4,
"weirdness_constraint": 0.2
}
vocal_gender
enum<string>

Vocal gender.

Available options:
m,
f
Example:

"m"

Response

201 - application/json
taskId
string
required

task id. Use this id to query task status.

Example:

"15c257ff-43f7-4678-bd41-202ad6b8488b"