API de récupération MIDI
Description du point d'accès
Le point d'accès MIDI convertit en fichier MIDI standard les pistes qui ont déjà des stems, pour l'arrangement, un travail créatif ultérieur ou l'import dans un DAW.
Suno ne fournit pas d'adresse de téléchargement de fichier MIDI ; il ne fournit que les données de notes de chaque piste (hauteur, temps de début et de fin, vélocité). Ce point d'accès convertit ces données de notes en fichier MIDI standard (SMF format 1) et le renvoie directement : ce que vous recevez est donc toujours un vrai .mid qu'un DAW peut ouvrir.
Point d'accès : POST /api/music/download-file
Cette page est l'exemple spécifique MIDI. La description complète de la famille des téléchargements (adresses de médias, fichier unique, empaquetage, écoute pendant la génération) se trouve dans l'API de téléchargement et d'écoute des médias de morceaux.
Facturation : Gratuit. Ce point d'accès lit les données de notes de stems existants et ne déduit aucun quota.
Paramètres de la requête
Headers
| Paramètre | Type | Obligatoire | Remarques |
|---|---|---|---|
| Authorization | string | oui | Bearer YOUR_API_KEY |
| Content-Type | string | oui | application/json |
Paramètres du corps
| Paramètre | Type | Obligatoire | Par défaut | Remarques |
|---|---|---|---|---|
| song_id | string | oui | - | L'ID d'une seule piste après séparation (chaque clip id renvoyé par /api/music/separate) |
| kind | string | oui | - | Fixe à midi |
Exemple de requête
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éponse
Le corps de la réponse est le contenu binaire du fichier MIDI, pas du JSON.
| En-tête de réponse | Valeur |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<titre du morceau>.mid" |
Obtenir une adresse de téléchargement
Si vous voulez d'abord l'adresse puis télécharger (par exemple pour empaqueter plusieurs fichiers), appelez d'abord :
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"
}
}
Cette adresse exige également l'en-tête Authorization ; sans clé d'API elle renvoie 401.
À propos du fichier MIDI
| Élément | Valeur | Remarques |
|---|---|---|
| Format de fichier | SMF format 1 | 1 piste Tempo + 1 piste par instrument |
| Résolution temporelle | 480 PPQ | 480 ticks par temps |
| Tempo | 120 BPM | Suno ne donne que des secondes, pas de BPM, donc un tempo fixe est utilisé pour écrire la timeline |
| Timeline | 1 seconde = 960 ticks |
Correspond une à une aux secondes renvoyées par la plateforme ; modifiez le tempo dans le DAW si besoin |
| Vélocité | 0–127 | La plateforme fournit des flottants 0–1 ; le point d'accès les a déjà convertis en ×127 |
| Batterie | Canal MIDI 10 | Les pistes marquées comme batterie par la plateforme sont placées automatiquement sur le canal de percussion |
Remarques
- Valable uniquement pour les pistes qui ont déjà des stems :
song_iddoit être un ID de piste renvoyé par/api/music/separate, pas l'ID du morceau d'origine. - Un stem sans notes est un résultat normal : certaines pistes (par exemple FX) n'ont pas de notes transcrivibles ; dans ce cas un fichier MIDI valide sans notes est renvoyé au lieu d'une erreur.
- Le MIDI ne contient que des informations de notes : volume, panoramique et effets ne font pas partie du MIDI ; réglez le timbre vous-même dans le DAW.
- Demandez chaque piste séparément : une requête renvoie le
.midd'une piste ; pour plusieurs pistes, appelez chacune d'elles ou utilisez le téléchargement empaqueté par lots de la Create UI.
Obtenir une clé d'API
Créez une clé d'API dans la console après votre inscription. Chaque génération coûte 0,6 ¥ et renvoie 2 pistes, les téléchargements sont illimités et aucun numéro de téléphone n'est requis.
Obtenir une clé d'API Retour à la présentation