API pengambilan MIDI
Deskripsi endpoint
Endpoint MIDI mengubah track yang sudah memiliki stem menjadi berkas MIDI standar, untuk aransemen, karya kreatif lanjutan, atau impor ke DAW.
Suno tidak menyediakan alamat unduhan berkas MIDI; ia hanya menyediakan data not setiap track (tinggi nada, waktu mulai dan selesai, velocity). Endpoint ini mengubah data not tersebut menjadi berkas MIDI standar (SMF format 1) lalu mengembalikannya langsung, jadi yang Anda terima selalu berkas .mid asli yang bisa dibuka DAW.
Endpoint: POST /api/music/download-file
Halaman ini adalah contoh khusus MIDI. Deskripsi lengkap keluarga unduhan (alamat media, berkas tunggal, pengemasan, pratinjau saat pembuatan) ada di API unduh dan pratinjau media lagu.
Biaya: Gratis. Endpoint ini membaca data not stem yang sudah ada dan tidak memotong kuota.
Parameter permintaan
Headers
| Parameter | Tipe | Wajib | Catatan |
|---|---|---|---|
| Authorization | string | ya | Bearer YOUR_API_KEY |
| Content-Type | string | ya | application/json |
Parameter body
| Parameter | Tipe | Wajib | Default | Catatan |
|---|---|---|---|---|
| song_id | string | ya | - | ID satu track setelah pemisahan (setiap clip id yang dikembalikan /api/music/separate) |
| kind | string | ya | - | Tetap midi |
Contoh permintaan
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
Respons
Isi respons adalah konten biner berkas MIDI, bukan JSON.
| Header respons | Nilai |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<judul lagu>.mid" |
Mendapatkan alamat unduhan
Jika perlu alamatnya lebih dulu lalu mengunduh (misalnya untuk mengemas beberapa berkas), panggil ini dulu:
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"
}
}
Alamat itu juga memerlukan header Authorization; tanpa kunci API akan mengembalikan 401.
Tentang berkas MIDI
| Item | Nilai | Catatan |
|---|---|---|
| Format berkas | SMF format 1 | 1 track Tempo + 1 track per instrumen |
| Resolusi waktu | 480 PPQ | 480 tick per ketukan |
| Tempo | 120 BPM | Suno hanya memberi detik, bukan BPM, jadi tempo tetap dipakai untuk menulis timeline |
| Timeline | 1 detik = 960 tick |
Berkorespondensi satu-ke-satu dengan detik yang dikembalikan platform; ubah tempo di DAW bila perlu |
| Velocity | 0–127 | Platform memberi float 0–1; endpoint sudah mengonversinya dengan ×127 |
| Drum | Kanal MIDI 10 | Track yang ditandai drum oleh platform otomatis ditempatkan di kanal perkusi |
Catatan
- Hanya berlaku untuk track yang sudah memiliki stem:
song_idharus ID track yang dikembalikan/api/music/separate, bukan ID lagu asli. - Stem tanpa not adalah hasil normal: beberapa track (misalnya FX) tidak memiliki not yang bisa ditranskripsikan; dalam kasus itu berkas MIDI valid tanpa not dikembalikan, bukan error.
- MIDI hanya memuat informasi not: volume, pan, dan efek tidak termasuk MIDI; atur timbre sendiri di DAW.
- Minta setiap track secara terpisah: satu permintaan mengembalikan
.midsatu track; untuk beberapa track, panggil masing-masing atau gunakan unduhan paket massal di Create UI.
Dapatkan kunci API
Buat kunci API di konsol setelah mendaftar. Setiap pembuatan berbiaya 0,6 ¥ dan menghasilkan 2 lagu, unduhan tidak terbatas, dan nomor telepon tidak diperlukan.
Ambil kunci API Kembali ke ringkasan