{
  "aboutHtml": "<p>MiniMax Hailuo 2.3 نموذج لتوليد الفيديو بوضعَي تحويل النص إلى فيديو وتحويل الصورة إلى فيديو. ويستند إلى Hailuo 02 مع تركيز على الفعل الفيزيائي والأسلوب البصري وتعابير الشخصية الدقيقة والاستجابة لتعليمات الحركة. قدّم مشهدًا مكتوبًا لإنشاء لقطة من الصفر، أو استخدم صورة افتتاحية لتحديد المنظر الأول وصِف الحركة التي تليه.</p><p>الأداء الجسدي أحد أبرز مجالات التحسين في هذا الإصدار. يهدف Hailuo 2.3 إلى جعل حركات الجسم أكثر سلاسة وتحكّمًا، بما في ذلك المشاهد التي تتحرك فيها الكاميرا. خطّط للفعل المهم قبل إضافة التفاصيل الزخرفية. فشخصية ترفع جسمًا أو تستدير نحو شخص آخر أو تتحرّك عبر غرفة تمنح اللقطة حدثًا مرئيًا يمكن تقييمه. حدّد الحركة التي تحمل القصة، ثم اجعل التعليمات المحيطة بها متّسقة معها.</p><p>ويشكّل الأسلوب الفني محورًا آخر. يدعم النموذج العمل بأسلوب الأنمي والرسوم التوضيحية، وكذلك بأساليب مثل الرسم بالحبر المائي ورسوم الألعاب الحاسوبية CG. صِف المعالجة البصرية التي تريدها، وأبقِ المظهر متّسقًا مع المشهد. وإذا كانت الصورة الافتتاحية تحدّد أسلوب الرسم بالفعل، فاستخدم النص لتوجيه التحريك بدلًا من إدخال وصف منافس لتصميم الشخصية. راجع المقطع كاملًا للتأكّد من بقاء هذه المعالجة واضحة أثناء الحركة.</p><p>يركّز النموذج أيضًا على أداء الوجه والتغيّرات التعبيرية الدقيقة. جهّز لقطة الشخصية حول رد الفعل المهم: ملاحظة جسم أو الشعور بالفضول أو الاستجابة بابتسامة صغيرة. ويمكن للمنظر القريب أن يجعل هذا التغيّر أسهل تقييمًا، بينما قد تصرف سلسلة كبيرة من الإيماءات الانتباه عنه. افحص الوجه قبل رد الفعل وأثناءه وبعده، بدلًا من الحكم على إطار ثابت ممثّل للمشهد فقط.</p><p>تفيد حركة الأجسام في المشاهد التي تتمحور حول المنتج. ويمكن لتوجيه مبتكر أن يعرض مزهرية خزفية صغيرة تدور في ضوء جانبي دافئ، بينما تقترب منها الكاميرا تدريجيًا. حدّد الخصائص التي يجب أن تبقى قابلة للتعرّف، مثل الشكل الخارجي والحافة وتشطيب السطح. راجع هذه التفاصيل أثناء الحركة، لأن الجو المقنع وحده لا يثبت دقة عرض المنتج.</p><p>في تحويل النص إلى فيديو، يمكن للوصف المطلوب أن يحتوي على ما يصل إلى 2,000 حرف. اذكر العنصر الرئيسي والفعل والمكان والأسلوب البصري بترتيب مترابط. ويتطلّب تحويل الصورة إلى فيديو صورة للإطار الافتتاحي، مع وصف اختياري حتى 2,000 حرف. تثبّت الصورة التكوين الافتتاحي، لذا جهّز العنصر والتأطير قبل طلب الحركة. واترك مساحة ظاهرة حيث تحتاج ذراع أو جسم أو شخصية إلى التحرّك.</p><p>تقبل الصورة الافتتاحية صيغ JPG أو JPEG أو PNG أو WebP، ويجب أن يكون حجمها أقل من 20 MB، وأن يزيد ضلعها القصير على 300 بكسل، وأن تكون نسبة أبعادها بين 2:5 و5:2. ويمكن تقديمها بعنوان URL عام للصورة أو بعنوان بيانات Base64. اختر صورة افتتاحية واضحة بدلًا من الاعتماد على التحريك لإصلاح وجه محجوب أو فعل مقتطع مسبقًا.</p><p>يولّد Hailuo 2.3 بمعدل 24 إطارًا في الثانية. ويمكن للقطة من ست ثوانٍ استخدام 768P أو 1080P؛ بينما تستخدم لقطة العشر ثوانٍ 768P. والقيمتان الافتراضيتان هما ست ثوانٍ و768P. اختر المدة وفق الفعل المطلوب: قد يلائم رد فعل سريع لقطة قصيرة، بينما تحتاج حركة أبطأ إلى وقت أوسع. اقرأ العرض والارتفاع الفعليين للنتيجة المكتملة عند وضع المقطع في المونتاج، إذ لا تحدّد تسمية الدقة وحدها كامل قرار التأطير.</p><p>يمكن لتوجيه الكاميرا استخدام أوامر بين أقواس مربعة. وتشمل عناصر التحكّم المتاحة الانتقال الجانبي والتحريك الأفقي والاقتراب والارتفاع أو الانخفاض الرأسي والميل والتقريب البصري والاهتزاز والتتبّع واللقطة الثابتة. ويوجّه أمر مثل [Push in] الاقتراب؛ وتعمل الأوامر المجمّعة داخل قوس واحد معًا، بينما تصف الأوامر المرتّبة تسلسلًا. توصي MiniMax بثلاثة أوامر متزامنة كحد أقصى. اجعل حركة الكاميرا متوافقة مع فعل العنصر الرئيسي ليظل الحدث الأساسي سهل المتابعة.</p><p>يُفعَّل التحسين التلقائي للتوجيه افتراضيًا، ويمكن تعطيله للتحكّم الأدق في الصياغة المقدَّمة. وتقلّل المعالجة المسبقة السريعة الاختيارية زمن التحسين عند تفعيله؛ وهي إعداد مستقل عن اختيار نموذج Hailuo 2.3 Fast. يدعم Hailuo 2.3 القياسي وضعَي الإنشاء، بينما يشكّل Fast الإصدار المستقل لتحويل الصورة إلى فيديو. اختر الإصدار وفق ما إذا كان المشروع يبدأ بنص وحده أم بإطار موجود.</p><p>يعيد مسار التوليد معرّف مهمة غير متزامنة، ثم يبلّغ عن التجهيز أو الانتظار في الطابور أو المعالجة أو النجاح أو الفشل. وعند النجاح، تتضمّن النتيجة معرّف ملف وأبعاد الفيديو الفعلية، ثم يُسترجع الفيديو المكتمل للتنزيل. احفظ المقطع خلال صلاحية عنوان تنزيله. ويحدّد مرجع تنزيل الفيديو الحالي لدى الجهة المطوّرة صلاحية عنوان URL الناتج بساعة واحدة. ولتسلسل محرَّر، احتفظ بكل لقطة مع توجيهها وصورتها الافتتاحية ليظل الاتجاه الإبداعي المختار قابلًا للتتبّع أثناء المراجعة.</p><p>راجع الفعل والاستمرارية الفيزيائية وتفاصيل الوجه أو المنتج والأسلوب البصري وسلوك الكاميرا في المقطع المحفوظ. شاهد اللقطة كاملة، ثم افحص بدايتها ونهايتها حيث ستتصل بمواد أخرى. وإذا تضمّن الطلب حركات متنافسة كثيرة، فبسّط الفعل الرئيسي؛ وإذا كان التصميم الافتتاحي غير واضح، فحسّن الصورة الافتتاحية. اختر لقطة توصل الحدث المقصود، ثم أضف التعليق الصوتي والعناوين والانتقالات في مسار التحرير.</p>",
  "aboutText": "MiniMax Hailuo 2.3 نموذج لتوليد الفيديو بوضعَي تحويل النص إلى فيديو وتحويل الصورة إلى فيديو. ويستند إلى Hailuo 02 مع تركيز على الفعل الفيزيائي والأسلوب البصري وتعابير الشخصية الدقيقة والاستجابة لتعليمات الحركة. قدّم مشهدًا مكتوبًا لإنشاء لقطة من الصفر، أو استخدم صورة افتتاحية لتحديد المنظر الأول وصِف الحركة التي تليه.\n\nالأداء الجسدي أحد أبرز مجالات التحسين في هذا الإصدار. يهدف Hailuo 2.3 إلى جعل حركات الجسم أكثر سلاسة وتحكّمًا، بما في ذلك المشاهد التي تتحرك فيها الكاميرا. خطّط للفعل المهم قبل إضافة التفاصيل الزخرفية. فشخصية ترفع جسمًا أو تستدير نحو شخص آخر أو تتحرّك عبر غرفة تمنح اللقطة حدثًا مرئيًا يمكن تقييمه. حدّد الحركة التي تحمل القصة، ثم اجعل التعليمات المحيطة بها متّسقة معها.\n\nويشكّل الأسلوب الفني محورًا آخر. يدعم النموذج العمل بأسلوب الأنمي والرسوم التوضيحية، وكذلك بأساليب مثل الرسم بالحبر المائي ورسوم الألعاب الحاسوبية CG. صِف المعالجة البصرية التي تريدها، وأبقِ المظهر متّسقًا مع المشهد. وإذا كانت الصورة الافتتاحية تحدّد أسلوب الرسم بالفعل، فاستخدم النص لتوجيه التحريك بدلًا من إدخال وصف منافس لتصميم الشخصية. راجع المقطع كاملًا للتأكّد من بقاء هذه المعالجة واضحة أثناء الحركة.\n\nيركّز النموذج أيضًا على أداء الوجه والتغيّرات التعبيرية الدقيقة. جهّز لقطة الشخصية حول رد الفعل المهم: ملاحظة جسم أو الشعور بالفضول أو الاستجابة بابتسامة صغيرة. ويمكن للمنظر القريب أن يجعل هذا التغيّر أسهل تقييمًا، بينما قد تصرف سلسلة كبيرة من الإيماءات الانتباه عنه. افحص الوجه قبل رد الفعل وأثناءه وبعده، بدلًا من الحكم على إطار ثابت ممثّل للمشهد فقط.\n\nتفيد حركة الأجسام في المشاهد التي تتمحور حول المنتج. ويمكن لتوجيه مبتكر أن يعرض مزهرية خزفية صغيرة تدور في ضوء جانبي دافئ، بينما تقترب منها الكاميرا تدريجيًا. حدّد الخصائص التي يجب أن تبقى قابلة للتعرّف، مثل الشكل الخارجي والحافة وتشطيب السطح. راجع هذه التفاصيل أثناء الحركة، لأن الجو المقنع وحده لا يثبت دقة عرض المنتج.\n\nفي تحويل النص إلى فيديو، يمكن للوصف المطلوب أن يحتوي على ما يصل إلى 2,000 حرف. اذكر العنصر الرئيسي والفعل والمكان والأسلوب البصري بترتيب مترابط. ويتطلّب تحويل الصورة إلى فيديو صورة للإطار الافتتاحي، مع وصف اختياري حتى 2,000 حرف. تثبّت الصورة التكوين الافتتاحي، لذا جهّز العنصر والتأطير قبل طلب الحركة. واترك مساحة ظاهرة حيث تحتاج ذراع أو جسم أو شخصية إلى التحرّك.\n\nتقبل الصورة الافتتاحية صيغ JPG أو JPEG أو PNG أو WebP، ويجب أن يكون حجمها أقل من 20 MB، وأن يزيد ضلعها القصير على 300 بكسل، وأن تكون نسبة أبعادها بين 2:5 و5:2. ويمكن تقديمها بعنوان URL عام للصورة أو بعنوان بيانات Base64. اختر صورة افتتاحية واضحة بدلًا من الاعتماد على التحريك لإصلاح وجه محجوب أو فعل مقتطع مسبقًا.\n\nيولّد Hailuo 2.3 بمعدل 24 إطارًا في الثانية. ويمكن للقطة من ست ثوانٍ استخدام 768P أو 1080P؛ بينما تستخدم لقطة العشر ثوانٍ 768P. والقيمتان الافتراضيتان هما ست ثوانٍ و768P. اختر المدة وفق الفعل المطلوب: قد يلائم رد فعل سريع لقطة قصيرة، بينما تحتاج حركة أبطأ إلى وقت أوسع. اقرأ العرض والارتفاع الفعليين للنتيجة المكتملة عند وضع المقطع في المونتاج، إذ لا تحدّد تسمية الدقة وحدها كامل قرار التأطير.\n\nيمكن لتوجيه الكاميرا استخدام أوامر بين أقواس مربعة. وتشمل عناصر التحكّم المتاحة الانتقال الجانبي والتحريك الأفقي والاقتراب والارتفاع أو الانخفاض الرأسي والميل والتقريب البصري والاهتزاز والتتبّع واللقطة الثابتة. ويوجّه أمر مثل [Push in] الاقتراب؛ وتعمل الأوامر المجمّعة داخل قوس واحد معًا، بينما تصف الأوامر المرتّبة تسلسلًا. توصي MiniMax بثلاثة أوامر متزامنة كحد أقصى. اجعل حركة الكاميرا متوافقة مع فعل العنصر الرئيسي ليظل الحدث الأساسي سهل المتابعة.\n\nيُفعَّل التحسين التلقائي للتوجيه افتراضيًا، ويمكن تعطيله للتحكّم الأدق في الصياغة المقدَّمة. وتقلّل المعالجة المسبقة السريعة الاختيارية زمن التحسين عند تفعيله؛ وهي إعداد مستقل عن اختيار نموذج Hailuo 2.3 Fast. يدعم Hailuo 2.3 القياسي وضعَي الإنشاء، بينما يشكّل Fast الإصدار المستقل لتحويل الصورة إلى فيديو. اختر الإصدار وفق ما إذا كان المشروع يبدأ بنص وحده أم بإطار موجود.\n\nيعيد مسار التوليد معرّف مهمة غير متزامنة، ثم يبلّغ عن التجهيز أو الانتظار في الطابور أو المعالجة أو النجاح أو الفشل. وعند النجاح، تتضمّن النتيجة معرّف ملف وأبعاد الفيديو الفعلية، ثم يُسترجع الفيديو المكتمل للتنزيل. احفظ المقطع خلال صلاحية عنوان تنزيله. ويحدّد مرجع تنزيل الفيديو الحالي لدى الجهة المطوّرة صلاحية عنوان URL الناتج بساعة واحدة. ولتسلسل محرَّر، احتفظ بكل لقطة مع توجيهها وصورتها الافتتاحية ليظل الاتجاه الإبداعي المختار قابلًا للتتبّع أثناء المراجعة.\n\nراجع الفعل والاستمرارية الفيزيائية وتفاصيل الوجه أو المنتج والأسلوب البصري وسلوك الكاميرا في المقطع المحفوظ. شاهد اللقطة كاملة، ثم افحص بدايتها ونهايتها حيث ستتصل بمواد أخرى. وإذا تضمّن الطلب حركات متنافسة كثيرة، فبسّط الفعل الرئيسي؛ وإذا كان التصميم الافتتاحي غير واضح، فحسّن الصورة الافتتاحية. اختر لقطة توصل الحدث المقصود، ثم أضف التعليق الصوتي والعناوين والانتقالات في مسار التحرير.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "fb343d41daa6cd00926086d11bac495d5f6c3c71b428b7cbb38627e8dc4cdb89",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "ar",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax-Hailuo-2.3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>MiniMax-Hailuo-2.3</code><button type=\"button\" id=\"copy-id\">نسخ ID</button></div><nav class=\"card-jump-nav\" aria-label=\"أقسام بطاقة النموذج\"><button type=\"button\" data-card-jump=\"overview\">البداية</button><button type=\"button\" data-card-jump=\"methods\">المدخلات والطرائق</button><button type=\"button\" data-card-jump=\"pricing\">الباقات</button><button type=\"button\" data-card-jump=\"examples\">أمثلة</button><button type=\"button\" data-card-jump=\"results\">النتائج</button><button type=\"button\" data-card-jump=\"aliases\">الأسماء البديلة</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"طرائق API\"><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-0\" data-card-method=\"Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3\">فيديو</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3\">فيديو · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">البداية</h3><p class=\"mdesc-full\">ينشئ MiniMax Hailuo 2.3 فيديو من نص أو صورة افتتاحية، مع عناصر تحكّم في الحركة واتجاه الكاميرا. اختر ست ثوانٍ بدقة 768P أو 1080P، أو عشر ثوانٍ بدقة 768P، لأداء الشخصيات والمشاهد ذات الأسلوب الفني ولقطات المنتجات التي يمكن مراجعتها وتحريرها.</p><dl class=\"card-io\" data-card-io><div><dt>المدخلات المقبولة</dt><dd>النص · الصور</dd></div><div><dt>النتائج</dt><dd>فيديو</dd></div></dl><details class=\"card-about\"><summary>عن النموذج</summary><p class=\"note-s\" data-model-method-boundary>يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Hailuo 2.3 نموذج لتوليد الفيديو بوضعَي تحويل النص إلى فيديو وتحويل الصورة إلى فيديو. ويستند إلى Hailuo 02 مع تركيز على الفعل الفيزيائي والأسلوب البصري وتعابير الشخصية الدقيقة والاستجابة لتعليمات الحركة. قدّم مشهدًا مكتوبًا لإنشاء لقطة من الصفر، أو استخدم صورة افتتاحية لتحديد المنظر الأول وصِف الحركة التي تليه.</p><p>الأداء الجسدي أحد أبرز مجالات التحسين في هذا الإصدار. يهدف Hailuo 2.3 إلى جعل حركات الجسم أكثر سلاسة وتحكّمًا، بما في ذلك المشاهد التي تتحرك فيها الكاميرا. خطّط للفعل المهم قبل إضافة التفاصيل الزخرفية. فشخصية ترفع جسمًا أو تستدير نحو شخص آخر أو تتحرّك عبر غرفة تمنح اللقطة حدثًا مرئيًا يمكن تقييمه. حدّد الحركة التي تحمل القصة، ثم اجعل التعليمات المحيطة بها متّسقة معها.</p><p>ويشكّل الأسلوب الفني محورًا آخر. يدعم النموذج العمل بأسلوب الأنمي والرسوم التوضيحية، وكذلك بأساليب مثل الرسم بالحبر المائي ورسوم الألعاب الحاسوبية CG. صِف المعالجة البصرية التي تريدها، وأبقِ المظهر متّسقًا مع المشهد. وإذا كانت الصورة الافتتاحية تحدّد أسلوب الرسم بالفعل، فاستخدم النص لتوجيه التحريك بدلًا من إدخال وصف منافس لتصميم الشخصية. راجع المقطع كاملًا للتأكّد من بقاء هذه المعالجة واضحة أثناء الحركة.</p><p>يركّز النموذج أيضًا على أداء الوجه والتغيّرات التعبيرية الدقيقة. جهّز لقطة الشخصية حول رد الفعل المهم: ملاحظة جسم أو الشعور بالفضول أو الاستجابة بابتسامة صغيرة. ويمكن للمنظر القريب أن يجعل هذا التغيّر أسهل تقييمًا، بينما قد تصرف سلسلة كبيرة من الإيماءات الانتباه عنه. افحص الوجه قبل رد الفعل وأثناءه وبعده، بدلًا من الحكم على إطار ثابت ممثّل للمشهد فقط.</p><p>تفيد حركة الأجسام في المشاهد التي تتمحور حول المنتج. ويمكن لتوجيه مبتكر أن يعرض مزهرية خزفية صغيرة تدور في ضوء جانبي دافئ، بينما تقترب منها الكاميرا تدريجيًا. حدّد الخصائص التي يجب أن تبقى قابلة للتعرّف، مثل الشكل الخارجي والحافة وتشطيب السطح. راجع هذه التفاصيل أثناء الحركة، لأن الجو المقنع وحده لا يثبت دقة عرض المنتج.</p><p>في تحويل النص إلى فيديو، يمكن للوصف المطلوب أن يحتوي على ما يصل إلى 2,000 حرف. اذكر العنصر الرئيسي والفعل والمكان والأسلوب البصري بترتيب مترابط. ويتطلّب تحويل الصورة إلى فيديو صورة للإطار الافتتاحي، مع وصف اختياري حتى 2,000 حرف. تثبّت الصورة التكوين الافتتاحي، لذا جهّز العنصر والتأطير قبل طلب الحركة. واترك مساحة ظاهرة حيث تحتاج ذراع أو جسم أو شخصية إلى التحرّك.</p><p>تقبل الصورة الافتتاحية صيغ JPG أو JPEG أو PNG أو WebP، ويجب أن يكون حجمها أقل من 20 MB، وأن يزيد ضلعها القصير على 300 بكسل، وأن تكون نسبة أبعادها بين 2:5 و5:2. ويمكن تقديمها بعنوان URL عام للصورة أو بعنوان بيانات Base64. اختر صورة افتتاحية واضحة بدلًا من الاعتماد على التحريك لإصلاح وجه محجوب أو فعل مقتطع مسبقًا.</p><p>يولّد Hailuo 2.3 بمعدل 24 إطارًا في الثانية. ويمكن للقطة من ست ثوانٍ استخدام 768P أو 1080P؛ بينما تستخدم لقطة العشر ثوانٍ 768P. والقيمتان الافتراضيتان هما ست ثوانٍ و768P. اختر المدة وفق الفعل المطلوب: قد يلائم رد فعل سريع لقطة قصيرة، بينما تحتاج حركة أبطأ إلى وقت أوسع. اقرأ العرض والارتفاع الفعليين للنتيجة المكتملة عند وضع المقطع في المونتاج، إذ لا تحدّد تسمية الدقة وحدها كامل قرار التأطير.</p><p>يمكن لتوجيه الكاميرا استخدام أوامر بين أقواس مربعة. وتشمل عناصر التحكّم المتاحة الانتقال الجانبي والتحريك الأفقي والاقتراب والارتفاع أو الانخفاض الرأسي والميل والتقريب البصري والاهتزاز والتتبّع واللقطة الثابتة. ويوجّه أمر مثل [Push in] الاقتراب؛ وتعمل الأوامر المجمّعة داخل قوس واحد معًا، بينما تصف الأوامر المرتّبة تسلسلًا. توصي MiniMax بثلاثة أوامر متزامنة كحد أقصى. اجعل حركة الكاميرا متوافقة مع فعل العنصر الرئيسي ليظل الحدث الأساسي سهل المتابعة.</p><p>يُفعَّل التحسين التلقائي للتوجيه افتراضيًا، ويمكن تعطيله للتحكّم الأدق في الصياغة المقدَّمة. وتقلّل المعالجة المسبقة السريعة الاختيارية زمن التحسين عند تفعيله؛ وهي إعداد مستقل عن اختيار نموذج Hailuo 2.3 Fast. يدعم Hailuo 2.3 القياسي وضعَي الإنشاء، بينما يشكّل Fast الإصدار المستقل لتحويل الصورة إلى فيديو. اختر الإصدار وفق ما إذا كان المشروع يبدأ بنص وحده أم بإطار موجود.</p><p>يعيد مسار التوليد معرّف مهمة غير متزامنة، ثم يبلّغ عن التجهيز أو الانتظار في الطابور أو المعالجة أو النجاح أو الفشل. وعند النجاح، تتضمّن النتيجة معرّف ملف وأبعاد الفيديو الفعلية، ثم يُسترجع الفيديو المكتمل للتنزيل. احفظ المقطع خلال صلاحية عنوان تنزيله. ويحدّد مرجع تنزيل الفيديو الحالي لدى الجهة المطوّرة صلاحية عنوان URL الناتج بساعة واحدة. ولتسلسل محرَّر، احتفظ بكل لقطة مع توجيهها وصورتها الافتتاحية ليظل الاتجاه الإبداعي المختار قابلًا للتتبّع أثناء المراجعة.</p><p>راجع الفعل والاستمرارية الفيزيائية وتفاصيل الوجه أو المنتج والأسلوب البصري وسلوك الكاميرا في المقطع المحفوظ. شاهد اللقطة كاملة، ثم افحص بدايتها ونهايتها حيث ستتصل بمواد أخرى. وإذا تضمّن الطلب حركات متنافسة كثيرة، فبسّط الفعل الرئيسي؛ وإذا كان التصميم الافتتاحي غير واضح، فحسّن الصورة الافتتاحية. اختر لقطة توصل الحدث المقصود، ثم أضف التعليق الصوتي والعناوين والانتقالات في مسار التحرير.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">متاح في Ailoot · المدخلات والطرائق</h3><details class=\"card-method\" open><summary><b>Ailoot · فيديو</b> <code>POST /v1/videos/generations</code></summary><dl class=\"method-capabilities\"><div><dt>الإدخال</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>الإخراج</dt><dd><code>video</code></dd></div><div><dt>صيغة الإخراج</dt><dd>mp4</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>الحقل</th><th>النوع</th><th>المتطلب</th><th>القيم والحدود</th><th>القيمة الافتراضية</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>MiniMax-Hailuo-2.3</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>الحد الأدنى للطول: ⁦1⁩</div><div>الحد الأقصى للطول: ⁦2,000⁩</div><div>الوحدة: محارف Unicode</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>integer</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>⁦6⁩, ⁦10⁩</div><div>الشروط: مدة 10 ثوانٍ تتطلب 768P</div><div>الوحدة: ثوانٍ</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"known\"><span class=\"card-cell-label\">القيمة الافتراضية</span>⁦6⁩</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>768P, 1080P</div><div>الشروط: تتطلب 1080P مدة 6 ثوانٍ</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"known\"><span class=\"card-cell-label\">القيمة الافتراضية</span>768P</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">first_frame_image</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>https_url|data_image_url</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>الحد الأقصى للبايتات بعد فك الترميز: ⁦20,971,520⁩</div><div>أنواع MIME: image/jpeg, image/png, image/webp</div><div>الحد الأدنى للأبعاد (غير شامل): ⁦300⁩</div><div>نطاق نسبة الأبعاد: 2:5, 5:2</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">prompt_optimizer</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>boolean</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">fast_pretreatment</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>boolean</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>اختياري</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>تركيبات مواد الإدخال</summary><p class=\"note-s\"><b>تحويل الصورة إلى فيديو</b> · مطلوب: prompt, first_frame_image</p><p class=\"note-s\"><b>تحويل النص إلى فيديو</b> · مطلوب: prompt</p></details><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>material_types</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>text, image</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>null</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>optional_controls</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>null</td></tr></tbody></table></div><p>دورة الحياة: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">بُنى الطرق ومعرّفاتها دقيقة؛ قدرة المورد منفصلة عن السماح بالطلب.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">الباقات</h3><h4>تعرفات طرائق Ailoot</h4><section class=\"meth\" data-route=\"Core\"><header><b><span class=\"alias\">Ailoot</span> فيديو</b><code>POST /v1/videos/generations</code></header><dl><div><dt>الإخراج</dt><dd>⁦‏0.28 US$⁩ <em>لكل فيديو مدته 6 ثوانٍ بدقة 768p</em></dd></div></dl></section><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p><div data-declared-reference-pricing><h4>تفاصيل التعرفة المرجعية</h4><p class=\"note-s\">لا تغيّر جداول التعرفة المرجعية على مستوى النموذج اختيار الطريقة أو عروض الأسعار أو الرسوم. وتستخدم الرسوم الفعلية تعرفات طريقة Ailoot المحددة.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>MiniMax-Hailuo-2.3 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · الإدخال</span> <b>⁦‏0.00 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div><div><span>الإخراج · الإخراج</span> <b>⁦‏0.60 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>MiniMax-Hailuo-2.3 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · الإدخال</span> <b>⁦‏0.00 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div><div><span>الإخراج · الإخراج</span> <b>⁦‏1.20 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>MiniMax-Hailuo-2.3 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · الإدخال</span> <b>⁦‏0.00 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div><div><span>الإخراج · الإخراج</span> <b>⁦‏1.20 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">أمثلة للطلبات</h3><h4>Ailoot · فيديو</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-374-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-374-panel-0\" aria-selected=\"true\" tabindex=\"0\">مثال للفيديو</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-374-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-374-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  -H &quot;Content-Type: application/json&quot; \\\n  -d &#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A person walks slowly through a quiet garden as the camera tracks from the side.&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;768P&quot;}&#39;</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">استلام النتائج وحفظها</h3><h4>Ailoot · فيديو</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>التحقق من حالة المهمة</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-375-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-375-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · جلب الحالة</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-375-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-375-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot;</code></pre></div></div></div><details class=\"card-about\"><summary>عمليات أخرى لقراءة المحتوى</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-376-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-376-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · جلب المحتوى</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-376-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-376-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c &#39;import os, urllib.parse; print(urllib.parse.quote(os.environ[&quot;AILOOT_VIDEO_ID&quot;], safe=&quot;&quot;))&#39;) || exit 1\ncurl &quot;https://api.ailoot.ai/v1/videos/generations/$video_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; \\\n  --output video.mp4</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احفظ كل فيديو مكتمل أو ملف مُرجع؛ ونزّل كل أصل من URL الخاص به الذي تم إرجاعه فعليًا.</p><p class=\"note-s\">احتفظ بكل عنصر بيانات أو فهرس مخرج مُعاد. يشير content_url إلى الأول فقط؛ اجلب كل مسار محتوى أو أصل فعلي. لا يعيد طلب GET للمحتوى دون index جميع المخرجات.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.</p></div><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>الحقل</th><th>النوع</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>signed URL</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>signed URL</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>object</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">result_pending_check</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>boolean</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>الأخطاء والخطوات التالية</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>الاستجابة</th><th>الشرط</th><th>الخطوة التالية</th></tr></thead><tbody><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>صحّح الحقول المحددة قبل طلب إنشاء جديد.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦409⁩ · <code>video_not_ready</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>محتوى النتيجة الأصلية غير متاح بعد</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span><code>server_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">الأسماء البديلة</h3><h4>الأسماء البديلة للنموذج</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a>, <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos/generations",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core"
      },
      "method_key": "Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3",
      "ordinal": 0,
      "rawMethod": {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Preserve every returned data item/output index. content_url is first only; fetch every actual content path/asset. GETcontentwithoutindex isnotalloutputs.",
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "محتوى النتيجة الأصلية غير متاح بعد",
                "http_status": 409,
                "recovery": "استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              },
              {
                "available": true,
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "احتفظ بكل عنصر بيانات أو فهرس مخرج مُعاد. يشير content_url إلى الأول فقط؛ اجلب كل مسار محتوى أو أصل فعلي. لا يعيد طلب GET للمحتوى دون index جميع المخرجات.",
              "content_selection": "Oneownedvideo; use actualreturnedcontent_url/data[] ororiginalcontentread. No indexedselection field is promised by thisCorehandler.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content_url",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "result_pending_check",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "محارف Unicode"
              },
              {
                "availability": "source_interface",
                "conditions": "مدة 10 ثوانٍ تتطلب 768P",
                "default": 6,
                "default_known": true,
                "enum": [
                  6,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "ثوانٍ"
              },
              {
                "availability": "source_interface",
                "conditions": "تتطلب 1080P مدة 6 ثوانٍ",
                "default": "768P",
                "default_known": true,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "aspect_ratio_range": [
                  "2:5",
                  "5:2"
                ],
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_decoded_bytes": 20971520,
                "mime_types": [
                  "image/jpeg",
                  "image/png",
                  "image/webp"
                ],
                "minimum_dimension_exclusive": 300,
                "name": "first_frame_image",
                "required": false,
                "type": "https_url|data_image_url"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_optimizer",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "fast_pretreatment",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "بُنى الطرق ومعرّفاتها دقيقة؛ قدرة المورد منفصلة عن السماح بالطلب."
          ],
          "input": {
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\", \"duration\": 6, \"resolution\": \"768P\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "فيديو",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.28,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_768p_6s_clip",
                "label": "per 6 s video at 768p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{id}",
          "GET /v1/videos/generations/{id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "video_output_768p_6s_clip",
        "units": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">MM</span><h2 id=\"sheet-title\">MiniMax-Hailuo-2.3</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>MiniMax /</span><code>MiniMax-Hailuo-2.3</code><button type=\"button\" id=\"copy-id\">نسخ ID</button></div><nav class=\"card-jump-nav\" aria-label=\"أقسام بطاقة النموذج\"><button type=\"button\" data-card-jump=\"overview\">البداية</button><button type=\"button\" data-card-jump=\"methods\">المدخلات والطرائق</button><button type=\"button\" data-card-jump=\"pricing\">الباقات</button><button type=\"button\" data-card-jump=\"examples\">أمثلة</button><button type=\"button\" data-card-jump=\"results\">النتائج</button><button type=\"button\" data-card-jump=\"aliases\">الأسماء البديلة</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"طرائق API\"><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Core|videos|/v1/videos/generations|MiniMax-Hailuo-2.3\">فيديو</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3\">فيديو · Ultra</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">البداية</h3><p class=\"mdesc-full\">ينشئ MiniMax Hailuo 2.3 فيديو من نص أو صورة افتتاحية، مع عناصر تحكّم في الحركة واتجاه الكاميرا. اختر ست ثوانٍ بدقة 768P أو 1080P، أو عشر ثوانٍ بدقة 768P، لأداء الشخصيات والمشاهد ذات الأسلوب الفني ولقطات المنتجات التي يمكن مراجعتها وتحريرها.</p><dl class=\"card-io\" data-card-io><div><dt>المدخلات المقبولة</dt><dd>النص</dd></div><div><dt>النتائج</dt><dd>فيديو</dd></div></dl><details class=\"card-about\"><summary>عن النموذج</summary><p class=\"note-s\" data-model-method-boundary>يغطي هذا الوصف قدرات النموذج. وترد أدناه المدخلات والمخرجات والخيارات المتاحة في Ailoot للطريقة المحددة.</p><div class=\"mabout\" id=\"m-about\"><p>MiniMax Hailuo 2.3 نموذج لتوليد الفيديو بوضعَي تحويل النص إلى فيديو وتحويل الصورة إلى فيديو. ويستند إلى Hailuo 02 مع تركيز على الفعل الفيزيائي والأسلوب البصري وتعابير الشخصية الدقيقة والاستجابة لتعليمات الحركة. قدّم مشهدًا مكتوبًا لإنشاء لقطة من الصفر، أو استخدم صورة افتتاحية لتحديد المنظر الأول وصِف الحركة التي تليه.</p><p>الأداء الجسدي أحد أبرز مجالات التحسين في هذا الإصدار. يهدف Hailuo 2.3 إلى جعل حركات الجسم أكثر سلاسة وتحكّمًا، بما في ذلك المشاهد التي تتحرك فيها الكاميرا. خطّط للفعل المهم قبل إضافة التفاصيل الزخرفية. فشخصية ترفع جسمًا أو تستدير نحو شخص آخر أو تتحرّك عبر غرفة تمنح اللقطة حدثًا مرئيًا يمكن تقييمه. حدّد الحركة التي تحمل القصة، ثم اجعل التعليمات المحيطة بها متّسقة معها.</p><p>ويشكّل الأسلوب الفني محورًا آخر. يدعم النموذج العمل بأسلوب الأنمي والرسوم التوضيحية، وكذلك بأساليب مثل الرسم بالحبر المائي ورسوم الألعاب الحاسوبية CG. صِف المعالجة البصرية التي تريدها، وأبقِ المظهر متّسقًا مع المشهد. وإذا كانت الصورة الافتتاحية تحدّد أسلوب الرسم بالفعل، فاستخدم النص لتوجيه التحريك بدلًا من إدخال وصف منافس لتصميم الشخصية. راجع المقطع كاملًا للتأكّد من بقاء هذه المعالجة واضحة أثناء الحركة.</p><p>يركّز النموذج أيضًا على أداء الوجه والتغيّرات التعبيرية الدقيقة. جهّز لقطة الشخصية حول رد الفعل المهم: ملاحظة جسم أو الشعور بالفضول أو الاستجابة بابتسامة صغيرة. ويمكن للمنظر القريب أن يجعل هذا التغيّر أسهل تقييمًا، بينما قد تصرف سلسلة كبيرة من الإيماءات الانتباه عنه. افحص الوجه قبل رد الفعل وأثناءه وبعده، بدلًا من الحكم على إطار ثابت ممثّل للمشهد فقط.</p><p>تفيد حركة الأجسام في المشاهد التي تتمحور حول المنتج. ويمكن لتوجيه مبتكر أن يعرض مزهرية خزفية صغيرة تدور في ضوء جانبي دافئ، بينما تقترب منها الكاميرا تدريجيًا. حدّد الخصائص التي يجب أن تبقى قابلة للتعرّف، مثل الشكل الخارجي والحافة وتشطيب السطح. راجع هذه التفاصيل أثناء الحركة، لأن الجو المقنع وحده لا يثبت دقة عرض المنتج.</p><p>في تحويل النص إلى فيديو، يمكن للوصف المطلوب أن يحتوي على ما يصل إلى 2,000 حرف. اذكر العنصر الرئيسي والفعل والمكان والأسلوب البصري بترتيب مترابط. ويتطلّب تحويل الصورة إلى فيديو صورة للإطار الافتتاحي، مع وصف اختياري حتى 2,000 حرف. تثبّت الصورة التكوين الافتتاحي، لذا جهّز العنصر والتأطير قبل طلب الحركة. واترك مساحة ظاهرة حيث تحتاج ذراع أو جسم أو شخصية إلى التحرّك.</p><p>تقبل الصورة الافتتاحية صيغ JPG أو JPEG أو PNG أو WebP، ويجب أن يكون حجمها أقل من 20 MB، وأن يزيد ضلعها القصير على 300 بكسل، وأن تكون نسبة أبعادها بين 2:5 و5:2. ويمكن تقديمها بعنوان URL عام للصورة أو بعنوان بيانات Base64. اختر صورة افتتاحية واضحة بدلًا من الاعتماد على التحريك لإصلاح وجه محجوب أو فعل مقتطع مسبقًا.</p><p>يولّد Hailuo 2.3 بمعدل 24 إطارًا في الثانية. ويمكن للقطة من ست ثوانٍ استخدام 768P أو 1080P؛ بينما تستخدم لقطة العشر ثوانٍ 768P. والقيمتان الافتراضيتان هما ست ثوانٍ و768P. اختر المدة وفق الفعل المطلوب: قد يلائم رد فعل سريع لقطة قصيرة، بينما تحتاج حركة أبطأ إلى وقت أوسع. اقرأ العرض والارتفاع الفعليين للنتيجة المكتملة عند وضع المقطع في المونتاج، إذ لا تحدّد تسمية الدقة وحدها كامل قرار التأطير.</p><p>يمكن لتوجيه الكاميرا استخدام أوامر بين أقواس مربعة. وتشمل عناصر التحكّم المتاحة الانتقال الجانبي والتحريك الأفقي والاقتراب والارتفاع أو الانخفاض الرأسي والميل والتقريب البصري والاهتزاز والتتبّع واللقطة الثابتة. ويوجّه أمر مثل [Push in] الاقتراب؛ وتعمل الأوامر المجمّعة داخل قوس واحد معًا، بينما تصف الأوامر المرتّبة تسلسلًا. توصي MiniMax بثلاثة أوامر متزامنة كحد أقصى. اجعل حركة الكاميرا متوافقة مع فعل العنصر الرئيسي ليظل الحدث الأساسي سهل المتابعة.</p><p>يُفعَّل التحسين التلقائي للتوجيه افتراضيًا، ويمكن تعطيله للتحكّم الأدق في الصياغة المقدَّمة. وتقلّل المعالجة المسبقة السريعة الاختيارية زمن التحسين عند تفعيله؛ وهي إعداد مستقل عن اختيار نموذج Hailuo 2.3 Fast. يدعم Hailuo 2.3 القياسي وضعَي الإنشاء، بينما يشكّل Fast الإصدار المستقل لتحويل الصورة إلى فيديو. اختر الإصدار وفق ما إذا كان المشروع يبدأ بنص وحده أم بإطار موجود.</p><p>يعيد مسار التوليد معرّف مهمة غير متزامنة، ثم يبلّغ عن التجهيز أو الانتظار في الطابور أو المعالجة أو النجاح أو الفشل. وعند النجاح، تتضمّن النتيجة معرّف ملف وأبعاد الفيديو الفعلية، ثم يُسترجع الفيديو المكتمل للتنزيل. احفظ المقطع خلال صلاحية عنوان تنزيله. ويحدّد مرجع تنزيل الفيديو الحالي لدى الجهة المطوّرة صلاحية عنوان URL الناتج بساعة واحدة. ولتسلسل محرَّر، احتفظ بكل لقطة مع توجيهها وصورتها الافتتاحية ليظل الاتجاه الإبداعي المختار قابلًا للتتبّع أثناء المراجعة.</p><p>راجع الفعل والاستمرارية الفيزيائية وتفاصيل الوجه أو المنتج والأسلوب البصري وسلوك الكاميرا في المقطع المحفوظ. شاهد اللقطة كاملة، ثم افحص بدايتها ونهايتها حيث ستتصل بمواد أخرى. وإذا تضمّن الطلب حركات متنافسة كثيرة، فبسّط الفعل الرئيسي؛ وإذا كان التصميم الافتتاحي غير واضح، فحسّن الصورة الافتتاحية. اختر لقطة توصل الحدث المقصود، ثم أضف التعليق الصوتي والعناوين والانتقالات في مسار التحرير.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">متاح في Ailoot · المدخلات والطرائق</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · فيديو</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>الإدخال</dt><dd><code>text</code></dd></div><div><dt>الإخراج</dt><dd><code>video</code></dd></div><div><dt>صيغة الإخراج</dt><dd>mp4</dd></div><div><dt>عدد المخرجات</dt><dd>حتى ⁦1⁩ إخراج</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>الحقل</th><th>النوع</th><th>المتطلب</th><th>القيم والحدود</th><th>القيمة الافتراضية</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>MiniMax-Hailuo-2.3</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>الحد الأدنى للطول: ⁦1⁩</div><div>الحد الأقصى للطول: ⁦2,000⁩</div><div>الشروط: عند 768P: بحد أقصى 2000 نقطة ترميز Unicode. عند 1080P: أقل من 200 نقطة ترميز Unicode (بحد أقصى 199). يجب أن يحتوي الموجّه النصي على نص يتجاوز المحارف البيضاء.</div><div>الوحدة: محارف Unicode</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>integer</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>⁦6⁩</div><div>الوحدة: ثوانٍ</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span><code>string</code></td><td data-cell-label=\"المتطلب\"><span class=\"card-cell-label\">المتطلب</span>مطلوب</td><td data-cell-label=\"القيم والحدود\"><span class=\"card-cell-label\">القيم والحدود</span><div>768P, 1080P</div></td><td data-cell-label=\"القيمة الافتراضية\" data-default=\"unspecified\"><span class=\"card-cell-label\">القيمة الافتراضية</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>تركيبات مواد الإدخال</summary><p class=\"note-s\"><b>تحويل النص إلى فيديو</b> · مطلوب: prompt</p></details><details class=\"note-s\" data-method-contract><summary>معلمات الطريقة ودورة حياتها</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>المعلمة</th><th>المواصفات</th></tr></thead><tbody><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>content_type</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>application/json</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>required</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>model, prompt, duration, resolution</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>other_options</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>false</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>duration</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>6</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>resolution</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>768P, 1080P</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>prompt_max_characters</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>2000</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>material_types</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>text</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>prompt_max_characters_by_resolution</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>{&quot;768P&quot;:2000,&quot;1080P&quot;:199}</td></tr></tbody></table></div><p>الأسماء البديلة للطريقة: <code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><p>دورة الحياة: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></p><p class=\"note-s\"><code>GET /v1/videos/generations/{request_id}/content</code></p><p class=\"note-s\">أنشئ مرة واحدة واحفظ المعرّف المُعاد.</p><p class=\"note-s\">استعلم دورياً عن الحالة الأصلية؛ واحتفظ بكل أصل مكتمل ومدته.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">الباقات</h3><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>مراجع التسعير لا تضيف خيارات للطلب. المعلمات المدعومة مذكورة للطريقة المحددة.</p><dl data-price-conditions><dt>الوضع السريع</dt><dd>غير محدد <span class=\"note-s\">عند اختيار الوضع السريع</span></dd><dt>الوضع المرن</dt><dd>غير محدد <span class=\"note-s\">عند اختيار وضع flex</span></dd><dt>أقصى جهد للاستدلال</dt><dd>غير محدد <span class=\"note-s\">عندما يُطبَّق الضبط الافتراضي default مع أقصى جهد للاستدلال</span></dd></dl></div><div data-declared-tariff-pricing><h4>تعرفات Ailoot</h4><h4>الأسعار حسب الإعدادات</h4><p class=\"note-s\">طابق كل رسم مع الشروط المعروضة. طبّق تعرفة واحدة لكل مجموعة من الإعدادات البديلة.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>جدول التعرفة</th><th>المدة الاسمية للمقطع بالثواني</th><th>الدقة</th><th>وحدة الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>التعرفات الأساسية للرموز</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>التعرفة الأساسية</td><td data-cell-label=\"المدة الاسمية للمقطع بالثواني\"><span class=\"card-cell-label\">المدة الاسمية للمقطع بالثواني</span>—</td><td data-cell-label=\"الدقة\"><span class=\"card-cell-label\">الدقة</span>—</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>—</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · رموز الإدخال</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإخراج · رموز الإخراج</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · قراءة ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div><div><span>الإدخال · الكتابة إلى ذاكرة التخزين المؤقت، 1 ساعة</span> <b>—</b> <span class=\"price-unit\">/ 1K من الرموز</span></div></td></tr><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>Ultra</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"المدة الاسمية للمقطع بالثواني\"><span class=\"card-cell-label\">المدة الاسمية للمقطع بالثواني</span>⁦6⁩</td><td data-cell-label=\"الدقة\"><span class=\"card-cell-label\">الدقة</span>1080P</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>لكل مقطع إخراج بمدة اسمية 6s</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإخراج · مقطع ناتج بمدة اسمية 6s</span> <b>$1.2</b> <span class=\"price-unit\">لكل مقطع إخراج بمدة اسمية 6s</span></div></td></tr><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>Ultra</th><td data-cell-label=\"جدول التعرفة\"><span class=\"card-cell-label\">جدول التعرفة</span>—</td><td data-cell-label=\"المدة الاسمية للمقطع بالثواني\"><span class=\"card-cell-label\">المدة الاسمية للمقطع بالثواني</span>⁦6⁩</td><td data-cell-label=\"الدقة\"><span class=\"card-cell-label\">الدقة</span>768P</td><td data-cell-label=\"وحدة الفوترة\"><span class=\"card-cell-label\">وحدة الفوترة</span>لكل مقطع إخراج بمدة اسمية 6s</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإخراج · مقطع ناتج بمدة اسمية 6s</span> <b>$0.6</b> <span class=\"price-unit\">لكل مقطع إخراج بمدة اسمية 6s</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">تحجز Ailoot مبلغًا تقديريًا قبل الطلب. وبعد ظهور النتيجة، تُسوّي الرسوم النهائية بناءً على الاستخدام المقاس. وتستخدم تسوية البث سجل الاستخدام النهائي. <a href=\"/docs/ar/billing/reserve/\">كيفية عمل حجز المبلغ وتسوية الرسوم →</a></p><div data-declared-reference-pricing><h4>تفاصيل التعرفة المرجعية</h4><p class=\"note-s\">لا تغيّر جداول التعرفة المرجعية على مستوى النموذج اختيار الطريقة أو عروض الأسعار أو الرسوم. وتستخدم الرسوم الفعلية تعرفات طريقة Ailoot المحددة.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>MiniMax-Hailuo-2.3 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · الإدخال</span> <b>⁦‏0.00 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div><div><span>الإخراج · الإخراج</span> <b>⁦‏0.60 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>MiniMax-Hailuo-2.3 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · الإدخال</span> <b>⁦‏0.00 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div><div><span>الإخراج · الإخراج</span> <b>⁦‏1.20 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div></td></tr></tbody></table></div></details><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>MiniMax-Hailuo-2.3</summary><h4>الأسعار حسب الإعدادات</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>الإعدادات</th><th>شروط الفوترة</th><th>الرسوم</th></tr></thead><tbody><tr><th data-cell-label=\"الإعدادات\" scope=\"row\"><span class=\"card-cell-label\">الإعدادات</span>MiniMax-Hailuo-2.3 · الإعداد الافتراضي</th><td data-cell-label=\"شروط الفوترة\"><span class=\"card-cell-label\">شروط الفوترة</span>الإعداد الافتراضي</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإدخال · الإدخال</span> <b>⁦‏0.00 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div><div><span>الإخراج · الإخراج</span> <b>⁦‏1.20 US$⁩</b> <span class=\"price-unit\">لكل استدعاء</span></div></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">أمثلة للطلبات</h3><h4>Ailoot Ultra · فيديو</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-377-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-377-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-377-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-377-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · 1080P / 6 ثوانٍ</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-377-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-377-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;768P&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-377-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-377-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;: &quot;MiniMax-Hailuo-2.3&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;1080P&quot;}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">استلام النتائج وحفظها</h3><h4>Ailoot Ultra · فيديو</h4><p class=\"note-s\">mp4</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/generations/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li><li><code>GET /v1/videos/generations/{request_id}/content</code></li></ul><h5>التحقق من حالة المهمة</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-378-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-378-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · جلب الحالة</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-378-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-378-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o status.json\npython3 - &lt;&lt;&#39;PY_STATUS&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nprint(json.dumps(r))\nif r.get(&quot;status&quot;)==&quot;completed&quot;:\n    for x in r.get(&quot;data&quot;,[]):print(x)\nPY_STATUS\n</code></pre></div></div></div><h5>حفظ جميع الأصول المكتملة</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-379-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-379-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · جلب جميع الأصول المكتملة</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-379-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-379-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><details class=\"card-about\"><summary>عمليات أخرى لقراءة المحتوى</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"خيارات الشيفرة\"><button class=\"cg-tab\" id=\"model-code-380-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-380-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET · جلب المحتوى</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"نسخ الشيفرة\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-380-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-380-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o video.mp4\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>الاحتفاظ بكل النتائج المكتملة</h5><p class=\"note-s\">احفظ كل فيديو مكتمل أو ملف مُرجع؛ ونزّل كل أصل من URL الخاص به الذي تم إرجاعه فعليًا.</p><p class=\"note-s\">تحتوي data[] المكتملة على جميع عناوين URL الموقّعة للمحتوى المملوك لك. اجلب كل عنوان URL مُعاد، أو استخدم نقطة نهاية المحتوى مع ضبط index على فهرس مخرج فعلي. قد تُعيد المهمة الأصلية الفاشلة charge_pending_check؛ تحقق من تلك المهمة الأصلية بدلاً من إنشائها مرة أخرى.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.</p></div><p class=\"note-s\">الحد الأقصى للمخرجات: ⁦1⁩.</p><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>الحقل</th><th>النوع</th></tr></thead><tbody><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>signed content URL</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>boolean</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">requested_nominal_duration_seconds</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>integer</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">measured_duration_seconds</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>number</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>integer</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>integer</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>الأخطاء والخطوات التالية</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>الاستجابة</th><th>الشرط</th><th>الخطوة التالية</th></tr></thead><tbody><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦400⁩ · <code>invalid_request_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>صحّح الحقول المحددة قبل طلب إنشاء جديد.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦409⁩ · <code>video_not_ready</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>محتوى النتيجة الأصلية غير متاح بعد</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.</td></tr><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span><code>server_error</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">الأسماء البديلة</h3><h4>الأسماء البديلة للنموذج</h4><p class=\"note-s\"><span data-model-alias-route=\"Core\"><b>Ailoot</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span><br><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></span></p><h4>الأسماء البديلة لمسارات الطرائق</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>معرّفات النماذج ذات الصلة IDs</h4><p class=\"note-s\"><a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Core&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a>, <a href=\"#m=MiniMax-Hailuo-2.3&amp;route=Ultra&amp;caller=MiniMax-Hailuo-2.3&amp;fmt=videos\"><code>MiniMax-Hailuo-2.3</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "MiniMax-Hailuo-2.3",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|MiniMax-Hailuo-2.3",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "محتوى النتيجة الأصلية غير متاح بعد",
                "http_status": 409,
                "recovery": "استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "تحتوي data[] المكتملة على جميع عناوين URL الموقّعة للمحتوى المملوك لك. اجلب كل عنوان URL مُعاد، أو استخدم نقطة نهاية المحتوى مع ضبط index على فهرس مخرج فعلي. قد تُعيد المهمة الأصلية الفاشلة charge_pending_check؛ تحقق من تلك المهمة الأصلية بدلاً من إنشائها مرة أخرى.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "requested_nominal_duration_seconds",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "measured_duration_seconds",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "width",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "height",
                  "type": "integer"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "عند 768P: بحد أقصى 2000 نقطة ترميز Unicode. عند 1080P: أقل من 200 نقطة ترميز Unicode (بحد أقصى 199). يجب أن يحتوي الموجّه النصي على نص يتجاوز المحارف البيضاء.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "محارف Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  6
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "ثوانٍ"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "request_schema": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "resolution": {
                        "const": "1080P"
                      }
                    },
                    "required": [
                      "resolution"
                    ]
                  },
                  "then": {
                    "properties": {
                      "prompt": {
                        "maxLength": 199
                      }
                    }
                  }
                }
              ],
              "properties": {
                "duration": {
                  "enum": [
                    6
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "MiniMax-Hailuo-2.3"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Non-whitespace UTF-8 text. Length counts Unicode code points; the 1080P conditional maximum is 199.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "768P",
                    "1080P"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration",
                "resolution"
              ],
              "type": "object"
            },
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "أنشئ مرة واحدة واحفظ المعرّف المُعاد.",
            "استعلم دورياً عن الحالة الأصلية؛ واحتفظ بكل أصل مكتمل ومدته."
          ],
          "input": {
            "content_type": "application/json",
            "duration": [
              6
            ],
            "material_types": [
              "text"
            ],
            "other_options": false,
            "prompt_max_characters": 2000,
            "prompt_max_characters_by_resolution": {
              "1080P": 199,
              "768P": 2000
            },
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution"
            ],
            "resolution": [
              "768P",
              "1080P"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "count": 1,
            "family": "video",
            "format": "mp4",
            "result": "owned validated complete MP4"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"1080P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · 1080P / 6 seconds",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "video",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "video_output_1080p_6s_clip": 1.2,
            "video_output_768p_6s_clip": 0.6
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ]
      }
    }
  ],
  "model_id": "MiniMax-Hailuo-2.3",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "a590a8842798f23ec8b5bd22e627a0e6dc6ed6891825626957452c8c0c7af3a5",
    "input_html_sha256": "ba4516c5e5de2a9978882c7695f4785218d544a4009c3f71e11eb55bee443f0b",
    "private_audit_sha256": "cc639f17b196a05d616c45c9f19f5b4f3647e9aad036f8091646cbfcf5fe2d61",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/minimax-hailuo-2-3/",
    "description": "ينشئ MiniMax Hailuo 2.3 فيديو من نص أو صورة افتتاحية، مع عناصر تحكّم في الحركة واتجاه الكاميرا. اختر ست ثوانٍ بدقة 768P أو 1080P، أو عشر ثوانٍ بدقة 768P، لأداء الشخصيات والمشاهد ذات الأسلوب الفني ولقطات المنتجات التي يمكن مراجعتها وتحريرها.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/minimax-hailuo-2-3/index.md",
    "title": "MiniMax-Hailuo-2.3 — Ailoot",
    "url": "https://ailoot.ai/models/ar/minimax-hailuo-2-3/"
  },
  "rawModel": {
    "about": "MiniMax Hailuo 2.3 نموذج لتوليد الفيديو بوضعَي تحويل النص إلى فيديو وتحويل الصورة إلى فيديو. ويستند إلى Hailuo 02 مع تركيز على الفعل الفيزيائي والأسلوب البصري وتعابير الشخصية الدقيقة والاستجابة لتعليمات الحركة. قدّم مشهدًا مكتوبًا لإنشاء لقطة من الصفر، أو استخدم صورة افتتاحية لتحديد المنظر الأول وصِف الحركة التي تليه.\n\nالأداء الجسدي أحد أبرز مجالات التحسين في هذا الإصدار. يهدف Hailuo 2.3 إلى جعل حركات الجسم أكثر سلاسة وتحكّمًا، بما في ذلك المشاهد التي تتحرك فيها الكاميرا. خطّط للفعل المهم قبل إضافة التفاصيل الزخرفية. فشخصية ترفع جسمًا أو تستدير نحو شخص آخر أو تتحرّك عبر غرفة تمنح اللقطة حدثًا مرئيًا يمكن تقييمه. حدّد الحركة التي تحمل القصة، ثم اجعل التعليمات المحيطة بها متّسقة معها.\n\nويشكّل الأسلوب الفني محورًا آخر. يدعم النموذج العمل بأسلوب الأنمي والرسوم التوضيحية، وكذلك بأساليب مثل الرسم بالحبر المائي ورسوم الألعاب الحاسوبية CG. صِف المعالجة البصرية التي تريدها، وأبقِ المظهر متّسقًا مع المشهد. وإذا كانت الصورة الافتتاحية تحدّد أسلوب الرسم بالفعل، فاستخدم النص لتوجيه التحريك بدلًا من إدخال وصف منافس لتصميم الشخصية. راجع المقطع كاملًا للتأكّد من بقاء هذه المعالجة واضحة أثناء الحركة.\n\nيركّز النموذج أيضًا على أداء الوجه والتغيّرات التعبيرية الدقيقة. جهّز لقطة الشخصية حول رد الفعل المهم: ملاحظة جسم أو الشعور بالفضول أو الاستجابة بابتسامة صغيرة. ويمكن للمنظر القريب أن يجعل هذا التغيّر أسهل تقييمًا، بينما قد تصرف سلسلة كبيرة من الإيماءات الانتباه عنه. افحص الوجه قبل رد الفعل وأثناءه وبعده، بدلًا من الحكم على إطار ثابت ممثّل للمشهد فقط.\n\nتفيد حركة الأجسام في المشاهد التي تتمحور حول المنتج. ويمكن لتوجيه مبتكر أن يعرض مزهرية خزفية صغيرة تدور في ضوء جانبي دافئ، بينما تقترب منها الكاميرا تدريجيًا. حدّد الخصائص التي يجب أن تبقى قابلة للتعرّف، مثل الشكل الخارجي والحافة وتشطيب السطح. راجع هذه التفاصيل أثناء الحركة، لأن الجو المقنع وحده لا يثبت دقة عرض المنتج.\n\nفي تحويل النص إلى فيديو، يمكن للوصف المطلوب أن يحتوي على ما يصل إلى 2,000 حرف. اذكر العنصر الرئيسي والفعل والمكان والأسلوب البصري بترتيب مترابط. ويتطلّب تحويل الصورة إلى فيديو صورة للإطار الافتتاحي، مع وصف اختياري حتى 2,000 حرف. تثبّت الصورة التكوين الافتتاحي، لذا جهّز العنصر والتأطير قبل طلب الحركة. واترك مساحة ظاهرة حيث تحتاج ذراع أو جسم أو شخصية إلى التحرّك.\n\nتقبل الصورة الافتتاحية صيغ JPG أو JPEG أو PNG أو WebP، ويجب أن يكون حجمها أقل من 20 MB، وأن يزيد ضلعها القصير على 300 بكسل، وأن تكون نسبة أبعادها بين 2:5 و5:2. ويمكن تقديمها بعنوان URL عام للصورة أو بعنوان بيانات Base64. اختر صورة افتتاحية واضحة بدلًا من الاعتماد على التحريك لإصلاح وجه محجوب أو فعل مقتطع مسبقًا.\n\nيولّد Hailuo 2.3 بمعدل 24 إطارًا في الثانية. ويمكن للقطة من ست ثوانٍ استخدام 768P أو 1080P؛ بينما تستخدم لقطة العشر ثوانٍ 768P. والقيمتان الافتراضيتان هما ست ثوانٍ و768P. اختر المدة وفق الفعل المطلوب: قد يلائم رد فعل سريع لقطة قصيرة، بينما تحتاج حركة أبطأ إلى وقت أوسع. اقرأ العرض والارتفاع الفعليين للنتيجة المكتملة عند وضع المقطع في المونتاج، إذ لا تحدّد تسمية الدقة وحدها كامل قرار التأطير.\n\nيمكن لتوجيه الكاميرا استخدام أوامر بين أقواس مربعة. وتشمل عناصر التحكّم المتاحة الانتقال الجانبي والتحريك الأفقي والاقتراب والارتفاع أو الانخفاض الرأسي والميل والتقريب البصري والاهتزاز والتتبّع واللقطة الثابتة. ويوجّه أمر مثل [Push in] الاقتراب؛ وتعمل الأوامر المجمّعة داخل قوس واحد معًا، بينما تصف الأوامر المرتّبة تسلسلًا. توصي MiniMax بثلاثة أوامر متزامنة كحد أقصى. اجعل حركة الكاميرا متوافقة مع فعل العنصر الرئيسي ليظل الحدث الأساسي سهل المتابعة.\n\nيُفعَّل التحسين التلقائي للتوجيه افتراضيًا، ويمكن تعطيله للتحكّم الأدق في الصياغة المقدَّمة. وتقلّل المعالجة المسبقة السريعة الاختيارية زمن التحسين عند تفعيله؛ وهي إعداد مستقل عن اختيار نموذج Hailuo 2.3 Fast. يدعم Hailuo 2.3 القياسي وضعَي الإنشاء، بينما يشكّل Fast الإصدار المستقل لتحويل الصورة إلى فيديو. اختر الإصدار وفق ما إذا كان المشروع يبدأ بنص وحده أم بإطار موجود.\n\nيعيد مسار التوليد معرّف مهمة غير متزامنة، ثم يبلّغ عن التجهيز أو الانتظار في الطابور أو المعالجة أو النجاح أو الفشل. وعند النجاح، تتضمّن النتيجة معرّف ملف وأبعاد الفيديو الفعلية، ثم يُسترجع الفيديو المكتمل للتنزيل. احفظ المقطع خلال صلاحية عنوان تنزيله. ويحدّد مرجع تنزيل الفيديو الحالي لدى الجهة المطوّرة صلاحية عنوان URL الناتج بساعة واحدة. ولتسلسل محرَّر، احتفظ بكل لقطة مع توجيهها وصورتها الافتتاحية ليظل الاتجاه الإبداعي المختار قابلًا للتتبّع أثناء المراجعة.\n\nراجع الفعل والاستمرارية الفيزيائية وتفاصيل الوجه أو المنتج والأسلوب البصري وسلوك الكاميرا في المقطع المحفوظ. شاهد اللقطة كاملة، ثم افحص بدايتها ونهايتها حيث ستتصل بمواد أخرى. وإذا تضمّن الطلب حركات متنافسة كثيرة، فبسّط الفعل الرئيسي؛ وإذا كان التصميم الافتتاحي غير واضح، فحسّن الصورة الافتتاحية. اختر لقطة توصل الحدث المقصود، ثم أضف التعليق الصوتي والعناوين والانتقالات في مسار التحرير.",
    "alias_of": null,
    "aliases": [],
    "author": "MiniMax",
    "available": null,
    "canonical_model": "MiniMax-Hailuo-2.3",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Core",
        "rates": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      },
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "fbaf58dadd2536629a45",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "الإعداد الافتراضي"
            },
            "label": "MiniMax-Hailuo-2.3 · الإعداد الافتراضي",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "19ab01e12c389ee949ca7020",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "773fea089d2ce55d46c2a7b1",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "09daf355a38c30492684",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "الإعداد الافتراضي"
            },
            "label": "MiniMax-Hailuo-2.3 · الإعداد الافتراضي",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "daa8a5932b5bcaac702117f1",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "3fd346a74d57c55dc3f1d22b",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      },
      {
        "client_selectable": false,
        "key": "bf657018f1f319cdd9bf",
        "label": "MiniMax-Hailuo-2.3",
        "profiles": [
          {
            "basis": "",
            "dimensions": {
              "conditions": "Default configuration"
            },
            "label": "MiniMax-Hailuo-2.3 · Default configuration",
            "units": [
              {
                "amount": "0.0",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "9d0b136d74c27e74edf7a782",
                "label": "Input",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "in",
                "unit": "次"
              },
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "key": "219fbf3c287f8104ea30a466",
                "label": "Output",
                "public_unit_label": "per call",
                "quantity": 1,
                "rate_role": "declared_tariff_rate",
                "side": "out",
                "unit": "次"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "MiniMax-Hailuo-2.3",
    "input": [
      "text",
      "image"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "cache_write_5m": null,
        "conditional_meter": null,
        "contract": {
          "data": {
            "all_results": "Preserve every returned data item/output index. content_url is first only; fetch every actual content path/asset. GETcontentwithoutindex isnotalloutputs.",
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "محتوى النتيجة الأصلية غير متاح بعد",
                "http_status": 409,
                "recovery": "استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos/generations"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "first_frame_image"
                ]
              },
              {
                "available": true,
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "videos"
            ],
            "outputs": {
              "all_results": "احتفظ بكل عنصر بيانات أو فهرس مخرج مُعاد. يشير content_url إلى الأول فقط؛ اجلب كل مسار محتوى أو أصل فعلي. لا يعيد طلب GET للمحتوى دون index جميع المخرجات.",
              "content_selection": "Oneownedvideo; use actualreturnedcontent_url/data[] ororiginalcontentread. No indexedselection field is promised by thisCorehandler.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content_url",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed URL"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "result_pending_check",
                  "type": "boolean"
                }
              ],
              "format": "mp4"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "محارف Unicode"
              },
              {
                "availability": "source_interface",
                "conditions": "مدة 10 ثوانٍ تتطلب 768P",
                "default": 6,
                "default_known": true,
                "enum": [
                  6,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": false,
                "type": "integer",
                "unit": "ثوانٍ"
              },
              {
                "availability": "source_interface",
                "conditions": "تتطلب 1080P مدة 6 ثوانٍ",
                "default": "768P",
                "default_known": true,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "type": "string"
              },
              {
                "aspect_ratio_range": [
                  "2:5",
                  "5:2"
                ],
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_decoded_bytes": 20971520,
                "mime_types": [
                  "image/jpeg",
                  "image/png",
                  "image/webp"
                ],
                "minimum_dimension_exclusive": 300,
                "name": "first_frame_image",
                "required": false,
                "type": "https_url|data_image_url"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_optimizer",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "fast_pretreatment",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": []
          },
          "hints": [
            "بُنى الطرق ومعرّفاتها دقيقة؛ قدرة المورد منفصلة عن السماح بالطلب."
          ],
          "input": {
            "material_types": [
              "text",
              "image"
            ],
            "optional_controls": null,
            "required": null
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos/generations"
          },
          "operation_modes": [
            "videos"
          ],
          "output": {
            "family": [
              "video"
            ],
            "format": null,
            "multioutputs": "retain every actual response output"
          }
        },
        "ctx": null,
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl https://api.ailoot.ai/v1/videos/generations \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A person walks slowly through a quiet garden as the camera tracks from the side.\", \"duration\": 6, \"resolution\": \"768P\"}'",
            "label": "Create video · retained exact shape",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\"",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_VIDEO_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_VIDEO_ID\nvideo_id=$(python3 -c 'import os, urllib.parse; print(urllib.parse.quote(os.environ[\"AILOOT_VIDEO_ID\"], safe=\"\"))') || exit 1\ncurl \"https://api.ailoot.ai/v1/videos/generations/$video_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" \\\n  --output video.mp4",
            "label": "GET content",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "http": "POST",
        "img_in": null,
        "img_out": null,
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "فيديو",
        "max_out": null,
        "max_tool_calls": null,
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos/generations",
        "pricing_profiles": [
          {
            "dimensions": {},
            "label": "Core",
            "units": [
              {
                "amount": 0.28,
                "amount_unit": "usd_per_display_unit",
                "key": "video_output_768p_6s_clip",
                "label": "per 6 s video at 768p",
                "side": "out"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core",
        "status_reads": [
          "GET /v1/videos/generations/{id}",
          "GET /v1/videos/generations/{id}/content"
        ],
        "tiers": [],
        "tool_prices": null,
        "unit": "video_output_768p_6s_clip",
        "units": [
          {
            "key": "video_output_768p_6s_clip",
            "label": "per 6 s video at 768p",
            "side": "out",
            "usd": 0.28
          }
        ]
      },
      {
        "available": null,
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "حقول مطلوبة أو تمثيل مادة أو قيمة معلمة غير صحيحة",
                "http_status": 400,
                "recovery": "صحّح الحقول المحددة قبل طلب إنشاء جديد.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "محتوى النتيجة الأصلية غير متاح بعد",
                "http_status": 409,
                "recovery": "استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              }
            ],
            "hints": [],
            "ignored_fields": [],
            "lifecycle": {
              "all_results": "Follow everyactualreturnedoutputandownedasset; no result is discardedbecauseindex0orcontent_urlalreadyexists.",
              "content": [
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual output index; default0"
                  }
                },
                {
                  "http": "GET",
                  "parameters": [
                    {
                      "availability": "source_interface",
                      "conditions": "Must be less than the actual returned output count.",
                      "default": 0,
                      "default_known": true,
                      "enum": null,
                      "enum_known": false,
                      "maximum": null,
                      "maximum_known": false,
                      "minimum": 0,
                      "name": "index",
                      "required": false,
                      "type": "integer"
                    }
                  ],
                  "path": "/v1/videos/generations/{request_id}/content"
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "id_source": "Actualreturnedpublicid; opaque URLencodeit forGET",
              "mode": "submit_once_poll_original",
              "multioutputs": "retain every completed data output; index0 alone is not all outputs",
              "operation_id_is_not_task_id": true,
              "owned_result": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              },
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}"
                },
                {
                  "http": "GET",
                  "path": "/v1/videos/generations/{request_id}"
                }
              ],
              "submit_status": 202,
              "unknown": "اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.",
              "unknown_no_replay": true
            },
            "material_combinations": [
              {
                "content_type": "application/json",
                "mode": "text_to_video",
                "required": [
                  "prompt"
                ]
              }
            ],
            "media_library": {
              "asset": {
                "fields": [
                  {
                    "description": null,
                    "name": "asset_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "task_id",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "output_key",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "family",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "model",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "method",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "status",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "content_type",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "sha256",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "size_bytes",
                    "type": "integer"
                  },
                  {
                    "description": null,
                    "name": "content_url",
                    "type": "string"
                  }
                ],
                "http": "GET",
                "id_source": "actual returned asset_id",
                "path": "/v1/media/assets/{asset_id}"
              },
              "content": {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "range_header_supported": true,
                "url_source": "Use exact returned signed content_url including its token; do not construct a token."
              },
              "expired_link": {
                "code": "link_expired",
                "http_status": 404,
                "recovery": "Read the asset again to obtain its refreshed signed content_url, then fetch that URL. Do not regenerate."
              },
              "list": {
                "all_pages": "Follow every returned next_cursor, then select records by their actual task_id/output_key.",
                "http": "GET",
                "output_fields": [
                  {
                    "description": null,
                    "name": "object",
                    "type": "string"
                  },
                  {
                    "description": null,
                    "name": "data",
                    "type": "asset[]"
                  },
                  {
                    "description": null,
                    "name": "next_cursor",
                    "type": "string|null"
                  }
                ],
                "parameters": [
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "family",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": null,
                    "default_known": false,
                    "enum": null,
                    "enum_known": false,
                    "name": "cursor",
                    "required": false,
                    "type": "string"
                  },
                  {
                    "availability": "source_interface",
                    "default": 20,
                    "default_known": true,
                    "enum": null,
                    "enum_known": false,
                    "maximum": 100,
                    "minimum": 1,
                    "name": "limit",
                    "required": false,
                    "type": "integer"
                  }
                ],
                "path": "/v1/media/assets"
              },
              "revoke": {
                "http": "DELETE",
                "meaning": "Revokes/deletes the existing owned file; this is not generation cancellation.",
                "path": "/v1/media/assets/{asset_id}",
                "pending_status": "revoking",
                "success_statuses": [
                  202,
                  204
                ]
              },
              "task": {
                "http": "GET",
                "id_source": "actual returned task_id or media library record; operation_id is not task_id",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "تحتوي data[] المكتملة على جميع عناوين URL الموقّعة للمحتوى المملوك لك. اجلب كل عنوان URL مُعاد، أو استخدم نقطة نهاية المحتوى مع ضبط index على فهرس مخرج فعلي. قد تُعيد المهمة الأصلية الفاشلة charge_pending_check؛ تحقق من تلك المهمة الأصلية بدلاً من إنشائها مرة أخرى.",
              "create_status": 202,
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "object",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": "signed content URL"
                },
                {
                  "description": null,
                  "name": "charge_pending_check",
                  "type": "boolean"
                },
                {
                  "description": null,
                  "name": "error.code",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "error.message",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "requested_nominal_duration_seconds",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "measured_duration_seconds",
                  "type": "number"
                },
                {
                  "description": null,
                  "name": "width",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "height",
                  "type": "integer"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 1,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "MiniMax-Hailuo-2.3"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "عند 768P: بحد أقصى 2000 نقطة ترميز Unicode. عند 1080P: أقل من 200 نقطة ترميز Unicode (بحد أقصى 199). يجب أن يحتوي الموجّه النصي على نص يتجاوز المحارف البيضاء.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": null,
                "maximum_length": 2000,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "محارف Unicode"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  6
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "ثوانٍ"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "768P",
                  "1080P"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "request_schema": {
              "additionalProperties": false,
              "allOf": [
                {
                  "if": {
                    "properties": {
                      "resolution": {
                        "const": "1080P"
                      }
                    },
                    "required": [
                      "resolution"
                    ]
                  },
                  "then": {
                    "properties": {
                      "prompt": {
                        "maxLength": 199
                      }
                    }
                  }
                }
              ],
              "properties": {
                "duration": {
                  "enum": [
                    6
                  ],
                  "type": "integer"
                },
                "model": {
                  "enum": [
                    "MiniMax-Hailuo-2.3"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "description": "Non-whitespace UTF-8 text. Length counts Unicode code points; the 1080P conditional maximum is 199.",
                  "maxLength": 2000,
                  "minLength": 1,
                  "type": "string"
                },
                "resolution": {
                  "enum": [
                    "768P",
                    "1080P"
                  ],
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration",
                "resolution"
              ],
              "type": "object"
            },
            "unsupported": [
              "everyfieldoutsideexactrequiredprofile"
            ]
          },
          "hints": [
            "أنشئ مرة واحدة واحفظ المعرّف المُعاد.",
            "استعلم دورياً عن الحالة الأصلية؛ واحتفظ بكل أصل مكتمل ومدته."
          ],
          "input": {
            "content_type": "application/json",
            "duration": [
              6
            ],
            "material_types": [
              "text"
            ],
            "other_options": false,
            "prompt_max_characters": 2000,
            "prompt_max_characters_by_resolution": {
              "1080P": 199,
              "768P": 2000
            },
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution"
            ],
            "resolution": [
              "768P",
              "1080P"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "only actual ID/path from creation/status",
            "mode": "submit_once_poll_original",
            "multioutputs": "retain every completed data output; index0 alone is not all outputs",
            "owned_result": {
              "http": "GET",
              "path": "/v1/media/assets/{asset_id}"
            },
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}"
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}"
              }
            ],
            "submit_status": 202,
            "unknown": "Read existing original job; never resubmit unknown send."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "count": 1,
            "family": "video",
            "format": "mp4",
            "result": "owned validated complete MP4"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"768P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np=json.loads('{\"model\": \"MiniMax-Hailuo-2.3\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 6, \"resolution\": \"1080P\"}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl · 1080P / 6 seconds",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/videos/generations",
          "/videos",
          "/videos/generations"
        ],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "video",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null,
          "unit_prices": {
            "video_output_1080p_6s_clip": 1.2,
            "video_output_768p_6s_clip": 0.6
          }
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "1080P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "1.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_1080p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "1.2",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          },
          {
            "dimensions": {
              "nominal_duration_seconds": 6,
              "quoted_unit": "per nominal 6s output clip",
              "resolution": "768P"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.6",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": true,
                "estimate_only": false,
                "key": "video_output_768p_6s_clip",
                "label": "nominal 6s output clip",
                "native_amount_usd_per_unit": "0.6",
                "native_quantity": 1,
                "public_unit_label": "per nominal 6s output clip",
                "quantity": "1",
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "nominal_6s_output_clip"
              }
            ]
          }
        ],
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}",
          "GET /v1/videos/generations/{request_id}",
          "GET /v1/videos/{request_id}/content",
          "GET /v1/videos/generations/{request_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_1080p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": true,
            "estimate_only": false,
            "key": "video_output_768p_6s_clip",
            "label": "nominal 6s output clip",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "public_unit_label": "per nominal 6s output clip",
            "quantity": "1",
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "nominal_6s_output_clip"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "MiniMax-Hailuo-2.3",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Core"
      },
      {
        "canonical_model_id": "MiniMax-Hailuo-2.3",
        "request_model_id": "MiniMax-Hailuo-2.3",
        "route_label": "Ultra"
      }
    ],
    "name": "MiniMax-Hailuo-2.3",
    "price": {
      "in": null,
      "in_label": null,
      "out": 1.2,
      "out_label": "per nominal 6s output clip",
      "sort_in": null,
      "sort_out": 1.2,
      "varies": true
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 768P, 6S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 768P, 6S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "0.6",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.6",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "0.6",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 768P, 10S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 768P, 10S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "1.2",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "basis": "Source-only tariff reference.",
        "dimensions": {
          "conditions": [
            "Image-to-video and text-to-video: 1080P, 6S"
          ]
        },
        "label": "Ailoot Ultra · MiniMax-Hailuo-2.3 · Image-to-video and text-to-video: 1080P, 6S",
        "units": [
          {
            "amount": "0.0",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "0.0",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "input",
            "label": "input call",
            "native_amount_usd_per_unit": "0.0",
            "native_quantity": 1,
            "quantity": 1,
            "side": "in",
            "unit": "call"
          },
          {
            "amount": "1.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_original_amount": "1.2",
            "billing_original_published_unit": "次",
            "billing_original_quantity": "1",
            "billing_original_unit": "call",
            "key": "output",
            "label": "output call",
            "native_amount_usd_per_unit": "1.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "call"
          }
        ]
      }
    ],
    "public_id": "MiniMax-Hailuo-2.3",
    "short": "ينشئ MiniMax Hailuo 2.3 فيديو من نص أو صورة افتتاحية، مع عناصر تحكّم في الحركة واتجاه الكاميرا. اختر ست ثوانٍ بدقة 768P أو 1080P، أو عشر ثوانٍ بدقة 768P، لأداء الشخصيات والمشاهد ذات الأسلوب الفني ولقطات المنتجات التي يمكن مراجعتها وتحريرها."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "ينشئ MiniMax Hailuo 2.3 فيديو من نص أو صورة افتتاحية، مع عناصر تحكّم في الحركة واتجاه الكاميرا. اختر ست ثوانٍ بدقة 768P أو 1080P، أو عشر ثوانٍ بدقة 768P، لأداء الشخصيات والمشاهد ذات الأسلوب الفني ولقطات المنتجات التي يمكن مراجعتها وتحريرها.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "aacff7315d561391d5161defe5d62fdb3c6d60be6a802b8f5f5e389d1f9aa591",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "15ec8d1c23b839724a5880f946147cfac2b4dbdb044f3461fafe412951841888"
}
