音樂(Music)
Suno 音樂格式(Music)
請你注意
該介面 非Suno官方的介面,而是基於作者 柏拉圖 的開源專案 Suno-API 實現的Suno代理介面。
這裡非常感謝作者的貢獻,讓我們可以方便使用Suno的強大功能,如果有時間,請給作者一個Star。
📝 簡介
Suno Music API 提供了一系列音樂生成和處理的功能,包括:
-
根據提示生成歌曲(靈感模式、自定義模式)
-
續寫已有歌曲
-
拼接多個音訊片段
-
生成歌詞
-
上傳音訊
透過 API 可以方便地將 AI 音樂生成能力整合到你的應用中。
💡 請求示例
生成歌曲 ✅
curl --location 'https://88api.ai/suno/submit/music' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"prompt":"[Verse]\nWalking down the streets\nBeneath the city lights\nNeon signs flickering\nLighting up the night\nHeart beating faster\nLike a drum in my chest\nI'\''m alive in this moment\nFeeling so blessed\n\nStilettos on the pavement\nStepping with grace\nSurrounded by the people\nMoving at their own pace\nThe rhythm of the city\nIt pulses in my veins\nLost in the energy\nAs my worries drain\n\n[Verse 2]\nConcrete jungle shining\nWith its dazzling glow\nEvery corner hiding secrets that only locals know\nA symphony of chaos\nBut it'\''s music to my ears\nThe hustle and the bustle\nWiping away my fears",
"tags":"emotional punk",
"mv":"chirp-v4",
"title":"City Lights"
}'響應示例:
{
"code": "success",
"message": "",
"data": "736a6f88-bd29-4b1e-b110-37132a5325ac"
}生成歌詞 ✅
curl --location 'https://88api.ai/suno/submit/lyrics' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"prompt":"dance"
}'響應示例:
{
"code": "success",
"message": "",
"data": "736a6f88-bd29-4b1e-b110-37132a5325ac"
}上傳音訊 ❌
curl --location 'https://88api.ai/suno/uploads/audio-url' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"url":"http://cdnimg.example.com/ai/2024-06-18/d416d9c3c34eb22c7d8c094831d8dbd0.mp3"
}'響應示例:
{
"code": "success",
"message": "",
"data": "736a6f88-bd29-4b1e-b110-37132a5325ac"
}歌曲拼接 ❌
curl --location 'https://88api.ai/suno/submit/concat' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"clip_id":"extend 後的 歌曲ID",
"is_infill": false
}'響應示例:
{
"code": "success",
"message": "",
"data": "736a6f88-bd29-4b1e-b110-37132a5325ac"
}查詢任務狀態 ✅
批次查詢
curl --location 'https://88api.ai/suno/fetch' \
--header 'Authorization: Bearer $API_KEY' \
--header 'Content-Type: application/json' \
--data '{
"ids":["task_id"],
"action":"MUSIC"
}'響應示例:
{
"code": "success",
"message": "",
"data": [
{
"task_id": "346c5d10-a4a1-4f49-a851-66a7dae6cfaf",
"notify_hook": "",
"action": "MUSIC",
"status": "IN_PROGRESS",
"fail_reason": "",
"submit_time": 1716191749,
"start_time": 1716191786,
"finish_time": 0,
"progress": "0%",
"data": [
{
"id": "e9893d04-6a63-4007-8473-64b706eca4d1",
"title": "Electric Dance Party",
"status": "streaming",
"metadata": {
"tags": "club banger high-energy edm",
"prompt": "略",
"duration": null,
"error_type": null,
"error_message": null,
"audio_prompt_id": null,
"gpt_description_prompt": "miku dance"
},
"audio_url": "https://audiopipe.suno.ai/?item_id=e9893d04-6a63-4007-8473-64b706eca4d1",
"image_url": "https://cdn1.suno.ai/image_e9893d04-6a63-4007-8473-64b706eca4d1.png",
"video_url": "",
"model_name": "chirp-v3",
"image_large_url": "https://cdn1.suno.ai/image_large_e9893d04-6a63-4007-8473-64b706eca4d1.png",
"major_model_version": "v3"
}
]
}
]
}單個查詢
curl --location 'https://88api.ai/suno/fetch/{{task_id}}' \
--header 'Authorization: Bearer $API_KEY'響應示例:
{
"code": "success",
"message": "",
"data": {
"task_id": "f4a94d75-087b-4bb1-bd45-53ba293faf96",
"notify_hook": "",
"action": "LYRICS",
"status": "SUCCESS",
"fail_reason": "",
"submit_time": 1716192124,
"start_time": 1716192124,
"finish_time": 1716192124,
"progress": "100%",
"data": {
"id": "f4a94d75-087b-4bb1-bd45-53ba293faf96",
"text": "略",
"title": "Electric Fantasy",
"status": "complete"
}
}
}📮 請求
所有請求都需在請求頭中包含認證資訊:
Authorization: Bearer $API_KEY端點
生成歌曲
POST /suno/submit/music生成新的歌曲,支援靈感模式、自定義模式、續寫。
生成歌詞
POST /suno/submit/lyrics根據提示生成歌詞。
上傳音訊
POST /suno/uploads/audio-url上傳音訊檔案。
歌曲拼接
POST /suno/submit/concat將多個音訊片段拼接為一首完整的歌曲。
批次查詢任務狀態
POST /suno/fetch批次獲取多個任務的狀態和結果。
查詢單個任務狀態
GET /suno/fetch/{{task_id}}查詢單個任務的狀態和結果。
請求體引數
生成歌曲
prompt
- 型別:String
- 必需:靈感模式無需,自定義模式必需
- 說明:歌詞內容,在自定義模式下需提供
mv
- 型別:String
- 必需:否
- 說明:模型版本,可選值:chirp-v3-0、chirp-v3-5,預設為 chirp-v3-0
title
- 型別:String
- 必需:靈感模式無需,自定義模式必需
- 說明:歌曲標題,在自定義模式下需提供
tags
- 型別:String
- 必需:靈感模式無需,自定義模式必需
- 說明:歌曲風格標籤,使用逗號分隔,在自定義模式下需提供
make_instrumental
- 型別:Boolean
- 必需:否
- 說明:是否生成純音樂,true 為生成純音樂
task_id
- 型別:String
- 必需:續寫時必需
- 說明:要續寫的歌曲的任務 ID
continue_at
- 型別:Float
- 必需:續寫時必需
- 說明:從歌曲的第幾秒開始續寫
continue_clip_id
- 型別:String
- 必需:續寫時必需
- 說明:要續寫的歌曲的 clip ID
gpt_description_prompt
- 型別:String
- 必需:靈感模式必需,其他模式無需
- 說明:靈感來源的文字描述
notify_hook
- 型別:String
- 必需:否
- 說明:歌曲生成完成的回撥通知地址
生成歌詞
prompt
- 型別:String
- 必需:是
- 說明:歌詞的主題或關鍵詞
notify_hook
- 型別:String
- 必需:否
- 說明:歌詞生成完成的回撥通知地址
上傳音訊
url
- 型別:String
- 必需:是
- 說明:要上傳的音訊檔案的 URL 地址
歌曲拼接
clip_id
- 型別:String
- 必需:是
- 說明:要拼接的歌曲片段的 ID
is_infill
- 型別:Boolean
- 必需:否
- 說明:是否為填充模式
任務查詢
ids
- 型別:String[]
- 必需:是
- 說明:要查詢的任務 ID 列表
action
- 型別:String
- 必需:否
- 說明:任務型別,可選值:MUSIC、LYRICS
📥 響應
所有介面均返回統一的 JSON 格式響應:
{
"code": "success",
"message": "",
"data": "{{RESULT}}"
}成功響應
基礎響應欄位
code
- 型別:String
- 說明:請求狀態,success 為成功
message
- 型別:String
- 說明:請求失敗時的錯誤資訊
data
- 型別:根據不同介面而異
- 說明:請求成功時的返回資料
- 生成歌曲、歌詞、上傳音訊、歌曲拼接介面:返回任務 ID 字串
- 任務查詢介面:返回任務物件或任務物件陣列
任務相關物件
任務物件
task_id
- 型別:String
- 說明:任務 ID
notify_hook
- 型別:String
- 說明:任務完成後的回撥通知地址
action
- 型別:String
- 說明:任務型別,可選值:MUSIC、LYRICS
status
- 型別:String
- 說明:任務狀態,可選值:IN_PROGRESS、SUCCESS、FAIL
fail_reason
- 型別:String
- 說明:任務失敗原因
submit_time
- 型別:Integer
- 說明:任務提交時間戳
start_time
- 型別:Integer
- 說明:任務開始時間戳
finish_time
- 型別:Integer
- 說明:任務結束時間戳
progress
- 型別:String
- 說明:任務進度百分比
data
- 型別:根據任務型別不同而異
- 說明:
- 音樂生成任務:歌曲物件陣列
- 歌詞生成任務:歌詞物件
歌曲物件
id
- 型別:String
- 說明:歌曲 ID
title
- 型別:String
- 說明:歌曲標題
status
- 型別:String
- 說明:歌曲狀態
metadata
- 型別:Object
- 說明:歌曲後設資料
- tags:歌曲風格標籤
- prompt:生成歌曲使用的歌詞
- duration:歌曲時長
- error_type:錯誤型別
- error_message:錯誤資訊
- audio_prompt_id:音訊 prompt ID
- gpt_description_prompt:靈感來源描述
audio_url
- 型別:String
- 說明:歌曲音訊的 URL 地址
image_url
- 型別:String
- 說明:歌曲封面圖的 URL 地址
video_url
- 型別:String
- 說明:歌曲影片的 URL 地址
model_name
- 型別:String
- 說明:生成歌曲使用的模型名稱
major_model_version
- 型別:String
- 說明:模型主版本號
歌詞物件
id
- 型別:String
- 說明:歌詞 ID
text
- 型別:String
- 說明:歌詞內容
title
- 型別:String
- 說明:歌詞標題
status
- 型別:String
- 說明:歌詞狀態
🌟 最佳實踐
-
提供儘量詳細 、具體的歌曲或歌詞生成提示,避免過於籠統或抽象
-
查詢任務狀態時,輪詢間隔建議為 2-5 秒,避免過於頻繁
-
靈感模式僅需提供 gpt_description_prompt 引數,API 會自動生成歌詞、標題、標籤等
-
自定義模式需要提供 prompt、title、tags 引數,可以對歌曲有更多控制
-
儘量使用最新版本的模型(如 chirp-v4),效果會更好
-
使用回撥通知功能(notify_hook 引數)可以降低輪詢頻率,提高效率
-
音樂續寫、拼接功能可以在原有音樂基礎上,生成更加豐富、完整的作品
-
注意處理可能出現的異常和錯誤,如網路超時、引數校驗失敗等