واجهة الرفع المعزّز

آخر تحديث 2026-09-18 · فريق Suno-API

وصف نقطة النهاية

الرفع المعزّز يرسل ملفاً صوتياً محلياً؛ فينفّذ النظام تحسيناً في الخلفية ويُنتج أغنية كاملة قابلة للتشغيل. ويعيد نداء الإرسال معلومات المهمة فوراً، ويستعلم العميل من واجهة الاستعلام لمتابعة التقدّم.

واجهة الإرسال: POST /api/music/enhanced-upload

استعلام مهمة واحدة: GET /api/music/enhanced-upload/:id

إلغاء المهمة: POST /api/music/enhanced-upload/:id/cancel

استعلام القائمة: GET /api/music/enhanced-upload

الفوترة: 10 يوان لكل طلب، تُخصم مقدماً بالسعر الثابت suno-enhanced-upload. وإذا فشلت المهمة أو أُلغيت في المرحلة المسموح بها، يُعاد المبلغ المخصوم مقدماً تلقائياً. والمبلغ المخصوم فعلاً يتبع إعداد الأسعار الحالي في لوحة الإدارة.

تسلسل الاستدعاء

  1. استدعِ POST /api/music/enhanced-upload لرفع الملف الصوتي.
  2. احفظ task_id المُعاد.
  3. استدعِ GET /api/music/enhanced-upload/:id لمعرفة التقدّم والنتيجة.
  4. بعد أن يُنهي Suno العرض النهائي، تستخدم الخدمة حساب Suno المرتبط بتلك المهمة لاستدعاء واجهة التنزيل المصرّح بها في Studio وكتابة ملف MP3 في خدمة وسائط CN2.
  5. لا تصبح المهمة completed إلا بعد جهوزية أصل CN2، وعندها يُقرأ عنوان الصوت من CDN في audio_url من الاستجابة.

/api/forbidden عنوان بديل قد يظهر في بيانات Suno Studio الوصفية؛ وهو ليس مورداً قابلاً للتشغيل أو التنزيل. ولا يُعاد للعميل أبداً ولا يُستخدم أساساً للحكم على الاكتمال. وإذا انتهى العرض لكن CN2 ما زال يجهّز، تستمر الواجهة في إرجاع processing ولا تُعيد audio_url؛ وعلى العميل مواصلة الاستعلام وعدم اعتبار العنوان الفارغ فشلاً.

إرسال رفع معزّز

Headers

المعامل النوع مطلوب ملاحظات
Authorization string نعم Bearer YOUR_API_KEY
Content-Type string لا في طلبات multipart لا تضبطه يدوياً؛ اترك العميل يولّده

معاملات النموذج

المعامل النوع مطلوب القيمة الافتراضية ملاحظات
file file نعم - ملف صوتي محلي، بحد أقصى 80 ميجابايت
title string لا اسم الملف بدون امتداد عنوان الأغنية

مثال الطلب

يستخدم المثال أدناه نفس طريقة الاستدعاء كما في التحقق على بيئة الإنتاج، لكن مفتاح API استُبدل بقيمة بديلة.

curl.exe --http1.1 -s -S \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "file=@source.aac" \
  -F "title=Enhanced upload demo" \
  "https://www.suno-api.io/api/music/enhanced-upload"

الاستجابة

{
  "success": true,
  "message": "",
  "data": {
    "task_id": 3209,
    "song_id": "pending:enhanced-upload:cu_20260611003241723483700xnCcQg",
    "client_request_id": "cu_20260611003241723483700xnCcQg",
    "title": "Enhanced upload demo",
    "file_name": "source.aac",
    "status": "queued",
    "created_at": 1781137961,
    "pre_consumed_quota": 5000000,
    "billing_source": "wallet"
  }
}

استعلام مهمة واحدة

مثال الطلب

curl.exe --http1.1 -s -S \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.suno-api.io/api/music/enhanced-upload/3209"

مثال الاستجابة أثناء المعالجة

{
  "success": true,
  "message": "",
  "data": {
    "task": {
      "task_id": 3209,
      "song_id": "pending:enhanced-upload:cu_20260611003241723483700xnCcQg",
      "client_request_id": "cu_20260611003241723483700xnCcQg",
      "title": "Enhanced upload demo",
      "file_name": "source.aac",
      "status": "processing",
      "type": "enhanced_upload",
      "progress": {
        "stage": "media_preparing",
        "percent": 98,
        "label": "正在准备播放资源",
        "updated_at": 1781138500
      },
      "pre_consumed_quota": 5000000,
      "billing_source": "wallet",
      "created_at": 1781137961,
      "updated_at": 1781138500
    }
  }
}

مثال الاستجابة عند الاكتمال

{
  "success": true,
  "message": "",
  "data": {
    "task": {
      "task_id": 3209,
      "song_id": "56cbd0bb-0e8c-4a34-8729-55d5c05d9c53",
      "client_request_id": "cu_20260611003241723483700xnCcQg",
      "title": "Enhanced upload demo",
      "file_name": "source.aac",
      "status": "completed",
      "type": "enhanced_upload",
      "audio_url": "https://media.code-go.com/assets/56cbd0bb-0e8c-4a34-8729-55d5c05d9c53-mp3.mp3",
      "duration": 217.74,
      "progress": {
        "stage": "completed",
        "percent": 100,
        "label": "已完成",
        "updated_at": 1781138943
      },
      "pre_consumed_quota": 5000000,
      "billing_source": "wallet",
      "created_at": 1781137961,
      "updated_at": 1781138943,
      "completed_at": 1781138943
    }
  }
}

إلغاء المهمة

لا يمكن الإلغاء إلا ما دامت المهمة وسير العمل في الخلفية في مرحلة queued. وبعد دخول المهمة في leasing أو running أو processing أو اكتمالها، لا يمكن إلغاؤها.

مثال الطلب

curl.exe --http1.1 -s -S -X POST \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.suno-api.io/api/music/enhanced-upload/3209/cancel"

الاستجابة

{
  "success": true,
  "message": "",
  "data": {
    "task_id": 3209,
    "song_id": "pending:enhanced-upload:cu_20260611003241723483700xnCcQg",
    "client_request_id": "cu_20260611003241723483700xnCcQg",
    "status": "cancelled"
  }
}

وإذا كانت المهمة قد بدأت المعالجة، فستعيد الواجهة:

{
  "success": false,
  "message": "强化上传已开始处理,无法取消"
}

استعلام قائمة المهام

تُعيد واجهة القائمة مهام الرفع المعزّز الخاصة بمستخدم مفتاح API الحالي فقط، ولا تختلط بمهام التوليد العادي أو الكوفر أو التمديد.

معاملات الاستعلام

المعامل النوع مطلوب القيمة الافتراضية ملاحظات
p number لا 1 رقم الصفحة
page_size number لا القيمة الافتراضية للنظام عدد العناصر في الصفحة، بحد أقصى 100

مثال الطلب

curl.exe --http1.1 -s -S \
  -H "Authorization: Bearer YOUR_API_KEY" \
  "https://www.suno-api.io/api/music/enhanced-upload?p=1&page_size=3"

الاستجابة

{
  "success": true,
  "message": "",
  "data": {
    "page": 1,
    "page_size": 3,
    "total": 1,
    "items": [
      {
        "task_id": 3209,
        "song_id": "56cbd0bb-0e8c-4a34-8729-55d5c05d9c53",
        "client_request_id": "cu_20260611003241723483700xnCcQg",
        "title": "Enhanced upload demo",
        "file_name": "source.aac",
        "status": "completed",
        "type": "enhanced_upload",
        "audio_url": "https://media.code-go.com/assets/56cbd0bb-0e8c-4a34-8729-55d5c05d9c53-mp3.mp3",
        "duration": 217.74,
        "progress": {
          "stage": "completed",
          "percent": 100,
          "label": "已完成",
          "updated_at": 1781138943
        },
        "pre_consumed_quota": 5000000,
        "billing_source": "wallet",
        "created_at": 1781137961,
        "updated_at": 1781138943,
        "completed_at": 1781138943
      }
    ]
  }
}

شرح حقول الاستجابة

الحقل النوع ملاحظات
task_id number معرّف مهمة الرفع المعزّز؛ يُستخدم في الاستعلامات اللاحقة والإلغاء
song_id string أثناء المعالجة pending:enhanced-upload:*، وبعد الاكتمال معرّف الأغنية الحقيقي
client_request_id string معرّف تتبّع طلب العميل
status string حالة المهمة، مثل queued أو processing أو completed أو failed أو cancelled
type string دائماً enhanced_upload
audio_url string عنوان الصوت بعد الاكتمال
duration number مدة الصوت بالثواني
progress.stage string مرحلة المعالجة الحالية
progress.percent number نسبة التقدّم
progress.label string نص التقدّم المعروض للمستخدم
pre_consumed_quota number الحصة المخصومة مقدماً لهذا الطلب
billing_source string مصدر الخصم، مثل wallet
error_message string سبب الفشل

ملاحظات

بدء الكوفر بعد اكتمال الرفع المعزّز

بعد اكتمال الرفع المعزّز يمكنك استخدام النتيجة كمقطع مصدر واستدعاء POST /api/music/generate-from-source لبدء الكوفر.

تنبيه: الكوفر واجهة متزامنة — ولا يُقبل الطلب إلا عند وصول الاستجابة، وقد يصل الانتظار في حالات مقيسة إلى نحو 230 ثانية. اضبط مهلة العميل على 300 ثانية أو أكثر، ولا تُعد المحاولة فوراً بعد انتهاء المهلة. راجع «أوقات الانتظار وإعدادات المهلة» في نظرة عامة على الواجهة الجديدة.

استعلم أولاً GET /api/music/enhanced-upload/:id حتى يصبح task.status هو completed. وعندها:

عند بدء الكوفر، استخدم مفتاح API نفسه المستخدم في الرفع المعزّز، وركّب الطلب وفق مطابقة الحقول أدناه.

حقل طلب الكوفر مصدر القيمة
sourceClipId task.song_id من نتيجة الرفع المعزّز المكتملة
sourceAudioUrl task.audio_url من نتيجة الرفع المعزّز المكتملة
sourceTitle task.title من نتيجة الرفع المعزّز المكتملة

املأ بقية المعاملات (الكلمات والأسلوب والعنوان والنموذج) وفق واجهة الكوفر من مقطع مصدر. وبعد أن تُعيد واجهة الكوفر clips[].song_id الجديد، استخدم POST /api/music/query للاستعلام عن حالة التوليد والصوت النهائي.

التاليواجهة الرفع ثم الغلاف في خطوة واحدة

احصل على مفتاح API

أنشئ مفتاح API من لوحة التحكم بعد التسجيل. كل عملية توليد تكلف 0.6 يوان وتعيد مقطوعتين، والتنزيلات غير محدودة، ولا حاجة إلى رقم هاتف.

احصل على مفتاح API العودة إلى النظرة العامة