快速開始

2026-09-18 更新 · Suno-API 團隊

本指南會在約五分鐘內,帶你從建立 API 金鑰走到生成第一首歌、查詢進度並下載音訊。範例可直接 複製執行。

目前的預設模型是 suno-v6。從 suno-v2 到 suno-v5-5 的生成模型已全部下線:舊任務中仍 可能看到它們,但不再接受新請求。

步驟 1:取得 API 金鑰

  1. 開啟 https://www.suno-api.io。
  2. 點選 取得 API 金鑰 並註冊。只需要電子郵件,不需要手機號碼。
  3. 在主控台開啟權杖管理並建立金鑰。
  4. 立即複製,金鑰只會顯示一次。首次付費呼叫前,請先用兌換碼儲值。

步驟 2:設定請求

所有呼叫都使用相同的基礎網址與標頭:

POST https://www.suno-api.io
Authorization: Bearer YOUR_API_KEY
Content-Type: application/json

步驟 3:送出第一個請求

範例 1 — 從描述生成

描述音樂,API 會寫出歌詞、旋律與編曲:

curl -X POST https://www.suno-api.io/api/music/create \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "description": "一首關於春天第一天的輕快民謠",
    "model": "suno-v6"
  }'

回應:

[
  {
    "song_id": "abc123",
    "status": "pending",
    "song_title": "春日故事",
    "description": "一首關於春天第一天的輕快民謠",
    "created_at": "2026-04-22T10:30:00Z"
  },
  {
    "song_id": "def456",
    "status": "pending",
    "song_title": "春日步伐",
    "description": "一首關於春天第一天的輕快民謠",
    "created_at": "2026-04-22T10:30:00Z"
  }
]

每次執行會回傳兩個不同版本供你挑選。一次生成 0.6 ¥。

範例 2 — 查詢進度

把回傳的 song_id 送到查詢端點:

curl -X POST https://www.suno-api.io/api/music/query \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_ids": ["abc123", "def456"],
    "model": "suno-v6"
  }'

任務進行中:

[
  {
    "song_id": "abc123",
    "status": "processing",
    "song_title": "春日故事",
    "progress": "60%"
  }
]

完成後:

[
  {
    "song_id": "abc123",
    "status": "completed",
    "song_title": "春日故事",
    "audio_url": "https://media.code-go.com/assets/abc123-mp3.mp3",
    "video_url": "https://media.code-go.com/assets/abc123-mp4.mp4",
    "cover_url": "https://media.code-go.com/assets/abc123-cover.jpg",
    "duration": 168
  }
]

status 會依序經過 pending、submitted、processing,最後抵達 completed。任務進行時網址 可能仍為空,請以 status 判斷,不要以是否有 audio_url 判斷。

步驟 4:下載檔案

當 status 為 completed 時,直接請求 audio_url 即可。MP3 與 WAV 下載不限次數,也不會另外 計費。若剪輯需要無損音訊,請使用 WAV 端點。

⚠️ 音訊網址 7 天後失效。 audio_url(以及 WAV 等媒體連結)由平台的物件儲存提供,請在 7 天內自行轉存到你的儲存空間;過期後舊網址會回傳 404。重新呼叫歌曲查詢 API 就能取得新的有效網址,不需要重新生成,也不會額外計費。

常見情境

影片背景音樂

{
  "description": "適合產品影片的冷靜 lo-fi 背景,無人聲,動態穩定",
  "instrumental": true,
  "model": "suno-v6"
}

把 instrumental 設為 true 時,輸出不含人聲。

自訂歌詞與風格

{
  "lyrics": "[Verse 1]\n城市燈光慢慢熄滅\n\n[Chorus]\n我們繼續前行",
  "style": "acoustic pop, 溫暖女聲, 92 BPM",
  "model": "suno-v6"
}

輪詢直到完成

import time
import requests

API_KEY = "sk-your-key-here"
BASE = "https://www.suno-api.io"
HEADERS = {"Authorization": f"Bearer {API_KEY}", "Content-Type": "application/json"}

created = requests.post(
    f"{BASE}/api/music/create",
    headers=HEADERS,
    json={"description": "一首關於春天的輕快民謠", "model": "suno-v6"},
).json()

song_ids = [track["song_id"] for track in created]

for _ in range(60):
    time.sleep(10)
    tracks = requests.post(
        f"{BASE}/api/music/query",
        headers=HEADERS,
        json={"song_ids": song_ids, "model": "suno-v6"},
    ).json()
    if all(track.get("status") == "completed" for track in tracks):
        for track in tracks:
            print(track["song_title"], track["audio_url"])
        break

錯誤處理

主要狀態碼

代碼 意義 處理方式
200 成功 讀取回應內容
400 請求無效——參數缺少或格式錯誤 對照文件檢查
401 金鑰缺少或無效 檢查 Authorization 標頭
403 沒有權限,通常是餘額不足 為帳號儲值
429 請求頻率超限 以指數退避重送
500 伺服器錯誤 重送;若持續發生請聯絡客服

錯誤格式

{
  "error": {
    "message": "Invalid API key provided",
    "type": "invalid_request_error",
    "code": "invalid_api_key"
  }
}

最佳實務

下一步

取得 API 金鑰

註冊後即可在主控台建立 API 金鑰。每次生成 0.6 元可得 2 首歌,下載不限次數,且不需要手機號碼。

取得 API 金鑰 回到總覽