MIDI 取得 API

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

介面說明

MIDI 介面用於把已完成分軌的軌道轉成標準 MIDI 檔案,供編曲、二次創作或 DAW 匯入使用。

Suno 不提供 MIDI 檔案的下載位址,只提供每一軌的音符資料(音高、起止時間、力度)。本介面會把這些音符資料轉換成標準 MIDI 檔案(SMF format 1)後直接返回,因此返回的一定是可被 DAW 開啟的真實 .mid 檔案。

介面位址: POST /api/music/download-file

本頁是 MIDI 的專用範例。下載家族(媒體位址、單一檔案、打包、生成中試聽)的完整說明見 歌曲媒體下載與試聽 API。

計費: 免費。該介面用於讀取既有分軌的音符資料,不扣除額度。

請求參數

Headers

參數名 型別 必填 說明
Authorization string 是 Bearer YOUR_API_KEY
Content-Type string 是 application/json

請求主體參數

參數名 型別 必填 預設值 說明
song_id string 是 - 分軌後單條軌道的歌曲 ID(/api/music/separate 返回的每個 clip id)
kind string 是 - 固定為 midi

請求範例

curl -X POST https://www.suno-api.io/api/music/download-file \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "song_id": "stem_clip_id",
    "kind": "midi"
  }' \
  --output track.mid

回應結果

回應體是 MIDI 檔案的二進位內容,不是 JSON。

回應標頭 值
Content-Type audio/midi
Content-Disposition attachment; filename="<歌曲標題>.mid"

取得下載位址

如果需要先拿到位址再下載(例如批次打包),可以先呼叫:

curl -X POST https://www.suno-api.io/api/music/download-url \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"song_id":"stem_clip_id","kind":"midi"}'
{
  "success": true,
  "message": "",
  "data": {
    "song_id": "stem_clip_id",
    "kind": "midi",
    "url": "https://www.suno-api.io/api/music/download?song_id=stem_clip_id&kind=midi"
  }
}

該位址同樣需要攜帶 Authorization 請求標頭才能存取;不帶 API Key 會返回 401。

MIDI 檔案說明

項目 取值 說明
檔案格式 SMF format 1 1 條 Tempo 軌 + 每條樂器 1 條軌
時間精度 480 PPQ 每拍 480 tick
速度 120 BPM Suno 只給秒數、不給 BPM,因此使用固定速度寫入時間軸
時間軸 1 秒 = 960 tick 與平台返回的秒數一一對應,匯入 DAW 後可按需改速度
力度 0–127 平台給的是 0–1 浮點,介面已按 ×127 換算
鼓組 MIDI 通道 10 平台標記為鼓的軌道會自動放到打擊樂通道

注意事項

下一篇歌曲媒體下載與試聽 API

取得 API 金鑰

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

取得 API 金鑰 回到總覽