API lấy MIDI
Mô tả endpoint
Endpoint MIDI chuyển các track đã tách stem thành tệp MIDI chuẩn, để phối khí, sáng tác tiếp hoặc nhập vào DAW.
Suno không cung cấp địa chỉ tải tệp MIDI; chỉ cung cấp dữ liệu nốt của từng track (cao độ, thời điểm bắt đầu và kết thúc, lực nhấn). Endpoint này chuyển dữ liệu nốt đó thành tệp MIDI chuẩn (SMF format 1) rồi trả về trực tiếp, nên thứ bạn nhận luôn là một tệp .mid thật mà DAW mở được.
Endpoint: POST /api/music/download-file
Trang này là ví dụ riêng cho MIDI. Mô tả đầy đủ về nhóm tải xuống (địa chỉ media, tệp đơn, đóng gói, nghe thử khi đang tạo) nằm trong API tải và nghe thử media của bài hát.
Tính phí: Miễn phí. Endpoint này đọc dữ liệu nốt của các stem đã có và không trừ hạn mức.
Tham số yêu cầu
Headers
| Tham số | Kiểu | Bắt buộc | Ghi chú |
|---|---|---|---|
| Authorization | string | có | Bearer YOUR_API_KEY |
| Content-Type | string | có | application/json |
Tham số body
| Tham số | Kiểu | Bắt buộc | Mặc định | Ghi chú |
|---|---|---|---|---|
| song_id | string | có | - | ID của một track đơn lẻ sau khi tách (/api/music/separate trả về mỗi clip id) |
| kind | string | có | - | Cố định là midi |
Ví dụ yêu cầu
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
Phản hồi
Phần thân phản hồi là nội dung nhị phân của tệp MIDI, không phải JSON.
| Header phản hồi | Giá trị |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<tiêu đề bài hát>.mid" |
Lấy địa chỉ tải xuống
Nếu cần lấy địa chỉ trước rồi mới tải (ví dụ để đóng gói nhiều tệp), hãy gọi trước:
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"
}
}
Địa chỉ đó cũng cần header Authorization mới truy cập được; không có khóa API sẽ trả về 401.
Về tệp MIDI
| Mục | Giá trị | Ghi chú |
|---|---|---|
| Định dạng tệp | SMF format 1 | 1 track Tempo + 1 track cho mỗi nhạc cụ |
| Độ phân giải thời gian | 480 PPQ | 480 tick mỗi phách |
| Nhịp độ | 120 BPM | Suno chỉ cho giây, không cho BPM, nên dùng nhịp độ cố định để ghi dòng thời gian |
| Dòng thời gian | 1 giây = 960 tick |
Tương ứng một-một với số giây nền tảng trả về; đổi nhịp độ trong DAW nếu cần |
| Lực nhấn | 0–127 | Nền tảng trả về số thực 0–1; endpoint đã quy đổi ×127 sẵn |
| Trống | Kênh MIDI 10 | Các track được nền tảng đánh dấu là trống sẽ tự động vào kênh nhạc cụ gõ |
Lưu ý
- Chỉ hiệu lực với track đã tách stem:
song_idphải là ID track do/api/music/separatetrả về, không phải ID bài hát gốc. - Stem không có nốt vẫn là kết quả bình thường: một số track (ví dụ FX) không có nốt để chuyển thành bản phổ; khi đó hệ thống trả về tệp MIDI hợp lệ không có nốt thay vì báo lỗi.
- MIDI chỉ chứa thông tin nốt: âm lượng, pan và hiệu ứng không nằm trong MIDI; hãy tự đặt âm sắc trong DAW.
- Mỗi track yêu cầu riêng: một yêu cầu trả về
.midcủa một track; với nhiều track, hãy gọi từng track hoặc dùng tính năng tải gói hàng loạt của Create UI.
Lấy khóa API
Tạo khóa API trong bảng điều khiển sau khi đăng ký. Mỗi lần tạo tốn 0,6 ¥ và trả về 2 bản nhạc, tải xuống không giới hạn và không cần số điện thoại.
Lấy khóa API Quay lại tổng quan