音乐

创建音乐

使用 Suno 创建音乐生成任务

POST
/v1/music/generations

生成音乐或歌词。创建成功后会返回任务 ID,通过状态 API 获取最终结果。

请求体

modelstring默认值: suno_music

音乐模型 ID,例如 suno-music。仅生成歌词时,请选择当前公开操作包含 lyrics 的模型。

promptstring

音乐描述或替换文本。音乐、歌词、upload-cover、upload-extend 和 replace-section 请求必填;add-instrumental 和分轨请求可省略。

titlestring

生成歌曲的标题。

tagsstring

风格标签(例如 "pop, upbeat, electronic")。

negative_tagsstring

需要避开的风格。audio_operation 为 add-instrumental 时必填。

actionstring

可选值为 MUSIC 或 LYRICS。请选择支持对应公开操作的模型;此字段不会让仅支持音乐的模型具备歌词能力。

mvstring

Suno 版本选择器。生成、upload-cover、upload-extend、add-instrumental 以及以 audio_url 为源的替换请求必填。歌词、以 task_id + audio_id 为源的替换和分轨请求请省略。支持值: chirp-v3-5, chirp-v4, chirp-v4-5, chirp-v4.5, chirp-v4-5plus, chirp-v4.5plus, chirp-v4-5all, chirp-v4.5all, chirp-v5, chirp-v5-5, chirp-v5.5.

make_instrumentalboolean

设为 true 时生成无歌声的纯音乐。

audio_urlstring

可以从互联网访问的参考音频 URL。填写这个字段但省略 audio_operation 时,默认使用 upload-cover。

audio_operationstring

音频操作: upload-cover, upload-extend, add-instrumental, replace-section, vocal-separate, multi-stem-separation, advanced-split.

vocal-separate、multi-stem-separation 和 advanced-split 需要 task_id + audio_id;advanced-split 还需要 stem_name。upload-extend 需要大于 0 的 continue_at。add-instrumental 需要 audio_url、title、tags 和 negative_tags。

replace-section 必须提供 prompt、tags、title、infill_start_s、infill_end_s 和 full_lyrics。来源只能二选一:task_id + audio_id,或 audio_url + mv。替换区间必须为 6–60 秒。

task_idstring

本组织拥有的源任务 ID,用于生成音频的分段替换或分轨。

audio_idstring

源任务结果返回的音频 ID。替换已生成音频和分轨时,需要与 task_id 一起提供。

infill_start_snumber

替换区间的起始秒数,必须大于等于 0。replace-section 必填。

infill_end_snumber

替换区间的结束秒数。replace-section 必填,必须比 infill_start_s 晚 6–60 秒。

full_lyricsstring

结果歌曲的完整歌词。replace-section 必填。

stem_namestring

分轨名称。advanced-split 必填。

continue_clip_idstring

要续写的上一个片段的 ID。

continue_atnumber

续写起点,单位为秒。upload-extend 必填且必须大于 0。

prompt 最多 5000 字符,tags 和 negative_tags 各最多 1000 字符。可用操作和参数以所选模型的当前详情为准。

响应

idstring

用于查询状态的任务 ID。

task_idstring

同一个异步任务 ID 的别名,仅在返回时存在。

poll_urlstring

创建响应提供时,优先使用的轮询 URL。

statusstring

任务状态:pending、processing、completed 或 failed。

createdinteger

任务创建的 Unix 时间戳,仅在返回时存在。

请求

curl -X POST "https://api.tokenlab.sh/v1/music/generations" \
  -H "Authorization: Bearer sk-your-api-key" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "suno-music",
    "mv": "chirp-v4",
    "prompt": "An upbeat electronic dance track with heavy bass",
    "title": "Night Drive",
    "tags": "electronic, EDM, energetic"
  }'

响应

Response
{
  "id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "task_id": "ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "poll_url": "/v1/tasks/ldtask_aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa",
  "status": "pending",
  "model": "suno-music"
}

授权

BearerAuth
AuthorizationBearer <token>

API Key 身份验证。在 Dashboard > API > API Keys 中创建或管理 API Key。

位置: header

请求头

X-TokenLab-Delivery-Policy?string

单次请求的交付策略。覆盖 API 密钥和 Workspace 的默认设置。自动优先尝试 TokenLab Verified,并在输出、请求接受或持久资源创建之前,可能会切换一次至仅限 Official。

可选值

  • "auto"
  • "verified"
  • "official"

请求体

application/json

响应

application/json

application/json