MIDI 获取 API

更新于 2026-09-15 · 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

Body 参数

参数名 类型 必填 默认值 说明
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 Key,0.6 元一次固定生成 2 首,下载不限次数。

免费注册 查看完整文档