MIDI alma API'si
Uç nokta açıklaması
MIDI uç noktası, hâlihazırda stem'i olan kanalları standart bir MIDI dosyasına dönüştürür; düzenleme, ileri yaratıcı çalışma veya DAW'e aktarma için.
Suno, MIDI dosyaları için indirme adresi sunmaz; yalnızca her kanalın nota verisini (perde, başlangıç ve bitiş zamanı, hız) sağlar. Bu uç nokta bu nota verisini standart bir MIDI dosyasına (SMF format 1) dönüştürüp doğrudan döndürür, dolayısıyla aldığınız şey her zaman bir DAW'in açabileceği gerçek bir .mid dosyasıdır.
Uç nokta: POST /api/music/download-file
Bu sayfa MIDI'ye özel örnektir. İndirme ailesinin (medya adresleri, tek dosya, paketleme, üretim sırasında önizleme) tam açıklaması Şarkı medyası indirme ve önizleme API'si sayfasındadır.
Faturalama: Ücretsiz. Bu uç nokta mevcut stem'lerin nota verisini okur ve bakiye düşmez.
İstek parametreleri
Headers
| Parametre | Tür | Zorunlu | Notlar |
|---|---|---|---|
| Authorization | string | evet | Bearer YOUR_API_KEY |
| Content-Type | string | evet | application/json |
Gövde parametreleri
| Parametre | Tür | Zorunlu | Varsayılan | Notlar |
|---|---|---|---|---|
| song_id | string | evet | - | Ayırma sonrası tek bir kanalın kimliği (/api/music/separate tarafından döndürülen her clip id) |
| kind | string | evet | - | midi olarak sabit |
İstek örneği
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
Yanıt
Yanıt gövdesi MIDI dosyasının ikili içeriğidir, JSON değildir.
| Yanıt başlığı | Değer |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<şarkı başlığı>.mid" |
İndirme adresi alma
Önce adresi alıp sonra indirmek isterseniz (örneğin birkaç dosyayı paketlemek için) önce şunu çağırın:
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"
}
}
Bu adres de Authorization başlığı gerektirir; API anahtarı olmadan 401 döndürür.
MIDI dosyası hakkında
| Öğe | Değer | Notlar |
|---|---|---|
| Dosya biçimi | SMF format 1 | 1 Tempo kanalı + her enstrüman için 1 kanal |
| Zaman çözünürlüğü | 480 PPQ | Vuruş başına 480 tick |
| Tempo | 120 BPM | Suno yalnızca saniye verir, BPM vermez, bu yüzden zaman çizelgesini yazmak için sabit tempo kullanılır |
| Zaman çizelgesi | 1 saniye = 960 tick |
Platformun döndürdüğü saniyelerle bire bir eşleşir; DAW'de gerektiği gibi tempoyu değiştirin |
| Hız | 0–127 | Platform 0–1 ondalık değer verir; uç nokta bunları ×127 ile çevirmiştir |
| Davul | MIDI kanalı 10 | Platformun davul olarak işaretlediği kanallar otomatik olarak perküsyon kanalına yerleştirilir |
Notlar
- Yalnızca stem'i olan kanallar için geçerlidir:
song_id,/api/music/separatetarafından döndürülen bir kanal kimliği olmalıdır, orijinal şarkı kimliği değil. - Notası olmayan bir stem normal bir sonuçtur: bazı kanallarda (örneğin FX) yazıya dökülebilir nota yoktur; bu durumda hata yerine notasız geçerli bir MIDI dosyası döndürülür.
- MIDI yalnızca nota bilgisi içerir: ses seviyesi, panoramik ve efektler MIDI'de yoktur; enstrüman sesini DAW'de kendiniz ayarlayın.
- Her kanalı ayrı ayrı isteyin: bir istek bir kanalın
.middosyasını döndürür; birden çok kanal için her birini çağırın veya Create UI'nin toplu paket indirmesini kullanın.
API anahtarı alın
Kaydolduktan sonra konsoldan bir API anahtarı oluşturun. Her üretim 0,6 ¥ tutarındadır ve 2 parça döner, indirmeler sınırsızdır ve telefon numarası gerekmez.
API anahtarı al Genel bakışa dön