API di recupero MIDI
Descrizione dell'endpoint
L'endpoint MIDI converte in un file MIDI standard le tracce che hanno già gli stem, per arrangiamento, lavoro creativo successivo o importazione in una DAW.
Suno non fornisce un indirizzo di download per i file MIDI; fornisce solo i dati delle note di ogni traccia (altezza, tempi di inizio e fine, velocity). Questo endpoint converte quei dati in un file MIDI standard (SMF format 1) e lo restituisce direttamente, quindi ciò che ricevi è sempre un vero .mid che una DAW può aprire.
Endpoint: POST /api/music/download-file
Questa pagina è l'esempio specifico per il MIDI. La descrizione completa della famiglia dei download (indirizzi dei media, file singolo, impacchettamento, anteprima durante la generazione) è nell' API di download e anteprima dei media dei brani.
Fatturazione: Gratuito. Questo endpoint legge i dati delle note degli stem esistenti e non scala quota.
Parametri della richiesta
Headers
| Parametro | Tipo | Obbligatorio | Note |
|---|---|---|---|
| Authorization | string | sì | Bearer YOUR_API_KEY |
| Content-Type | string | sì | application/json |
Parametri del corpo
| Parametro | Tipo | Obbligatorio | Predefinito | Note |
|---|---|---|---|---|
| song_id | string | sì | - | L'ID di una singola traccia dopo la separazione (ogni clip id restituito da /api/music/separate) |
| kind | string | sì | - | Fisso a midi |
Esempio di richiesta
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
Risposta
Il corpo della risposta è il contenuto binario del file MIDI, non JSON.
| Intestazione di risposta | Valore |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<titolo del brano>.mid" |
Ottenere un indirizzo di download
Se ti serve prima l'indirizzo e poi il download (per esempio per impacchettare più file), chiama prima:
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"
}
}
Anche questo indirizzo richiede l'intestazione Authorization; senza chiave API restituisce 401.
Informazioni sul file MIDI
| Voce | Valore | Note |
|---|---|---|
| Formato file | SMF format 1 | 1 traccia Tempo + 1 traccia per strumento |
| Risoluzione temporale | 480 PPQ | 480 tick per battito |
| Tempo | 120 BPM | Suno fornisce solo secondi, non il BPM, quindi si usa un tempo fisso per scrivere la timeline |
| Timeline | 1 secondo = 960 tick |
Corrisponde uno a uno ai secondi restituiti dalla piattaforma; cambia il tempo nella DAW se serve |
| Velocity | 0–127 | La piattaforma fornisce float 0–1; l'endpoint li ha già convertiti con ×127 |
| Batteria | Canale MIDI 10 | Le tracce che la piattaforma segna come batteria vengono collocate automaticamente sul canale delle percussioni |
Note
- Valido solo per tracce che hanno già gli stem:
song_iddeve essere un ID traccia restituito da/api/music/separate, non l'ID del brano originale. - Uno stem senza note è un risultato normale: alcune tracce (per esempio FX) non hanno note trascrivibili; in quel caso viene restituito un file MIDI valido senza note invece di un errore.
- Il MIDI contiene solo informazioni sulle note: volume, pan ed effetti non fanno parte del MIDI; imposta il timbro direttamente nella DAW.
- Richiedi ogni traccia separatamente: una richiesta restituisce il
.middi una traccia; per più tracce chiama ciascuna oppure usa il download impacchettato in batch della Create UI.
Ottenere una chiave API
Dopo la registrazione puoi creare una chiave API nella console. Ogni generazione costa 0,6 ¥ e restituisce 2 brani, i download sono illimitati e non serve un numero di telefono.
Ottieni chiave API Torna alla panoramica