- النسخة 1 (الوضع الكلاسيكي): تدعم
duration(10/15/25 ثانية)،orientation(أفقي/عمودي)،size(جودة صغيرة/كبيرة)، صور مرجعيةimage_urls، فيديوهات شخصياتcharacter_urlوغيرها من المعلمات. - النسخة 2 (وضع الشركاء): تدعم
seconds(4/8/12 ثانية)، دقة بكسلsize(مثل 1280x720)، صور مرجعيةinput_referenceوغيرها من المعلمات.
عملية التقديم
لاستخدام واجهة برمجة تطبيقات توليد فيديوهات Sora، يجب أولاً الذهاب إلى لوحة تحكم Ace Data Cloud للحصول على رمز API الخاص بك، للاحتفاظ به كنسخة احتياطية.
إذا لم تكن قد قمت بتسجيل الدخول أو التسجيل بعد، سيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك للتسجيل وتسجيل الدخول، وبعد الانتهاء سيتم العودة تلقائيًا إلى الصفحة الحالية.
يمكن استخدام رمز API واحد لاستدعاء جميع خدمات المنصة، دون الحاجة لتقديم طلب منفصل لكل خدمة. ستمنحك أول عملية تقديم رصيدًا مجانيًا لتجربته؛ وعند نفاد الرصيد يمكنك إعادة شحن الرصيد العام في لوحة التحكم.
📘 الوثائق الكاملة: واجهة برمجة تطبيقات توليد فيديوهات Sora →
الاستخدام الأساسي (النسخة 1)
أولاً، يجب فهم طريقة الاستخدام الأساسية للنسخة 1، وهي إدخال كلمة التلميحprompt، ومصفوفة روابط الصور المرجعية image_urls، والنموذج model، للحصول على النتائج المعالجة، المحتوى المحدد كما يلي:

accept: نوع الاستجابة التي ترغب في تلقيها، هنا يتم ملؤها بـapplication/json، أي بتنسيق JSON.authorization: مفتاح استدعاء API، يمكن اختياره مباشرة بعد التقديم.
model: نموذج توليد الفيديو، يدعمsora-2(الوضع القياسي) وsora-2-pro(الوضع عالي الدقة). حيث يمكن لـsora-2-proدعمdurationلفيديو مدته 25 ثانية، بينما يدعمsora-2فقط 10 و15 ثانية.size: دقة الفيديو،smallتعني دقة قياسية، وlargeتعني دقة HD (فقط في النسخة 1).duration: مدة الفيديو، يدعم 10 و15 و25 ثانية، حيث أن 25 ثانية مدعومة فقط من قبلsora-2-pro(فقط في النسخة 1).orientation: اتجاه الصورة، يدعمlandscape(أفقي) وportrait(عمودي) (فقط في النسخة 1).image_urls: مصفوفة روابط الصور المرجعية، تستخدم لتوليد الفيديو (فقط في النسخة 1).character_url: رابط فيديو الشخصية، لا يمكن أن يظهر فيه أشخاص حقيقيون (فقط في النسخة 1).character_start/character_end: الوقت الذي تظهر فيه الشخصية، الفارق المسموح به هو 1-3 ثوانٍ (فقط في النسخة 1).prompt: كلمة التلميح (مطلوبة).callback_url: عنوان URL لاسترجاع النتائج بشكل غير متزامن.async: اختياري، إذا تم تعيينه إلىtrue، ستعيد الواجهة على الفورtask_id، دون الحاجة لتقديمcallback_url، ثم يمكن استعلام النتائج من خلال واجهة استعلام المهام المقابلة.version: إصدار API،"1.0"(افتراضي) أو"2.0".

success: حالة مهمة توليد الفيديو في ذلك الوقت.task_id: معرف مهمة توليد الفيديو في ذلك الوقت.trace_id: معرف تتبع توليد الفيديو في ذلك الوقت.data: قائمة نتائج مهمة توليد الفيديو في ذلك الوقت.id: معرف الفيديو لمهمة توليد الفيديو في ذلك الوقت.video_url: رابط الفيديو لمهمة توليد الفيديو في ذلك الوقت.state: حالة مهمة توليد الفيديو في ذلك الوقت.
data.
بالإضافة إلى ذلك، إذا كنت ترغب في توليد الكود المقابل للدمج، يمكنك نسخه مباشرة، مثل كود CURL كما يلي:
مهمة توليد الفيديو من الصور (النسخة 1)
إذا كنت ترغب في إجراء مهمة توليد فيديو من الصور، يجب أولاً تمرير معلمةimage_urls مع روابط الصور المرجعية، لتحديد المحتوى كما يلي:
image_urls: مصفوفة روابط الصور المرجعية المستخدمة في مهمة توليد الفيديو. لاحظ أنه لا يمكن تمرير صور حقيقية تحتوي على أشخاص ذوي وجوه، وإلا قد يؤدي ذلك إلى فشل المهمة.


مهمة إنشاء فيديو شخصية (الإصدار 1)
إذا كنت ترغب في إجراء مهمة إنشاء فيديو شخصية، يجب أولاً تمرير معلمةcharacter_url مع رابط الفيديو المطلوب لإنشاء الشخصية، مع ملاحظة أنه يجب ألا يظهر أي شخص حقيقي في الفيديو، وإلا ستفشل المهمة، يمكنك تحديد المحتوى كما يلي:
- character_url: رابط الفيديو المطلوب لإنشاء الشخصية، مع ملاحظة أنه يجب ألا يظهر أي شخص حقيقي في الفيديو، وإلا ستفشل المهمة.


وضع الإصدار 2.0
بالإضافة إلى وضع الإصدار 1.0 المذكور أعلاه، تدعم هذه الواجهة أيضًا وضع الإصدار 2.0، من خلال تعيين معلمةversion إلى "2.0" يمكنك تفعيلها. يدعم وضع الإصدار 2.0 مدة فيديو أقصر وتحكم في الدقة على مستوى البكسل.
شرح معلمات الإصدار 2.0
مثال أساسي
استخدام صورة مرجعية (الإصدار 2.0)
في وضع الإصدار 2.0، يمكن تمرير صورة مرجعية من خلال معلمةimage_urls لتوجيه إنشاء الفيديو (استخدام الصورة الأولى فقط):
ملاحظة: يجب أن تتطابق أبعاد الصورة المرجعية مع معلمةsize، على سبيل المثال، إذا كانتsizeهي1280x720، يجب أن تكون أبعاد الصورة المرجعية 1280×720.
مقارنة معلمات الإصدار 1.0 والإصدار 2.0
ردود الفعل غير المتزامنة
نظرًا لأن واجهة برمجة تطبيقات Sora Videos Generation تستغرق وقتًا طويلاً نسبيًا للتوليد، حوالي 1-2 دقيقة، إذا لم تستجب واجهة برمجة التطبيقات لفترة طويلة، ستظل طلبات HTTP متصلة، مما يؤدي إلى استهلاك موارد النظام الإضافية، لذا توفر هذه الواجهة أيضًا دعمًا للردود غير المتزامنة. تتمثل العملية العامة في: عندما يقوم العميل بإرسال الطلب، يحدد حقلcallback_url إضافي، بعد أن يقوم العميل بإرسال طلب واجهة برمجة التطبيقات، ستعيد الواجهة على الفور نتيجة تحتوي على معلومات حقل task_id، تمثل معرف المهمة الحالية. عند اكتمال المهمة، سيتم إرسال نتيجة الفيديو المولد إلى callback_url المحدد من قبل العميل عبر POST JSON، والتي تتضمن أيضًا حقل task_id، بحيث يمكن ربط نتيجة المهمة من خلال المعرف.
دعونا نفهم كيفية القيام بذلك من خلال مثال.
أولاً، ردود الفعل عبر Webhook هي خدمة يمكنها استقبال طلبات HTTP، يجب على المطورين استبدالها بعنوان URL الخاص بخادم HTTP الذي قاموا بإنشائه. هنا، لتسهيل العرض، نستخدم موقع ويب عينة Webhook عام https://webhook.site/، افتح هذا الموقع للحصول على عنوان URL لـ Webhook، كما هو موضح في الصورة:
انسخ هذا العنوان URL، يمكنك استخدامه كـ Webhook، والعينة هنا هي https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa.
بعد ذلك، يمكننا تعيين حقل callback_url إلى عنوان URL الخاص بـ Webhook المذكور أعلاه، مع ملء المعلمات المناسبة، كما هو موضح في الصورة:

https://webhook.site/eb238c4f-da3b-47a5-a922-a93aa5405daa، كما هو موضح في الصورة:
المحتوى كما يلي:
task_id، بينما الحقول الأخرى مشابهة لما سبق، من خلال هذا الحقل يمكن ربط المهمة.
معالجة الأخطاء
عند استدعاء واجهة برمجة التطبيقات، إذا واجهت أخطاء، ستعيد الواجهة رمز خطأ ومعلومات مناسبة. على سبيل المثال:400 token_mismatched: طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.400 api_not_implemented: طلب غير صالح، ربما بسبب معلمات مفقودة أو غير صالحة.401 invalid_token: غير مصرح به، رمز تفويض غير صالح أو مفقود.429 too_many_requests: عدد كبير جدًا من الطلبات، لقد تجاوزت الحد الأقصى لمعدل الطلبات.500 api_error: خطأ في الخادم الداخلي، حدث خطأ ما على الخادم.

