API de obținere MIDI
Descrierea endpoint-ului
Endpointul MIDI convertește în fișier MIDI standard piesele care au deja stem-uri, pentru aranjament, muncă creativă ulterioară sau import într-un DAW.
Suno nu oferă o adresă de descărcare pentru fișiere MIDI; oferă doar datele de note ale fiecărei piste (înălțime, timp de început și sfârșit, intensitate). Acest endpoint convertește datele de note într-un fișier MIDI standard (SMF format 1) și îl returnează direct, deci primești întotdeauna un .mid real care poate fi deschis într-un DAW.
Endpoint: POST /api/music/download-file
Această pagină este exemplul specific MIDI. Descrierea completă a familiei de descărcări (adrese media, fișier unic, împachetare, ascultare în timpul generării) este în API de descărcare și ascultare a conținutului media al pieselor.
Facturare: Gratuit. Acest endpoint citește datele de note ale stem-urilor existente și nu debitează din sold.
Parametrii cererii
Headers
| Parametru | Tip | Obligatoriu | Observații |
|---|---|---|---|
| Authorization | string | da | Bearer YOUR_API_KEY |
| Content-Type | string | da | application/json |
Parametri din body
| Parametru | Tip | Obligatoriu | Implicit | Observații |
|---|---|---|---|---|
| song_id | string | da | - | ID-ul unei singure piste după separare (fiecare clip id returnat de /api/music/separate) |
| kind | string | da | - | Fixat la midi |
Exemplu de cerere
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
Răspuns
Corpul răspunsului este conținutul binar al fișierului MIDI, nu JSON.
| Antet de răspuns | Valoare |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<titlul piesei>.mid" |
Obținerea unei adrese de descărcare
Dacă ai nevoie mai întâi de adresă și apoi de descărcare (de exemplu pentru a împacheta mai multe fișiere), apelează mai întâi:
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"
}
}
Această adresă necesită și antetul Authorization; fără cheie API returnează 401.
Despre fișierul MIDI
| Element | Valoare | Observații |
|---|---|---|
| Format de fișier | SMF format 1 | 1 pistă Tempo + 1 pistă pentru fiecare instrument |
| Rezoluție temporală | 480 PPQ | 480 tick-uri per bătaie |
| Tempo | 120 BPM | Suno oferă doar secunde, nu BPM, așa că se folosește un tempo fix pentru a scrie linia de timp |
| Linia de timp | 1 secundă = 960 tick-uri |
Corespunde unu la unu secundelor returnate de platformă; modifică tempo-ul în DAW dacă e nevoie |
| Intensitate | 0–127 | Platforma oferă valori 0–1 în virgulă mobilă; endpointul le-a convertit deja cu ×127 |
| Tobe | Canal MIDI 10 | Piesele marcate de platformă ca tobe ajung automat pe canalul de percuție |
Note
- Valabil doar pentru piesele care au deja stem-uri:
song_idtrebuie să fie un ID de pistă returnat de/api/music/separate, nu ID-ul piesei originale. - Un stem fără note este un rezultat normal: unele piste (de exemplu FX) nu au note transcriibile; în acest caz se returnează un fișier MIDI valid fără note, nu o eroare.
- MIDI conține doar informații despre note: volumul, panoramarea și efectele nu fac parte din MIDI; setează timbrul singur în DAW.
- Solicită fiecare pistă separat: o cerere returnează
.mid-ul unei piste; pentru mai multe piste apelează fiecare pistă sau folosește descărcarea împachetată în lot din Create UI.
Obține o cheie API
Creează o cheie API în consolă după înregistrare. Fiecare generare costă 0,6 ¥ și returnează 2 piese, descărcările sunt nelimitate și nu este nevoie de număr de telefon.
Obține cheia API Înapoi la prezentare