الانتقال إلى المحتوى الرئيسي
مع اتساع استخدامات الذكاء الاصطناعي، أصبحت مختلف برامج الذكاء الاصطناعي منتشرة تدريجيًا. وقد تغلغل الذكاء الاصطناعي تدريجيًا في جميع جوانب عمل الناس وحياتهم. كما تزداد الصناعات التي يشملها الذكاء الاصطناعي، بدءًا من الكتابة في البداية، وصولًا إلى التعليم الطبي، ثم إلى الفيديو في الوقت الحالي. Luma هي منصة احترافية عالية الجودة لتوليد الفيديو، حيث يحتاج المستخدمون فقط إلى رفع المواد، ويمكنهم إنشاء مقاطع فيديو عالية الجودة تلقائيًا وفقًا لأنماط وتأثيرات مختلفة. تم تطوير مولد الفيديو بالذكاء الاصطناعي هذا بواسطة أعضاء فريق من شركات تقنية معروفة، ويهدف إلى تمكين الجميع من إنشاء مقاطع فيديو مميزة بسهولة دون الحاجة إلى أدوات تحرير معقدة. ومع ذلك، لا توفر Luma رسميًا واجهة برمجة تطبيقات، بينما توفر AceDataCloud مجموعة من واجهات برمجة تطبيقات Luma، وتحاكي التكامل الرسمي لـ Suno، مما يتيح إنشاء مقاطع الفيديو المطلوبة بسهولة وسرعة.

التقديم والاستخدام

لاستخدام Luma Videos Generation API، انتقل أولًا إلى وحدة تحكم Ace Data Cloud للحصول على API Token الخاص بك، واحتفظ به للاستخدام لاحقًا. إذا لم تكن قد سجلت الدخول أو أنشأت حسابًا بعد، فسيتم تحويلك تلقائيًا إلى صفحة تسجيل الدخول لدعوتك إلى التسجيل وتسجيل الدخول، وبعد الإكمال ستعود تلقائيًا إلى الصفحة الحالية. يمكن لـ API Token واحد استدعاء جميع خدمات المنصة، دون الحاجة إلى التقديم بشكل منفصل لكل خدمة. يمنحك أول تقديم رصيدًا مجانيًا لتجربة الخدمة مجانًا؛ وعندما لا يكون الرصيد كافيًا، يمكنك إعادة شحن الرصيد العام في وحدة التحكم.
📘 الوثائق الكاملة: Luma Videos Generation API →

الاستخدام الأساسي

يمكنك إدخال أي نص للفيديو الذي تريد إنشاءه، على سبيل المثال، إذا أردت إنشاء فيديو عن رواد فضاء يتنقلون بين الفضاء والبركان، يمكنك إدخال Astronauts shuttle from space to volcano، كما هو موضح في الصورة:

الكود الذي تم إنشاؤه هو كما يلي:

معلمات الطلب الرئيسية:
  • prompt: النص التوجيهي لتوليد الفيديو.
  • aspect_ratio: نسبة عرض الفيديو إلى ارتفاعه، والقيمة الافتراضية هي 16:9.
  • end_image_url: اختياري، يحدد الإطار الأخير.
  • enhancement: اختياري، مفتاح تحسين الوضوح.
  • loop: ما إذا كان سيتم إنشاء فيديو متكرر، والقيمة الافتراضية هي false.
  • timeout: اختياري، عدد ثواني المهلة.
  • callback_url: عنوان رد الاتصال غير المتزامن.
  • async: اختياري، عند ضبطه على true، تعيد الواجهة task_id فورًا، دون الحاجة إلى تقديم callback_url، ثم يتم الحصول على النتيجة عبر الاستعلام الدوري من خلال واجهة الاستعلام عن المهمة المقابلة.
يمكنك النقر على زر «Try» لاختبار API مباشرة، وانتظر 1-2 دقيقة، وستكون النتيجة كما يلي:
يمكنك أن ترى أننا حصلنا الآن على المعلومات ذات الصلة بهذا الفيديو، بما في ذلك معرف الفيديو، ورابط الفيديو، وغلاف الفيديو، وغيرها من المحتويات. شرح الحقول كما يلي:
  • success: ما إذا كان التوليد ناجحًا، وإذا نجح تكون القيمة true، وإلا تكون false
  • task_id: المعرف الفريد لمهمة توليد الفيديو هنا
  • video_id: المعرف الفريد للفيديو الناتج عن مهمة توليد الفيديو هنا
  • prompt: الكلمات المفتاحية لمهمة توليد الفيديو هنا
  • video_url: رابط فيديو النتيجة لمهمة توليد الفيديو هنا
  • video_height: ارتفاع صورة غلاف الفيديو بعد التوليد
  • video_width: عرض صورة غلاف الفيديو بعد التوليد
  • state: حالة مهمة توليد الفيديو هنا، وإذا اكتملت المهمة تكون completed.
  • thumbnail_url: رابط صورة غلاف الفيديو بعد التوليد
  • thumbnail_width: عرض صورة غلاف الفيديو بعد التوليد
  • thumbnail_height: ارتفاع صورة غلاف الفيديو بعد التوليد

التوليد المخصص باستخدام الإطارين الأول والأخير

إذا أردت توليد فيديو من خلال تخصيص الإطارين الأول والأخير للفيديو، يمكنك إدخال روابط صور الإطارين الأول والأخير: في هذه الحالة، يمكن لحقل الإطار الأول للفيديو start_image_url تمرير الصورة التالية كإطار أول للفيديو: الإطار الأول بعد ذلك، إذا أردنا توليد فيديو مخصص بناءً على الإطارين الأول والأخير والكلمات المفتاحية، فيمكننا تحديد المحتوى التالي:
  • action: سلوك مهمة توليد الفيديو، وعادةً ما يكون التوليد العادي generate والتوليد الممتد extend، والقيمة الافتراضية هي generate.
  • start_image_url: يحدد الإطار الأول للفيديو المُنشأ.
  • end_image_url: يحدد الإطار الأخير للفيديو المُنشأ.
  • prompt: محتوى الكلمات المفتاحية لتوليد الفيديو.
مثال على الإدخال كما يلي:

بعد إكمال الإدخال، يتم إنشاء الكود تلقائيًا كما يلي:

الكود المقابل:
النتيجة التي تم الحصول عليها كما يلي:
النتيجة النهائية مشابهة لما ورد أعلاه، حيث يحتوي الإطار الأول للفيديو المُنشأ على الصورة التي مررناها، وبالطبع يمكن أيضًا تمرير روابط صور الإطارين الأول والأخير في الوقت نفسه لتوليد فيديو، وكل ما تحتاج إليه هو إضافة صورة الإطار الأخير فوق ما سبق، ومعلومات صورة الإطار الأخير كما يلي: الإطار الأخير مثال على الإدخال كما يلي:

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

وظيفة توسيع الفيديو

إذا أردت الاستمرار في إنشاء الفيديو المُنشأ، فيمكنك ضبط المعلمة action على extend، وإدخال معرّف الفيديو أو رابط الفيديو الذي تريد متابعة إنشائه. يتم الحصول على معرّف الفيديو ورابط الفيديو وفقًا للاستخدام الأساسي، كما هو موضح في الصورة التالية:

في هذه الحالة، يمكن رؤية أن معرّف الفيديو هو:
ملاحظة، إن video_id وvideo_url في الفيديو هنا هما معرّف الفيديو ورابط الفيديو بعد الإنشاء. إذا كنت لا تعرف كيفية إنشاء فيديو، يمكنك الرجوع إلى الاستخدام الأساسي أعلاه لإنشاء فيديو.
لمتابعة إنشاء الفيديو، يجب تحميل رابط الفيديو أو معرّف الفيديو. يوضح ما يلي استخدام معرّف الفيديو للتوسيع، وبعد ذلك يجب علينا إدخال الكلمات المفتاحية لإنشاء فيديو مخصص، ويمكن تحديد المحتوى التالي:
  • action: سلوك توسيع الفيديو في هذه الحالة، ويجب أن يكون extend.
  • prompt: الكلمات المفتاحية للفيديو الذي يجب توسيعه.
  • video_url: رابط الفيديو الذي يجب توسيع إنشائه.
  • video_id: المعرّف الفريد للفيديو الذي يجب توسيع إنشائه.
  • end_image_url: رابط صورة الإطار الأخير الذي يمكن تحديده لتوسيع إنشاء الفيديو، معلمة اختيارية.
مثال على التعبئة كما يلي:

بعد إكمال التعبئة، يتم إنشاء الكود التالي تلقائيًا:

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

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

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

الاستدعاء غير المتزامن

نظرًا لأن وقت إنشاء الفيديو بواسطة Luma طويل نسبيًا، ويستغرق حوالي 1-2 دقيقة، فإذا لم تستجب واجهة API لفترة طويلة، فسيظل طلب HTTP متصلًا باستمرار، مما يؤدي إلى استهلاك موارد نظام إضافية، لذلك توفر واجهة API هذه أيضًا دعمًا للاستدعاء غير المتزامن. التدفق العام هو: عندما يبدأ العميل طلبًا، يحدد بشكل إضافي حقل callback_url، وبعد أن يبدأ العميل طلب API، ستُرجع API نتيجة فورًا تتضمن معلومات حقل task_id، والذي يمثل معرّف المهمة الحالية. عند اكتمال المهمة، سيتم إرسال نتيجة إنشاء الموسيقى بصيغة POST JSON إلى callback_url الذي حدده العميل، والتي تتضمن أيضًا حقل task_id، وبهذه الطريقة يمكن ربط نتائج المهمة من خلال المعرّف. فيما يلي، سنتعرف على كيفية التشغيل بالتحديد من خلال مثال. أولًا، استدعاء Webhook هو خدمة يمكنها استقبال طلبات HTTP، ويجب على المطور استبداله بعنوان URL لخادم HTTP الذي أنشأه بنفسه. هنا، لتسهيل العرض، نستخدم موقعًا عامًا نموذجيًا لـ Webhook وهو https://webhook.site/، ويمكن الحصول على عنوان Webhook URL بمجرد فتح هذا الموقع، كما هو موضح في الشكل:

انسخ عنوان URL هذا، ويمكن استخدامه كـ Webhook، والمثال هنا هو https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13. بعد ذلك، يمكننا تعيين الحقل callback_url إلى عنوان Webhook URL المذكور أعلاه، مع إدخال prompt في الوقت نفسه، كما هو موضح في الشكل:

انقر على تشغيل، وستلاحظ أنه سيتم الحصول على نتيجة فورًا، كما يلي:
انتظر قليلًا، ويمكننا ملاحظة نتيجة إنشاء الأغنية على https://webhook.site/0c87ca0e-cd74-4577-8d68-f2b80fbf8a13، كما هو موضح في الشكل: المحتوى كما يلي:
يمكن ملاحظة وجود حقل task_id في النتيجة، أما الحقول الأخرى فهي مشابهة لما ورد أعلاه، ويمكن تحقيق ربط المهام من خلال هذا الحقل.