POST /maestro/videos).
ستقدم هذه الوثيقة تعليمات تكامل واجهة API للاستعلام عن مهام Maestro بالتفصيل. نظرًا لأن إنشاء الفيديو مهمة غير متزامنة، يجب استخدام هذه الواجهة للاستعلام الدوري عن التقدم والفيديو النهائي بعد الإرسال، والاستعلام الدوري مجاني ولا يستهلك النقاط.
POST https://api.acedata.cloud/maestro/tasks
عملية التقديم
لاستخدام واجهة API للاستعلام عن مهام Maestro، انتقل أولاً إلى وحدة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به للاستخدام لاحقًا.
إذا لم تكن قد سجلت الدخول أو أنشأت حسابًا بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وستعود تلقائيًا إلى الصفحة الحالية بعد الإكمال.
يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، ولا حاجة للتقديم بشكل منفصل لكل خدمة. سيُمنح رصيد مجاني عند التقديم لأول مرة لتجربة الخدمة مجانًا؛ وعندما لا يكون الرصيد كافيًا، يمكنك شحن الرصيد العام من وحدة التحكم.
📘 الوثائق الكاملة: واجهة API للاستعلام عن مهام Maestro →
الاستعلام عن مهمة واحدة
لمعرفة كيفية إنشاء مهمة فيديو، يرجى الرجوع إلى وثيقة واجهة API لإنشاء فيديو Maestro. سنأخذ أحد معرّفات المهام التي تُرجعها كمثال:f57e99c4f60f4373a15517742ce2357d، لعرض كيفية الاستعلام عن حالتها ونتيجتها.
إعداد ترويسات الطلب وجسم الطلب
تشمل Request Headers ما يلي:accept: يحدد تلقي نتائج الاستجابة بتنسيق JSON، وهنا يتم تعبئته بـapplication/json.authorization: مفتاح استدعاء API، ويمكن اختياره مباشرةً من القائمة المنسدلة بعد التقديم.content-type: تنسيق جسم الطلب، وهنا يتم تعبئته بـapplication/json.
مثال على الكود
كود CURL المقابل كما يلي:مثال على الاستجابة
بعد نجاح الطلب، ستُرجع API حالة ونتيجة مهمة الفيديو هذه. مثال على الاستجابة عند اكتمال المهمة كما يلي (يقابل كل لغةvariant واحد):
id: معرّف مهمة الفيديو هذه، ويُستخدم لتمييز مهمة إنشاء الفيديو هذه بشكل فريد.status: حالة المهمة، وقيمها هيpending → planning → producing → succeeded(أوfailed). يُعتمد علىstatusهذا في المستوى الأعلى لتحديد ما إذا كانت المهمة قد اكتملت.elapsed: الوقت المنقضي للمهمة (بالثواني).progress: كائن التقدم في المستوى الأعلى، يتم تعيينpercent(0–100) إلى 100 كقيمة احتياطية بعد نجاح المهمة؛ ويعكسstageوmessageأحدث حدث تقدم من مخرج الذكاء الاصطناعي (لذلك قد يظلstageبعد النجاح في آخر مرحلة تنفيذ مثلproducing)، ويمكن استخدامه مباشرةً لعرض شريط التقدم.request: جسم الطلب عند بدء المهمة.response: معلومات الإرجاع الخاصة بالمهمة.success: ما إذا كانت المهمة ناجحة.data.variants: يقابل كل لغة كائن فيديو نهائي واحد، ويتضمنlangوaspectوtitleوoutput_url(عنوان تنزيل الفيديو النهائي) وغيرها.data.project: مخرجات المشروع بالكامل، وتتضمنtarball_url(حزمة المشروع) وoutputs(جميع روابط الفيديوهات النهائية).data.progress: مصفوفة أحداث التقدم التي تُضاف حسب المراحل (سجل append-only)، ويمكن استخدامها لعرض التقدم التفصيلي في الوقت الفعلي.
created_at: وقت إنشاء المهمة، طابع زمني Unix (بالثواني).started_at: وقت بدء تنفيذ المهمة، طابع زمني Unix (بالثواني). تكون null عندما لا تكون المهمة قد بدأت بعد.finished_at: وقت اكتمال المهمة، طابع زمني Unix (بالثواني). تكون null عندما لا تكتمل المهمة.
الاستعلام عن قائمة السجل
يمكنك تمريرaction: retrieve_batch للحصول على أحدث مهام المنفذ المسجل دخوله حاليًا (مرتبة تنازليًا حسب وقت الإنشاء)، ويمكن استخدامها لصفحة قائمة «فيديوهاتي». يتم عزل قائمة السجل حسب هوية تسجيل الدخول.
تشمل Request Body ما يلي:
مثال على الكود
كود CURL المقابل كما يلي:مثال على الاستجابة
بعد نجاح الطلب، ستُرجع API قائمة المهام السابقة للمستخدم الحالي:count: إجمالي عدد المهام المرئية للمنفّذ الذي سجل الدخول حاليًا، ولا يتأثر بشروط الوقت أوlimit.items: مصفوفة المهام التي تمت تصفيتها وفقًا لشروط الوقت وlimit، مرتبة تنازليًا حسب وقت الإنشاء؛ يتطابق تنسيق كل عنصر مع نتيجة الإرجاع الخاصة بـ«الاستعلام عن مهمة واحدة».
توصيات الاستعلام الدوري
نظرًا لأن إنتاج الفيديو يستغرق وقتًا طويلًا، سيمرstatus عبر pending → planning → producing → succeeded (أو failed). يُوصى بالاستعلام الدوري مرة كل 5–10 ثوانٍ، حتى يصبح status هو succeeded أو failed. يمكن استخدام progress.percent في المستوى الأعلى لعرض شريط التقدم في الوقت الفعلي. الاستعلام الدوري عن هذه الواجهة مجاني ولا يستهلك نقاطًا.
معالجة الأخطاء
عند استدعاء API، إذا واجهت خطأً، فستُرجع API رمز الخطأ والمعلومات المقابلة. على سبيل المثال:401 invalid_token: غير مصرح به، رمز التفويض غير صالح أو مفقود.404 not_found: المهمة غير موجودة، لا يوجد task_id المحدد.429 too_many_requests: طلبات كثيرة جدًا، لقد تجاوزت حد المعدل.500 api_error: خطأ داخلي في الخادم، حدث خطأ ما على الخادم.
مثال على استجابة خطأ
الخلاصة
من خلال هذا المستند، تعرفت بالفعل على كيفية استخدام API الاستعلام عن مهام Maestro للاستعلام عن حالة ونتيجة مهمة واحدة، وكذلك جلب قائمة المهام السابقة للمستخدم الحالي. نأمل أن يساعدك هذا المستند على التكامل مع API واستخدامها بشكل أفضل. إذا كانت لديك أي أسئلة، يرجى الاتصال بفريق الدعم الفني لدينا في أي وقت.الواجهات ذات الصلة
- دليل التكامل مع API إنشاء فيديو Maestro: استخدم مطالبة بلغة طبيعية واحدة لإنتاج فيديو نهائي مزود بترجمات تلقائيًا، ويُرجع
task_idبعد الإرسال، ثم استخدم هذه الواجهة للاستعلام الدوري عن النتائج.

