TokenLab

音樂

建立音樂

使用 Suno 建立音樂生成任務

POST
/v1/music/generations

使用 AI 生成音樂和歌詞。這是一個非同步 API。建立回應會返回任務身分,並且在可用時返回優先使用的 poll_url。

請求參數

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 金鑰。

位置: header

請求標頭

X-TokenLab-Delivery-Policy?string

單次請求傳遞策略。會覆寫 API key 與 Workspace 的預設值。系統會自動優先嘗試 TokenLab Verified,並可能在輸出、請求接受或建立持久性資源前切換至 Official 模式一次。

可選值

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

請求主體

application/json

回應

application/json

application/json