Skip to main content
العديد من نقاط النهاية للوسائط غير متزامنة. تبدأ طلبات الإنشاء العمل وتعيد هوية مهمة عامة من TokenLab؛ يقوم تطبيقك بالاستطلاع حتى تصل تلك المهمة إلى حالة نهائية. لا تبني سير عمل العملاء حول عناوين URL لمهام المصدر، أو معرفات التوجيه، أو سلوك ردود مزود الخدمة.

عقد المهمة العامة

يمكن أن تتضمن استجابات الإنشاء: /v1/tasks/{id} هو نقطة النهاية الثابتة القياسية لحالة وظائف الوسائط العامة غير المتزامنة. قد توجد مسارات حالة محددة للوسائط للتوافق، ولكن يجب أن تفضل التكاملات الجديدة poll_url أو /v1/tasks/{id}.

التدفق الموصى به

  1. تحقق من طلب المستخدم وأرسل مكالمة الإنشاء مع model صريح.
  2. احتفظ بـ id / task_id، poll_url، نقطة النهاية، النموذج، معرف المستخدم، ومعرف وظيفتك الخاص قبل إعادة التحكم إلى واجهة المستخدم.
  3. استطلع كل 5-10s للمهام الطويلة الأمد.
  4. توقف فقط عندما تكون المهمة مكتملة أو فشلت.
  5. عند الاكتمل، اقرأ حقول النتائج الخاصة بالوسائط وخزن عناوين URL النهائية أو البيانات الوصفية.
  6. عند الفشل، خزّن الخطأ العام وقدم إعادة المحاولة فقط كوظيفة جديدة مرئية للمستخدم.

مثال على الاستطلاع

الحالات العامة المتوقعة هي pending، processing، completed، و failed. يتم تمثيل المهام الملغاة كـ failed مع cancelled: true و cancellation_status: "cancelled" بحيث تستمر معالجة الحالة القديمة في العمل.

قواعد إعادة المحاولة للعميل

تعتبر مهلات الشبكة المصدر الأكثر شيوعًا للوظائف المكررة. استخدم هذه القاعدة: لا ترسل طلب إنشاء ثانٍ لمجرد أن المتصفح تم تحديثه أو فشل استطلاع الحالة.

الفوترة والتسوية

يمكن أن تحتفظ الوظائف غير المتزامنة بمبلغ تقديري عندما يتم قبول طلب الإنشاء. تحدث التسوية النهائية بعد الحالة النهائية. عندما تكون متاحة، يمكن أن تكشف استجابات حالة المهمة عن billing_transaction_id ورأس X-Billing-Transaction-ID. للتسوية، انضم إلى هذه المعرفات في سجلاتك:
  • request_id من طلب الإنشاء.
  • task_id / id من المهمة.
  • billing_transaction_id عند وجوده.
  • معرف المستخدم الخاص بك، معرف المشروع، أو معرف الوظيفة.

الإلغاء

DELETE /v1/tasks/{id} محدود عمدًا. عندما تدعم المهمة المحددة الإلغاء، ينطبق على مهام فيديو Seedance الموجودة في قائمة الانتظار مثل seedance-1.5-pro وseedance-2.0 وseedance-2.0-fast. تعود المهام غير المدعومة بـ 400 unsupported_task_cancel. المهام التي تعمل بالفعل أو النهائية تعود بـ 409 task_not_cancellable. قم ببناء واجهة إلغاء كـ “طلب الإلغاء” بدلاً من زر توقف مضمون.

استكشاف الأخطاء وإصلاحها

حزمة الدعم

عند الاتصال بالدعم، قم بتضمين request_id، task_id، billing_transaction_id عند وجوده، نقطة النهاية، النموذج، الطابع الزمني، وشكل الطلب المنقح. لا تتضمن مفاتيح API، الوسائط الخاصة، عناوين URL الموقعة، أو المطالبات الكاملة ما لم يطلب الدعم عينة منقحة.

مرجع API