واجهة الحصول على ملفات MIDI
وصف نقطة النهاية
تُحوّل واجهة MIDI المسارات التي تم فصلها إلى stems إلى ملف MIDI قياسي، للاستخدام في التوزيع أو العمل الإبداعي اللاحق أو الاستيراد في DAW.
لا يوفّر Suno عنوان تنزيل لملفات MIDI، بل يوفّر فقط بيانات النوتات لكل مسار (درجة الصوت، وقت البداية والنهاية، شدة العزف). وهذه الواجهة تحوّل بيانات النوتات إلى ملف MIDI قياسي (SMF format 1) وتعيده مباشرةً، لذا ما تحصل عليه دائماً ملف .mid حقيقي يمكن لـ DAW فتحه.
نقطة النهاية: POST /api/music/download-file
هذه الصفحة مثال مخصّص لملفات MIDI. والوصف الكامل لعائلة التنزيل (عناوين الوسائط، ملف واحد، التجميع، الاستماع أثناء التوليد) موجود في واجهة تنزيل وسَماع وسائط الأغاني.
الفوترة: مجاني. تقرأ هذه الواجهة بيانات نوتات الـ stems الموجودة ولا تخصم من الرصيد.
معاملات الطلب
Headers
| المعامل | النوع | مطلوب | ملاحظات |
|---|---|---|---|
| Authorization | string | نعم | Bearer YOUR_API_KEY |
| Content-Type | string | نعم | application/json |
معاملات الجسم
| المعامل | النوع | مطلوب | القيمة الافتراضية | ملاحظات |
|---|---|---|---|---|
| song_id | string | نعم | - | معرّف مسار واحد بعد الفصل (كل clip id تُعيده /api/music/separate) |
| kind | string | نعم | - | ثابت على midi |
مثال الطلب
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
الاستجابة
جسم الاستجابة هو المحتوى الثنائي لملف MIDI، وليس JSON.
| ترويسة الاستجابة | القيمة |
|---|---|
| Content-Type | audio/midi |
| Content-Disposition | attachment; filename="<عنوان الأغنية>.mid" |
الحصول على عنوان التنزيل
إذا أردت العنوان أولاً ثم التنزيل (مثلاً لتجميع عدة ملفات)، فاستدعِ أولاً:
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"
}
}
يحتاج هذا العنوان أيضاً إلى ترويسة Authorization؛ وبدون مفتاح API تُعاد الاستجابة 401.
حول ملف MIDI
| البند | القيمة | ملاحظات |
|---|---|---|
| صيغة الملف | SMF format 1 | مسار Tempo واحد + مسار لكل آلة |
| دقة الزمن | 480 PPQ | 480 tick لكل نبضة |
| السرعة | 120 BPM | يقدّم Suno الثواني فقط دون BPM، لذلك تُستخدم سرعة ثابتة لكتابة الخط الزمني |
| الخط الزمني | 1 ثانية = 960 tick |
يقابل الثواني التي تُعيدها المنصة واحداً بواحد؛ غيّر السرعة في DAW حسب الحاجة |
| شدة العزف | 0–127 | تُعيد المنصة قيماً عشرية بين 0 و1، وقد حوّلتها الواجهة بضربها في ×127 |
| الطبول | قناة MIDI رقم 10 | المسارات التي تُعلّمها المنصة كطبول توضع تلقائياً في قناة الإيقاع |
ملاحظات
- صالحة فقط للمسارات التي تم فصلها إلى stems: يجب أن يكون
song_idمعرّف مسار تُعيده/api/music/separate، لا معرّف الأغنية الأصلية. - عدم وجود نوتات في stem نتيجة طبيعية: بعض المسارات (مثل FX) لا تحتوي نوتات قابلة للتدوين؛ وفي هذه الحالة يُعاد ملف MIDI صالح بدون نوتات بدلاً من خطأ.
- MIDI يحتوي على معلومات النوتات فقط: مستوى الصوت والتوزيع والتأثيرات ليست ضمن MIDI، فعليك ضبط الآلة بنفسك في DAW.
- اطلب كل مسار على حدة: الطلب الواحد يُعيد ملف
.midلمسار واحد؛ ولعدة مسارات استدعِ كل مسار أو استخدم تنزيل الحزم في Create UI.
احصل على مفتاح API
أنشئ مفتاح API من لوحة التحكم بعد التسجيل. كل عملية توليد تكلف 0.6 يوان وتعيد مقطوعتين، والتنزيلات غير محدودة، ولا حاجة إلى رقم هاتف.
احصل على مفتاح API العودة إلى النظرة العامة