跳到內容

Suno API

RouteAPI 提供統一的 Suno AI 音樂生成 REST API。支援文字生成音樂、續寫歌曲、聲音複製、音軌分離等功能。

Suno 音樂生成是非同步的。 典型流程:

  1. 提交任務 到 /suno/audios → 收到 task_id
  2. 等待 2-3 秒 後開始輪詢
  3. 每 3-5 秒輪詢一次 透過 /suno/tasks 使用 action: "retrieve"
  4. 當 status 變為 success → 取得 audio_url
狀態含義下一步
submitted已提交,等待排隊繼續輪詢
queued排隊中繼續輪詢
in_progress生成中繼續輪詢
success✅ 完成從 data 陣列的第一項取 audio_url
failure❌ 失敗取 error 欄位查原因
Terminal window
curl -X POST "https://api.routeapi.ai/suno/audios" \
-H "Authorization: Bearer $ROUTEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chirp-v5-5",
"prompt": "一首歡快的夏日流行歌曲,鋼琴和吉他",
"async": true
}'
Terminal window
curl -X POST "https://api.routeapi.ai/suno/tasks" \
-H "Authorization: Bearer $ROUTEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{ "action": "retrieve", "id": "task_xxxxx" }'
{
"id": "task_xxxxx",
"task_id": "task_xxxxx",
"status": "success",
"data": [
{
"id": "audio_1",
"audio_url": "https://cdn.suno.ai/xxx.mp3",
"video_url": "https://cdn.suno.ai/xxx.mp4",
"title": "Summer Breeze",
"duration": 183.5
}
]
}
模型 ID最長時長lyric 上限style 上限
chirp-v5-58 分鐘5000 字元1000 字元
chirp-v58 分鐘5000 字元1000 字元
chirp-v4-5-plus8 分鐘5000 字元1000 字元
chirp-v4150 秒3000 字元200 字元

音訊操作的核心介面:action 欄位決定具體操作,請求主體攜帶該操作需要的欄位。

欄位類型預設值說明
modelstringchirp-v4生成模型,推薦 chirp-v5-5
actionstringgenerate操作類型
asyncboolean—強烈建議設為 true。只有明確傳 false 才走同步分支;省略該欄位時不會轉發,由上游預設值決定
Action說明必需欄位
generate根據提示詞生成全新音訊prompt 或 custom=true + lyric + style
extend在已有音訊基礎上續寫延長audio_id + continue_at
cover複製已有曲目的音樂風格並重新演繹audio_id
stems分離為人聲 + 伴奏兩軌audio_id
all_stems分離為所有獨立音軌audio_id
remaster對已有音訊重新母帶處理以提升音質audio_id
mashup將多首歌曲混合拼接為一首曲目mashup_audio_ids

完整操作類型請參考英文或簡體中文文檔。

Terminal window
curl -X POST "https://api.routeapi.ai/suno/audios" \
-H "Authorization: Bearer $ROUTEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chirp-v5-5",
"prompt": "一首歡快的兒童歌曲",
"async": true
}'
Terminal window
curl -X POST "https://api.routeapi.ai/suno/audios" \
-H "Authorization: Bearer $ROUTEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "chirp-v5-5",
"custom": true,
"title": "夏日之歌",
"style": "流行, 歡快, 輕快",
"lyric": "[Verse]\n第一段歌詞\n[Chorus]\n副歌部分",
"async": true
}'

查詢任務狀態與結果。

Terminal window
curl -X POST "https://api.routeapi.ai/suno/tasks" \
-H "Authorization: Bearer $ROUTEAPI_KEY" \
-H "Content-Type: application/json" \
-d '{ "action": "retrieve", "id": "task_xxxxx" }'
介面方法說明
/suno/lyricsPOST生成歌詞文字
/suno/uploadPOST上傳外部音訊檔案
/suno/personaGET/POST管理語音人格(聲音複製)
/suno/wavPOST匯出 WAV 格式音訊
/suno/mp4POST匯出 MP4 影片
/suno/midiPOST匯出 MIDI 檔案

完整 API 參考請查看英文或簡體中文文檔。

請求進入任務處理後,錯誤使用任務回應主體:

{ "code": "invalid_request", "message": "prompt_empty (request id: ...)", "data": null }

認證與路由階段的失敗發生在進入任務處理之前,沿用 OpenAI 風格主體 {"error": {"message": "...", "type": "...", "code": "..."}}。參見常見錯誤。

狀態碼錯誤碼原因
400invalid_request該介面或 action 缺少必填欄位,message 會指出欄位(例如 /suno/lyrics 的 prompt_empty,或 /suno/vox 的 audio_id_vocal_start_vocal_end_required)
400task_not_existaction: "retrieve" 的 id 不屬於你的任務
401—API Key 缺少、無效或已過期(OpenAI 風格主體)
403insufficient_user_quota帳戶餘額或 Key 額度不足以預扣
429—上游渠道回報限流或過載;RouteAPI 會替換供應商原文
502acedata_suno_request_failed上游已受理但拒絕了請求:內容審核阻擋、audio_id 不存在、不支援的 action。message 帶上游說明
502upstream_task_id_missing上游回傳 2xx 但沒有任務 ID,任務無法輪詢;預扣費用會退回
503get_channel_failed任務背後的渠道被判為硬故障(例如上游帳戶不可用);RouteAPI 會替換供應商原文。(完全沒有渠道的模型會在進入任務處理前就被拒絕,回傳 503 model_not_found 與 OpenAI 風格主體)
4xx / 5xxfail_to_fetch_task上游回傳非 2xx 狀態碼;狀態碼與回應主體原樣傳遞,預扣費用退回

輪詢回傳 failure 的失敗任務同樣會退回預扣費用,失敗原因在任務記錄的 error 與 message 欄位中。

Q: 如何選擇模型版本?
優先用 chirp-v5-5(最新最強)。

Q: 生成需要多久?
generate 通常 15-40 秒。處理類操作可能需要 1-3 分鐘。

Q: audio_url 可以直接用嗎?
是的,CDN 直連可直接播放或下載。

Q: 並行請求有限制嗎?
建議並行數 ≤ 5,輪詢間隔 ≥ 3 秒。