API pobierania MIDI
Opis punktu końcowego
Punkt końcowy MIDI konwertuje ścieżki, które mają już stem'y, na standardowy plik MIDI — do aranżacji, dalszej pracy twórczej lub importu w DAW.
Suno nie udostępnia adresu pobierania plików MIDI; udostępnia jedynie dane nut każdej ścieżki (wysokość, czas początku i końca, dynamika). Ten punkt końcowy konwertuje te dane na standardowy plik MIDI (SMF format 1) i zwraca go bezpośrednio, więc otrzymujesz zawsze prawdziwy plik .mid, który otworzy DAW.
Punkt końcowy: POST /api/music/download-file
Ta strona to przykład dotyczący wyłącznie MIDI. Pełny opis rodziny pobierania (adresy mediów, pojedynczy plik, pakowanie, odsłuch w trakcie generowania) znajduje się w API pobierania i odsłuchu mediów utworów.
Rozliczenie: Bezpłatne. Ten punkt końcowy odczytuje dane nut istniejących stemów i nie pobiera środków.
Parametry żądania
Headers
| Parametr | Typ | Wymagany | Uwagi |
|---|---|---|---|
| Authorization | string | tak | Bearer YOUR_API_KEY |
| Content-Type | string | tak | application/json |
Parametry body
| Parametr | Typ | Wymagany | Domyślnie | Uwagi |
|---|---|---|---|---|
| song_id | string | tak | - | Identyfikator pojedynczej ścieżki po rozdzieleniu (każdy clip id zwracany przez /api/music/separate) |
| kind | string | tak | - | Stała wartość midi |
Przykład żądania
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
Odpowiedź
Treścią odpowiedzi jest zawartość binarna pliku MIDI, a nie JSON.
| Nagłówek odpowiedzi | Wartość |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<tytuł utworu>.mid" |
Uzyskanie adresu pobierania
Jeśli najpierw potrzebujesz adresu, a dopiero potem pobrania (np. do spakowania kilku plików), wywołaj najpierw:
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"
}
}
Ten adres również wymaga nagłówka Authorization; bez klucza API zwraca 401.
O pliku MIDI
| Element | Wartość | Uwagi |
|---|---|---|
| Format pliku | SMF format 1 | 1 ścieżka Tempo + 1 ścieżka na instrument |
| Rozdzielczość czasu | 480 PPQ | 480 ticków na uderzenie |
| Tempo | 120 BPM | Suno podaje tylko sekundy, bez BPM, dlatego do zapisu osi czasu używane jest stałe tempo |
| Oś czasu | 1 sekunda = 960 ticków |
Odpowiada jeden do jednego sekundom zwracanym przez platformę; w razie potrzeby zmień tempo w DAW |
| Dynamika | 0–127 | Platforma podaje wartości 0–1 zmiennoprzecinkowe; punkt końcowy już przeliczył je przez ×127 |
| Perkusja | Kanał MIDI 10 | Ścieżki oznaczone przez platformę jako perkusja trafiają automatycznie na kanał perkusyjny |
Uwagi
- Działa tylko dla ścieżek, które mają już stem'y:
song_idmusi być identyfikatorem ścieżki zwracanym przez/api/music/separate, a nie identyfikatorem oryginalnego utworu. - Stem bez nut to normalny wynik: niektóre ścieżki (np. FX) nie mają nut do zapisania; w takim przypadku zamiast błędu zwracany jest poprawny plik MIDI bez nut.
- MIDI zawiera tylko informacje o nutach: głośność, panorama i efekty nie są częścią MIDI; brzmienie ustaw samodzielnie w DAW.
- Każdą ścieżkę pobieraj osobno: jedno żądanie zwraca
.midjednej ścieżki; dla wielu ścieżek wywołaj każdą osobno lub użyj zbiorczego pobierania w Create UI.
Uzyskaj klucz API
Po rejestracji utwórz klucz API w konsoli. Każde generowanie kosztuje 0,6 ¥ i zwraca 2 utwory, pobierania są nieograniczone, a numer telefonu nie jest wymagany.
Pobierz klucz API Powrót do przeglądu