Music Generation
Suno music generation endpoint (submit a song generation task)
The Suno music generation endpoint. Submit a song generation task via POST /suno/submit/MUSIC (custom lyrics mode or description mode). The interface is async: on success it returns a task_id (prefixed with task_); poll the Query Result endpoint with that ID until status becomes SUCCESS to fetch the final audio URL.
Billing model
This endpoint is billed per submitted action under the model name suno_music, deducted from your account balance. Add the models first on the channel (select channel type TTAPI and add suno_music and suno_lyrics).
Two generation modes
The request body has no model field — the mode is chosen by the parameters:
- Custom lyrics mode: fill in
prompt(the lyrics), optionallytitleandtags(style tags). Providingpromptenables this mode; - Description mode: omit
promptand providegpt_description_promptinstead (a description such as "night city lo-fi piano"), letting the upstream generate lyrics and compose the song automatically.
Other common parameters: make_instrumental (instrumental-only track) and mv (model version).
mv model versions
Supported values: chirp-v5-5, chirp-v5, chirp-v4-5+, chirp-v4-5, chirp-v4-5-all, chirp-v4, chirp-v3-5, chirp-v3-0. Defaults to chirp-v5; you can also map suno_music to a fixed version in the channel's model mapping.
Extend an existing song
MUSIC only creates new songs and does not accept task_id, continue_clip_id, or continue_at. Use EXTEND or UPLOAD_EXTEND on the Edit and Extend page instead.
Authorization
BearerAuth
使用 Bearer Token 认证。
格式: Authorization: Bearer sk-xxxxxx
令牌需开通对应模型的调用权限。
In: header
Request Body
application/json
歌词正文(自定义歌词模式)。提供后自动进入自定义歌词模式
灵感描述(灵感描述模式)。不提供 prompt 时必填,例如「城市夜景 Lo-Fi 钢琴」
歌曲标题(自定义歌词模式,最长 80 字符)
风格标签,逗号分隔(自定义歌词模式)
true 生成纯音乐(不带人声)
显式指定自定义歌词模式;纯器乐请求可与 instrumental=true 一起使用
是否生成纯音乐;优先于兼容字段 make_instrumental
模型版本。可选:chirp-v5-5、chirp-v5、chirp-v4-5+、chirp-v4-5、chirp-v4-5-all、chirp-v4、chirp-v3-5、chirp-v3-0。默认 chirp-v5
不希望出现的风格标签
0 <= value <= 10 <= value <= 10 <= value <= 110 <= value <= 360"Male" | "Female""mp3" | "m4a" | "wav"任务完成回调地址
Response Body
application/json
application/json
curl -X POST "https://www.omwai.xyz/suno/submit/MUSIC" \ -H "Content-Type: application/json" \ -d '{ "prompt": "[Verse]\nNeon headlights on a rainy street\n[Chorus]\nWe are the midnight drive", "title": "Midnight Drive", "tags": "synthwave, female vocal, cinematic", "mv": "chirp-v5" }'{
"code": "success",
"message": "success",
"data": "task_01J8ABCDEFGHIJKLMNOPQRST"
}{
"code": "invalid_request",
"message": "string"
}Async flow
POST /suno/submit/MUSICsubmits and returnscode=successwithdata(task_id, prefixed withtask_);- Poll
GET /suno/fetch/{task_id}with thattask_id; - When
status=SUCCESS,result_urlholds the final audio URL anddatacontains the song details; whenFAILURE,fail_reasonexplains why.
How is this guide?
Last updated on