واجهة رفع الصوت المصدر
وصف نقطة النهاية
رفع الصوت المصدر يحوّل ملفاً صوتياً محلياً أو بعيداً إلى مقطع مصدر يمكن للقدرات اللاحقة استخدامه: الكوفر والتمديد واستبدال المقطع والفصل وغيرها.
نقطة النهاية: POST /api/music/upload-source
الفوترة: مجاني. هذه الواجهة ترفع الصوت المصدر فقط، ولا تبدأ مهمة توليد.
الاستخدام الموصى به: هذه هي الخطوة 1 من «الكوفر بخطوتين». ارفع الصوت أولاً عبر هذه الواجهة (مجاناً، ويمكنك إعادة المحاولة في أي وقت عند الفشل) واحفظ
clip_idالمُعاد؛ وبعد التأكد من نجاح الرفع (statusفي حالة مكتملة)، استدعِ واجهة الكوفر من مقطع مصدر لبدء الكوفر — جسم ذلك الطلب لا يتجاوز بضع مئات من البايتات، ولذلك لا يمكن أن يُقطع أثناء النقل لأن الصوت كبير جداً. ومقارنة بواجهة الخطوة الواحدة الرفع ثم الكوفر، فإن هذا التقسيم أكثر ثباتاً عندما يكون الصوت كبيراً أو الشبكة غير مستقرة أو الحاجة إلى إعادة استخدام المادة نفسها عدة مرات (التمديد / الاستبدال / الفصل).
نصائح لرفع الملفات الكبيرة
| الحالة | الأسلوب الموصى به |
|---|---|
| الصوت متاح علناً (لديه رابط https مباشر) | استخدم file_url: جسم الطلب بضع مئات من البايتات فقط، وهو الأكثر ثباتاً |
| ملف محلي (Node / Python / سطح المكتب) | استخدم الرفع multipart (-F "file=@source.mp3") ولا تضبط Content-Type يدوياً |
| لا يتوفر إلا JSON + base64 | انتبه: يجب أن يكون Content-Length عدد البايتات (Buffer.byteLength)، وإلا فقد يُقطع جسم الطلب |
بعد انتهاء الرفع، تأكد دائماً من أن status في الاستجابة أصبح حالة مكتملة واحفظ clip_id قبل الانتقال إلى الخطوة 2؛
وفشل الرفع لا يُحتسب مالياً ولا ينشئ مهمة توليد، فما عليك سوى إعادة المحاولة.
معاملات الطلب
Headers
لطلبات JSON:
| المعامل | النوع | مطلوب | ملاحظات |
|---|---|---|---|
| Authorization | string | نعم | Bearer YOUR_API_KEY |
| Content-Type | string | نعم | application/json |
لا تضبط Content-Type يدوياً في طلبات multipart؛ فالعميل يُنشئه تلقائياً.
معاملات الجسم
| المعامل | النوع | مطلوب | القيمة الافتراضية | ملاحظات |
|---|---|---|---|---|
| model | string | لا | suno-v6 | اسم النموذج للعميل: suno-v6 أو suno-v6-wild أو suno-v6-mini |
| file_url | string | لا | - | عنوان الصوت البعيد |
| file_base64 | string | لا | - | الصوت بصيغة Base64 |
| file_name | string | لا | - | اسم الملف |
| upload_type | string | لا | file_upload | نوع الرفع |
مثال طلب JSON
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno-v6",
"file_url": "https://example.com/source.mp3",
"file_name": "source.mp3",
"upload_type": "file_upload"
}'
مثال طلب multipart
curl -X POST https://www.suno-api.io/api/music/upload-source \
-H "Authorization: Bearer YOUR_API_KEY" \
-F "file=@source.mp3" \
-F "file_name=source.mp3" \
-F "upload_type=file_upload" \
-F "model=suno-v6"
الاستجابة
{
"clip_id": "uploaded_clip_id",
"status": "complete",
"title": "source.mp3",
"image_url": "https://...",
"audio_url": "https://...",
"display_tags": "pop, vocal",
"inferred_description": "uploaded source audio",
"clip_metadata": {}
}
احصل على مفتاح API
أنشئ مفتاح API من لوحة التحكم بعد التسجيل. كل عملية توليد تكلف 0.6 يوان وتعيد مقطوعتين، والتنزيلات غير محدودة، ولا حاجة إلى رقم هاتف.
احصل على مفتاح API العودة إلى النظرة العامة