{
  "aboutHtml": "<p>Alibaba Wan 2.7 عائلة لتوليد الفيديو تضم ملفات تعريف مسماة لتحويل النص إلى فيديو والصورة إلى فيديو والتوليد الموجّه بالمراجع. توثّق الجهة المصنّعة مشاهد متزامنة مع الصوت وسردًا متعدد اللقطات، بينما يضيف مسار الصور التوليد من الإطارين الأول والأخير واستكمال فيديو أولي. والناتج المفيد مقطع قصير بصوته، مثل انتقال لمنتج أو قصة موجزة أو استكمال يلائم لقطة موجودة. اختر الوضع وفق المادة المصدرية والتحكّم المطلوب في البداية أو النهاية.</p><p>لتحويل النص إلى فيديو، صِف العنصر الرئيسي والمكان والفعل والكاميرا والأسلوب والصوت. ويمكن للوحة القصة تحديد كل لقطة ونطاقها الزمني، بينما يجب أن يذكر توجيه اللقطة الواحدة أن الفعل يظل متصلًا. يتيح دليل توجيه Wan 2.7 للنموذج تفسير بنية اللقطات من الوصف المكتوب بدلًا من استخدام عنصر shot_type الخاص ب2.6. تقبل واجهة النص الحالية توجيهات بالصينية أو الإنجليزية حتى 5,000 حرف، مع توجيه سلبي مستقل حتى 500 حرف؛ ويُقتطع النص الزائد. أبقِ الفعل الأساسي والقيود واضحين ضمن هذا الحد.</p><p>يحرّك تحويل صورة الإطار الأول إلى فيديو صورة افتتاحية مقدَّمة. ويحدّد التوليد من الإطارين الأول والأخير نقطة النهاية والحركة الواصلة إليها أيضًا. ويدعم دليل الصور 2.7 مصدرًا صوتيًا موجّهًا إلى جانب تركيبات الإطارات هذه. جهّز نقطتي بداية ونهاية تشتركان في مشهد وعنصر مقصود، وصِف الانتقال بدلًا من مطالبة النموذج بإعادة تفسير الصورتين كمرجعين أسلوبيين غير مترابطين. تقارب المخرجات نسب الصورة الأولى؛ ويتعامل الدليل مع الدقة باعتبارها فئة لعدد البكسلات ويقرّب الأبعاد المرمَّزة بما يلائم ذلك.</p><p>يبدأ استكمال الفيديو بمقطع مصدري، ويمكنه أيضًا استخدام صورة ختامية. والمدة المطلوبة هي إجمالي الفيديو الناتج، بما فيه الجزء الأصلي. يجمع مثال الدليل مصدرًا مدته ثانيتان وعشر ثوانٍ من المحتوى الجديد في نتيجة مدتها اثنتا عشرة ثانية. جهّز الفعل الأخير في المصدر وحدّد ما يحدث بعده، كي تواصل الكاميرا والعنصر الرئيسي في اتجاه مترابط. راجع الوصلة من حيث المظهر والحركة والضوء والصوت بدلًا من تقييم النهاية الجديدة وحدها.</p><p>يستخدم ملف المراجع المستقل الحالي لدى الجهة المطوّرة صورًا أو فيديو لتوجيه الشخصيات أو الأجسام أو المشهد. ويسمح دليله بما يصل إلى خمس صور وفيديوهات مرجعية في المجموع، ويستخدم تسميات بحسب النوع مثل Image 1 وVideo 1. صِف دور كل مادة والتفاعل المقصود. ولمشهد موجّه بالمراجع، اعرض شخصية من مرجع تحمل جسمًا من مرجع آخر عبر موقع محدّد. يختلف التأطير المرجعي عن التوليد من الإطار الأول: يمكن للتوجيه إنشاء تكوين جديد بدلًا من اشتراط افتتاح الفيديو على صورة ثابتة مقدَّمة بعينها.</p><p>للصوت المخصّص في التوليد النصي، الصيغ الموثّقة هي WAV وMP3، بمدة من ثانيتين إلى ثلاثين ثانية وحجم أقصى 15 MB. تحدّد مدة الفيديو المختارة الجزء المستخدم: يُقتطع الصوت الأطول إلى تلك المدة، بينما يترك الصوت الأقصر من الفيديو بقية المقطع صامتة. جهّز المقطع الصوتي الدقيق الذي ينتمي إلى اللقطة واترك مجالًا للفعل البصري المقصود. ومن دون ملف صوتي مقدَّم، تصف الجهة المطوّرة توليد موسيقى خلفية أو مؤثرات ملائمة للمشهد؛ افحص الصوت الفعلي وأي كلام مطلوب مع الصورة.</p><p>تذكر مصفوفة النماذج الحالية MP4 بدقة 720p أو 1080p ومعدل 30 إطارًا في الثانية، مع فيديوهات ناتجة من النص أو الصور تتراوح مدتها من ثانيتين إلى خمس عشرة ثانية. ويقتصر ملف المراجع المستقل على ثانيتين إلى عشر ثوانٍ. يوفّر التوليد النصي تأطير 16:9 و9:16 و1:1 و4:3 و3:4. ولمهام التوليد المشروط بالصور قواعدها الخاصة لتقريب نسب المصدر، لذا جهّز اقتصاص المدخلات لوجهتها المقصودة. ولا ينبغي استبدال قواعد مسار الإطارات أو الاستكمال بقاعدة مدة أو أبعاد مأخوذة من ملف المراجع.</p><p>مسار الجهة المطوّرة الموثّق غير متزامن: يتتبّع معرّف مهمة المعالجة، وتوفّر النتيجة الناجحة موقع الفيديو. وتُوثَّق النتائج بصلاحية روابط تبلغ أربعًا وعشرين ساعة، لذا احتفظ بالمقطع الفعلي والمواد الإبداعية لمراجعة التحرير. وتتبع خيارات إعادة صياغة التوجيه والعلامة المائية والبذرة الواجهة المختارة. تقول الجهة المطوّرة إن تثبيت البذرة يمكن أن يحسّن قابلية إعادة الإنتاج، لكنه لا يضمن نتيجة مطابقة. قارن الملف الناتج بالتوجيه بدلًا من افتراض أن الإعدادات وحدها تحافظ على كل تفصيل.</p><p>مقارنةً بWan 2.6، يضيف دليل الصور 2.7 تحديدًا التحكّم بالإطارين الأول والأخير واستكمال الفيديو عبر مدخلات وسائط متعددة. ويقدّم Wan 3.0 بنية شاملة مختلفة وحدًا أطول للتوليد. يحتفظ ملف 2.7 هذا بعناصر التحكّم والحدود الخاصة بكل مهمة. راجع المشهد كله من حيث استمرارية العنصر الرئيسي ومراسي الإطارات وهوية المراجع والحوار والحركة والوصلات، واجعل التصحيح التالي مرتبطًا بالمشكلة الفعلية التي عُثر عليها.</p>",
  "aboutText": "Alibaba Wan 2.7 عائلة لتوليد الفيديو تضم ملفات تعريف مسماة لتحويل النص إلى فيديو والصورة إلى فيديو والتوليد الموجّه بالمراجع. توثّق الجهة المصنّعة مشاهد متزامنة مع الصوت وسردًا متعدد اللقطات، بينما يضيف مسار الصور التوليد من الإطارين الأول والأخير واستكمال فيديو أولي. والناتج المفيد مقطع قصير بصوته، مثل انتقال لمنتج أو قصة موجزة أو استكمال يلائم لقطة موجودة. اختر الوضع وفق المادة المصدرية والتحكّم المطلوب في البداية أو النهاية.\n\nلتحويل النص إلى فيديو، صِف العنصر الرئيسي والمكان والفعل والكاميرا والأسلوب والصوت. ويمكن للوحة القصة تحديد كل لقطة ونطاقها الزمني، بينما يجب أن يذكر توجيه اللقطة الواحدة أن الفعل يظل متصلًا. يتيح دليل توجيه Wan 2.7 للنموذج تفسير بنية اللقطات من الوصف المكتوب بدلًا من استخدام عنصر shot_type الخاص ب2.6. تقبل واجهة النص الحالية توجيهات بالصينية أو الإنجليزية حتى 5,000 حرف، مع توجيه سلبي مستقل حتى 500 حرف؛ ويُقتطع النص الزائد. أبقِ الفعل الأساسي والقيود واضحين ضمن هذا الحد.\n\nيحرّك تحويل صورة الإطار الأول إلى فيديو صورة افتتاحية مقدَّمة. ويحدّد التوليد من الإطارين الأول والأخير نقطة النهاية والحركة الواصلة إليها أيضًا. ويدعم دليل الصور 2.7 مصدرًا صوتيًا موجّهًا إلى جانب تركيبات الإطارات هذه. جهّز نقطتي بداية ونهاية تشتركان في مشهد وعنصر مقصود، وصِف الانتقال بدلًا من مطالبة النموذج بإعادة تفسير الصورتين كمرجعين أسلوبيين غير مترابطين. تقارب المخرجات نسب الصورة الأولى؛ ويتعامل الدليل مع الدقة باعتبارها فئة لعدد البكسلات ويقرّب الأبعاد المرمَّزة بما يلائم ذلك.\n\nيبدأ استكمال الفيديو بمقطع مصدري، ويمكنه أيضًا استخدام صورة ختامية. والمدة المطلوبة هي إجمالي الفيديو الناتج، بما فيه الجزء الأصلي. يجمع مثال الدليل مصدرًا مدته ثانيتان وعشر ثوانٍ من المحتوى الجديد في نتيجة مدتها اثنتا عشرة ثانية. جهّز الفعل الأخير في المصدر وحدّد ما يحدث بعده، كي تواصل الكاميرا والعنصر الرئيسي في اتجاه مترابط. راجع الوصلة من حيث المظهر والحركة والضوء والصوت بدلًا من تقييم النهاية الجديدة وحدها.\n\nيستخدم ملف المراجع المستقل الحالي لدى الجهة المطوّرة صورًا أو فيديو لتوجيه الشخصيات أو الأجسام أو المشهد. ويسمح دليله بما يصل إلى خمس صور وفيديوهات مرجعية في المجموع، ويستخدم تسميات بحسب النوع مثل Image 1 وVideo 1. صِف دور كل مادة والتفاعل المقصود. ولمشهد موجّه بالمراجع، اعرض شخصية من مرجع تحمل جسمًا من مرجع آخر عبر موقع محدّد. يختلف التأطير المرجعي عن التوليد من الإطار الأول: يمكن للتوجيه إنشاء تكوين جديد بدلًا من اشتراط افتتاح الفيديو على صورة ثابتة مقدَّمة بعينها.\n\nللصوت المخصّص في التوليد النصي، الصيغ الموثّقة هي WAV وMP3، بمدة من ثانيتين إلى ثلاثين ثانية وحجم أقصى 15 MB. تحدّد مدة الفيديو المختارة الجزء المستخدم: يُقتطع الصوت الأطول إلى تلك المدة، بينما يترك الصوت الأقصر من الفيديو بقية المقطع صامتة. جهّز المقطع الصوتي الدقيق الذي ينتمي إلى اللقطة واترك مجالًا للفعل البصري المقصود. ومن دون ملف صوتي مقدَّم، تصف الجهة المطوّرة توليد موسيقى خلفية أو مؤثرات ملائمة للمشهد؛ افحص الصوت الفعلي وأي كلام مطلوب مع الصورة.\n\nتذكر مصفوفة النماذج الحالية MP4 بدقة 720p أو 1080p ومعدل 30 إطارًا في الثانية، مع فيديوهات ناتجة من النص أو الصور تتراوح مدتها من ثانيتين إلى خمس عشرة ثانية. ويقتصر ملف المراجع المستقل على ثانيتين إلى عشر ثوانٍ. يوفّر التوليد النصي تأطير 16:9 و9:16 و1:1 و4:3 و3:4. ولمهام التوليد المشروط بالصور قواعدها الخاصة لتقريب نسب المصدر، لذا جهّز اقتصاص المدخلات لوجهتها المقصودة. ولا ينبغي استبدال قواعد مسار الإطارات أو الاستكمال بقاعدة مدة أو أبعاد مأخوذة من ملف المراجع.\n\nمسار الجهة المطوّرة الموثّق غير متزامن: يتتبّع معرّف مهمة المعالجة، وتوفّر النتيجة الناجحة موقع الفيديو. وتُوثَّق النتائج بصلاحية روابط تبلغ أربعًا وعشرين ساعة، لذا احتفظ بالمقطع الفعلي والمواد الإبداعية لمراجعة التحرير. وتتبع خيارات إعادة صياغة التوجيه والعلامة المائية والبذرة الواجهة المختارة. تقول الجهة المطوّرة إن تثبيت البذرة يمكن أن يحسّن قابلية إعادة الإنتاج، لكنه لا يضمن نتيجة مطابقة. قارن الملف الناتج بالتوجيه بدلًا من افتراض أن الإعدادات وحدها تحافظ على كل تفصيل.\n\nمقارنةً بWan 2.6، يضيف دليل الصور 2.7 تحديدًا التحكّم بالإطارين الأول والأخير واستكمال الفيديو عبر مدخلات وسائط متعددة. ويقدّم Wan 3.0 بنية شاملة مختلفة وحدًا أطول للتوليد. يحتفظ ملف 2.7 هذا بعناصر التحكّم والحدود الخاصة بكل مهمة. راجع المشهد كله من حيث استمرارية العنصر الرئيسي ومراسي الإطارات وهوية المراجع والحوار والحركة والوصلات، واجعل التصحيح التالي مرتبطًا بالمشكلة الفعلية التي عُثر عليها.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "722701854f9fd726b520fd65349a95bc2e3661019fa2c91c0bb20b79fe6945a1",
    "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\">Al</span><h2 id=\"sheet-title\">Alibaba: Wan 2.7</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"إغلاق\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>alibaba/wan-2.7</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=\"Ultra|videos|/v1/videos|alibaba%2Fwan-2.7\">فيديو</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\">ينشئ Alibaba Wan 2.7 مقاطع فيديو بصوت من النصوص أو الصور الافتتاحية والختامية أو المراجع المرئية. ويتيح مسار الصور فيه أيضًا متابعة مقطع مصدري، باستخدام المدة الإجمالية المطلوبة. يذكر المنتج إخراج MP4 بدقة 720p أو 1080p وبمعدل 30 fps: من 2–15 ثانية لأوضاع النص والصورة، وحتى 10 ثوانٍ للتوليد بالمراجع.</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>Alibaba Wan 2.7 عائلة لتوليد الفيديو تضم ملفات تعريف مسماة لتحويل النص إلى فيديو والصورة إلى فيديو والتوليد الموجّه بالمراجع. توثّق الجهة المصنّعة مشاهد متزامنة مع الصوت وسردًا متعدد اللقطات، بينما يضيف مسار الصور التوليد من الإطارين الأول والأخير واستكمال فيديو أولي. والناتج المفيد مقطع قصير بصوته، مثل انتقال لمنتج أو قصة موجزة أو استكمال يلائم لقطة موجودة. اختر الوضع وفق المادة المصدرية والتحكّم المطلوب في البداية أو النهاية.</p><p>لتحويل النص إلى فيديو، صِف العنصر الرئيسي والمكان والفعل والكاميرا والأسلوب والصوت. ويمكن للوحة القصة تحديد كل لقطة ونطاقها الزمني، بينما يجب أن يذكر توجيه اللقطة الواحدة أن الفعل يظل متصلًا. يتيح دليل توجيه Wan 2.7 للنموذج تفسير بنية اللقطات من الوصف المكتوب بدلًا من استخدام عنصر shot_type الخاص ب2.6. تقبل واجهة النص الحالية توجيهات بالصينية أو الإنجليزية حتى 5,000 حرف، مع توجيه سلبي مستقل حتى 500 حرف؛ ويُقتطع النص الزائد. أبقِ الفعل الأساسي والقيود واضحين ضمن هذا الحد.</p><p>يحرّك تحويل صورة الإطار الأول إلى فيديو صورة افتتاحية مقدَّمة. ويحدّد التوليد من الإطارين الأول والأخير نقطة النهاية والحركة الواصلة إليها أيضًا. ويدعم دليل الصور 2.7 مصدرًا صوتيًا موجّهًا إلى جانب تركيبات الإطارات هذه. جهّز نقطتي بداية ونهاية تشتركان في مشهد وعنصر مقصود، وصِف الانتقال بدلًا من مطالبة النموذج بإعادة تفسير الصورتين كمرجعين أسلوبيين غير مترابطين. تقارب المخرجات نسب الصورة الأولى؛ ويتعامل الدليل مع الدقة باعتبارها فئة لعدد البكسلات ويقرّب الأبعاد المرمَّزة بما يلائم ذلك.</p><p>يبدأ استكمال الفيديو بمقطع مصدري، ويمكنه أيضًا استخدام صورة ختامية. والمدة المطلوبة هي إجمالي الفيديو الناتج، بما فيه الجزء الأصلي. يجمع مثال الدليل مصدرًا مدته ثانيتان وعشر ثوانٍ من المحتوى الجديد في نتيجة مدتها اثنتا عشرة ثانية. جهّز الفعل الأخير في المصدر وحدّد ما يحدث بعده، كي تواصل الكاميرا والعنصر الرئيسي في اتجاه مترابط. راجع الوصلة من حيث المظهر والحركة والضوء والصوت بدلًا من تقييم النهاية الجديدة وحدها.</p><p>يستخدم ملف المراجع المستقل الحالي لدى الجهة المطوّرة صورًا أو فيديو لتوجيه الشخصيات أو الأجسام أو المشهد. ويسمح دليله بما يصل إلى خمس صور وفيديوهات مرجعية في المجموع، ويستخدم تسميات بحسب النوع مثل Image 1 وVideo 1. صِف دور كل مادة والتفاعل المقصود. ولمشهد موجّه بالمراجع، اعرض شخصية من مرجع تحمل جسمًا من مرجع آخر عبر موقع محدّد. يختلف التأطير المرجعي عن التوليد من الإطار الأول: يمكن للتوجيه إنشاء تكوين جديد بدلًا من اشتراط افتتاح الفيديو على صورة ثابتة مقدَّمة بعينها.</p><p>للصوت المخصّص في التوليد النصي، الصيغ الموثّقة هي WAV وMP3، بمدة من ثانيتين إلى ثلاثين ثانية وحجم أقصى 15 MB. تحدّد مدة الفيديو المختارة الجزء المستخدم: يُقتطع الصوت الأطول إلى تلك المدة، بينما يترك الصوت الأقصر من الفيديو بقية المقطع صامتة. جهّز المقطع الصوتي الدقيق الذي ينتمي إلى اللقطة واترك مجالًا للفعل البصري المقصود. ومن دون ملف صوتي مقدَّم، تصف الجهة المطوّرة توليد موسيقى خلفية أو مؤثرات ملائمة للمشهد؛ افحص الصوت الفعلي وأي كلام مطلوب مع الصورة.</p><p>تذكر مصفوفة النماذج الحالية MP4 بدقة 720p أو 1080p ومعدل 30 إطارًا في الثانية، مع فيديوهات ناتجة من النص أو الصور تتراوح مدتها من ثانيتين إلى خمس عشرة ثانية. ويقتصر ملف المراجع المستقل على ثانيتين إلى عشر ثوانٍ. يوفّر التوليد النصي تأطير 16:9 و9:16 و1:1 و4:3 و3:4. ولمهام التوليد المشروط بالصور قواعدها الخاصة لتقريب نسب المصدر، لذا جهّز اقتصاص المدخلات لوجهتها المقصودة. ولا ينبغي استبدال قواعد مسار الإطارات أو الاستكمال بقاعدة مدة أو أبعاد مأخوذة من ملف المراجع.</p><p>مسار الجهة المطوّرة الموثّق غير متزامن: يتتبّع معرّف مهمة المعالجة، وتوفّر النتيجة الناجحة موقع الفيديو. وتُوثَّق النتائج بصلاحية روابط تبلغ أربعًا وعشرين ساعة، لذا احتفظ بالمقطع الفعلي والمواد الإبداعية لمراجعة التحرير. وتتبع خيارات إعادة صياغة التوجيه والعلامة المائية والبذرة الواجهة المختارة. تقول الجهة المطوّرة إن تثبيت البذرة يمكن أن يحسّن قابلية إعادة الإنتاج، لكنه لا يضمن نتيجة مطابقة. قارن الملف الناتج بالتوجيه بدلًا من افتراض أن الإعدادات وحدها تحافظ على كل تفصيل.</p><p>مقارنةً بWan 2.6، يضيف دليل الصور 2.7 تحديدًا التحكّم بالإطارين الأول والأخير واستكمال الفيديو عبر مدخلات وسائط متعددة. ويقدّم Wan 3.0 بنية شاملة مختلفة وحدًا أطول للتوليد. يحتفظ ملف 2.7 هذا بعناصر التحكّم والحدود الخاصة بكل مهمة. راجع المشهد كله من حيث استمرارية العنصر الرئيسي ومراسي الإطارات وهوية المراجع والحوار والحركة والوصلات، واجعل التصحيح التالي مرتبطًا بالمشكلة الفعلية التي عُثر عليها.</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>حتى ⁦4⁩ إخراجs</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>alibaba/wan-2.7</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>الحد الأقصى لبايتات UTF-8: ⁦10,000⁩</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\">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>⁦2⁩, ⁦3⁩, ⁦4⁩, ⁦5⁩, ⁦6⁩, ⁦7⁩, ⁦8⁩, ⁦9⁩, ⁦10⁩</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>720p</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\">aspect_ratio</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>16:9, 9:16, 1:1, 4:3, 3:4</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\">generate_audio</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><div>false, true</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, aspect_ratio, generate_audio</td></tr><tr><th data-cell-label=\"المعلمة\" scope=\"row\"><span class=\"card-cell-label\">المعلمة</span><code>additional_properties</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>parameters</code></th><td data-cell-label=\"المواصفات\"><span class=\"card-cell-label\">المواصفات</span>{&quot;name&quot;:&quot;model&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;alibaba/wan-2.7&quot;]}, {&quot;name&quot;:&quot;prompt&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;non_whitespace&quot;:true,&quot;max_utf8_bytes&quot;:10000}, {&quot;name&quot;:&quot;duration&quot;,&quot;type&quot;:&quot;integer&quot;,&quot;required&quot;:true,&quot;enum&quot;:[2,3,4,5,6,7,8,9,10]}, {&quot;name&quot;:&quot;resolution&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;720p&quot;]}, {&quot;name&quot;:&quot;aspect_ratio&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;enum&quot;:[&quot;16:9&quot;,&quot;9:16&quot;,&quot;1:1&quot;,&quot;4:3&quot;,&quot;3:4&quot;]}, {&quot;name&quot;:&quot;generate_audio&quot;,&quot;type&quot;:&quot;boolean&quot;,&quot;required&quot;:true,&quot;enum&quot;:[false,true]}</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></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 class=\"card-result-process\" data-billing-basis><h5>كيفية احتساب الرسوم النهائية</h5><p class=\"note-s\">تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.</p></div><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>تعرفات تقديرية للمقارنة</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><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>—</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>الإعدادات المطلوبة؛ تقدير فقط.</td><td data-cell-label=\"خيارات إنشاء الصوت\"><span class=\"card-cell-label\">خيارات إنشاء الصوت</span>من دون صوت · مع صوت</td><td data-cell-label=\"الدقة\"><span class=\"card-cell-label\">الدقة</span>720p</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>$0.2</b> <span class=\"price-unit\">لكل ثانية فيديو مُخرج</span></div><p class=\"note-s\">يقدّر السعر المعروض التكلفة قبل التوليد. يُحسب الرسم النهائي من التكلفة المسجَّلة لعملية التوليد الأصلية. مدة الفيديو الفعلية ليست الكمية الخاضعة للفوترة.</p></td></tr><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>—</td><td data-cell-label=\"الرسوم\"><span class=\"card-cell-label\">الرسوم</span><div><span>الإخراج · تكلفة التوليد التقديرية · تقدير للمقارنة فقط</span> <b>$0.4</b> <span class=\"price-unit\">تقدير قبل الإنشاء</span></div><p class=\"note-s\">هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة.</p></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>مراجع أسعار إعدادات الفيديو</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>سعر الفيديو</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.2</b> <span class=\"price-unit\">لكل ثانية فيديو</span></div><p class=\"note-s\">مرجع السعر المنشور للإعداد المعروض. تتبع الرسوم النهائية الإعداد الفعلي الذي تمت فوترته.</p></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-1006-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1006-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · ملف التعريف المضبوط كما هو</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-1006-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1006-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;alibaba/wan-2.7&quot;, &quot;prompt&quot;: &quot;a calm greenhouse&quot;, &quot;duration&quot;: 6, &quot;resolution&quot;: &quot;720p&quot;, &quot;aspect_ratio&quot;: &quot;16:9&quot;, &quot;generate_audio&quot;: true}&#39;)\nPath(&#39;request.json&#39;).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\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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-1007-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1007-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-1007-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1007-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_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\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-1008-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1008-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-1008-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1008-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\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\">احتفظ بكل عنوان URL موقّع ومملوك لك في data[] المكتملة، وبالبيانات الوصفية الكاملة للحالة. احفظ كل مخرج، بما فيه صوته المولَّد. قد يوجد مسار صوتي AAC صالح حتى مع generate_audio=false؛ احتفظ بملف MP4 الأصلي كاملاً، بما فيه ذلك الصوت.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>عند الحاجة إلى التحقق من الاستجابة الأصلية</h5><p class=\"note-s\">اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.</p></div><p class=\"note-s\">الحد الأقصى للمخرجات: ⁦4⁩.</p><details class=\"card-about\" data-output-fields><summary>حقول الاستجابة</summary><div class=\"tw\" data-card-table=\"output\"><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><code class=\"card-field-name\">id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</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><code class=\"card-field-name\">object</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</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><code class=\"card-field-name\">model</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</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><code class=\"card-field-name\">status</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</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><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><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><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><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><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</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><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</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><code class=\"card-field-name\">operation_id</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td><td data-cell-label=\"المعنى\"><span class=\"card-cell-label\">المعنى</span>استجابة الحالة أو المحتوى الأصليين عند HTTP503 result_pending_check: المعرّف العام للفيديو الأصلي نفسه في الحقل id.</td></tr><tr><th data-cell-label=\"الحقل\" scope=\"row\"><span class=\"card-cell-label\">الحقل</span><code class=\"card-field-name\">error.type</code></th><td data-cell-label=\"النوع\" data-field-type><span class=\"card-cell-label\">النوع</span>string</td><td data-cell-label=\"المعنى\"><span class=\"card-cell-label\">المعنى</span>server_error عند HTTP503 result_pending_check.</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>⁦422⁩ · <code>price_unavailable</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><tr><th data-cell-label=\"الاستجابة\" scope=\"row\"><span class=\"card-cell-label\">الاستجابة</span>⁦503⁩ · <code>result_pending_check</code></th><td data-cell-label=\"الشرط\"><span class=\"card-cell-label\">الشرط</span>GET للحالة أو المحتوى الأصليين: المهمة غير منشورة، والمهمة الأصلية ليست في حالة failed/cancelled/expired، والحالة المحلية unknown أو حالة المهمة الأصلية completed.</td><td data-cell-label=\"الخطوة التالية\"><span class=\"card-cell-label\">الخطوة التالية</span>احتفظ بـid وoperation_id الأصليين (المعرّف العام نفسه للفيديو)، وبالاستجابة والترويسات؛ واقرأ الحالة أو المحتوى الأصليين فقط. لا ترسل طلب توليد جديداً مطلقاً.</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=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=alibaba%2Fwan-2.7&amp;route=Ultra&amp;caller=alibaba%2Fwan-2.7&amp;fmt=videos\"><code>alibaba/wan-2.7</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=alibaba%2Fwan-2.7&amp;route=Ultra&amp;caller=alibaba%2Fwan-2.7&amp;fmt=videos\"><code>alibaba/wan-2.7</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "alibaba/wan-2.7",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "alibaba/wan-2.7",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|alibaba%2Fwan-2.7",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every completed data[] signed owned URL and the full status metadata. Save every output, including its generated audio.",
            "errors": [
              {
                "code": null,
                "condition": "تفشل قراءة متن الطلب الخام قبل تحليل ملف إعداد الفيديو",
                "http_status": 400,
                "recovery": "احتفظ بالاستجابة المُعادة وصحّح متن الطلب الذي تعذرت قراءته.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "يتعذر تحليل ملف إعداد الفيديو الدقيق، أو لا تتوفر بطاقة سعر دقيقة وجاهزة لملف الإعداد الكامل بعد تحليله",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "احتفظ بالاستجابة؛ واستخدم ملف الإعداد الدقيق المسموح به كاملاً وبطاقة سعره المنشورة. يُنفَّذ هذا الفرع قبل الإرسال إلى المزوّد.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "محتوى النتيجة الأصلية غير متاح بعد",
                "http_status": 409,
                "recovery": "استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "GET للحالة أو المحتوى الأصليين: المهمة غير منشورة، والمهمة الأصلية ليست في حالة failed/cancelled/expired، والحالة المحلية unknown أو حالة المهمة الأصلية completed.",
                "friendly_fields": "error.reason=result_pending_check,error.param=null; error.operation_id and error.request_id when the existing context supplies them. error.message is rewritten/localized.",
                "headers": {
                  "Retry-After": null,
                  "X-Should-Retry": "false"
                },
                "http_status": 503,
                "recovery": "احتفظ بـid وoperation_id الأصليين (المعرّف العام نفسه للفيديو)، وبالاستجابة والترويسات؛ واقرأ الحالة أو المحتوى الأصليين فقط. لا ترسل طلب توليد جديداً مطلقاً.",
                "response_fields": {
                  "charge_pending_check": true,
                  "error.code": "result_pending_check",
                  "error.type": "server_error",
                  "id": "original public video ID",
                  "operation_id": "same as id"
                },
                "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. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
              "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": "اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.",
              "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": "Use actual returned task_id or original public video id from response/media library. On HTTP503 result_pending_check from original video status/content GET, operation_id equals that original public video id. Do not assume unrelated operation IDs name media tasks.",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "احتفظ بكل عنوان URL موقّع ومملوك لك في data[] المكتملة، وبالبيانات الوصفية الكاملة للحالة. احفظ كل مخرج، بما فيه صوته المولَّد. قد يوجد مسار صوتي AAC صالح حتى مع generate_audio=false؛ احتفظ بملف MP4 الأصلي كاملاً، بما فيه ذلك الصوت.",
              "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": "استجابة الحالة أو المحتوى الأصليين عند HTTP503 result_pending_check: المعرّف العام للفيديو الأصلي نفسه في الحقل id.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "server_error عند HTTP503 result_pending_check.",
                  "name": "error.type",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 4,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alibaba/wan-2.7"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "all fields outside the exact required six-key profile",
              "image or reference inputs",
              "1080p or 4K"
            ]
          },
          "hints": [
            "احتفظ بالاستجابة كاملة وبالمعرّفات الأصلية المُعادة.",
            "لا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "parameters": [
              {
                "enum": [
                  "alibaba/wan-2.7"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10
                ],
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "enum": [
                  "720p"
                ],
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4"
                ],
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  false,
                  true
                ],
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ]
          },
          "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. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
            "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.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "priced_duration": "Video-file duration is not the billing quantity; final charge follows the actual billed configuration."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio_allowed": [
                false,
                true
              ],
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "estimated video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "تكلفة التوليد التقديرية",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "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\": \"alibaba/wan-2.7\", \"prompt\": \"a calm greenhouse\", \"duration\": 6, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": true}')\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\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · exact configured profile",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);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 returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio_allowed": [
                false,
                true
              ],
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "estimated video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "alibaba/wan-2.7",
        "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": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds",
            "label": "estimated video second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.4",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "alibaba/wan-2.7",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "681e05a835e1e1c011ebd2ad9a51350b318bd6119919188109a31eb9623b23c2",
    "input_html_sha256": "ca0a69b50daec20932532c9fda21c53b25383d54933a73904ea7e42d66434e6a",
    "private_audit_sha256": "2d791e06ad6512c8d994940734ad8db4f9614d72e08ad0e3a493412a095e659e",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/ar/alibaba-wan-2-7/",
    "description": "ينشئ Alibaba Wan 2.7 مقاطع فيديو بصوت من النصوص أو الصور الافتتاحية والختامية أو المراجع المرئية. ويتيح مسار الصور فيه أيضًا متابعة مقطع مصدري، باستخدام المدة الإجمالية المطلوبة. يذكر المنتج إخراج MP4 بدقة 720p أو 1080p وبمعدل 30 fps: من 2–15 ثانية لأوضاع النص والصورة، وحتى 10 ثوانٍ للتوليد بالمراجع.",
    "locale": "ar",
    "md_url": "https://ailoot.ai/models/ar/alibaba-wan-2-7/index.md",
    "title": "Alibaba: Wan 2.7 — Ailoot",
    "url": "https://ailoot.ai/models/ar/alibaba-wan-2-7/"
  },
  "rawModel": {
    "about": "Alibaba Wan 2.7 عائلة لتوليد الفيديو تضم ملفات تعريف مسماة لتحويل النص إلى فيديو والصورة إلى فيديو والتوليد الموجّه بالمراجع. توثّق الجهة المصنّعة مشاهد متزامنة مع الصوت وسردًا متعدد اللقطات، بينما يضيف مسار الصور التوليد من الإطارين الأول والأخير واستكمال فيديو أولي. والناتج المفيد مقطع قصير بصوته، مثل انتقال لمنتج أو قصة موجزة أو استكمال يلائم لقطة موجودة. اختر الوضع وفق المادة المصدرية والتحكّم المطلوب في البداية أو النهاية.\n\nلتحويل النص إلى فيديو، صِف العنصر الرئيسي والمكان والفعل والكاميرا والأسلوب والصوت. ويمكن للوحة القصة تحديد كل لقطة ونطاقها الزمني، بينما يجب أن يذكر توجيه اللقطة الواحدة أن الفعل يظل متصلًا. يتيح دليل توجيه Wan 2.7 للنموذج تفسير بنية اللقطات من الوصف المكتوب بدلًا من استخدام عنصر shot_type الخاص ب2.6. تقبل واجهة النص الحالية توجيهات بالصينية أو الإنجليزية حتى 5,000 حرف، مع توجيه سلبي مستقل حتى 500 حرف؛ ويُقتطع النص الزائد. أبقِ الفعل الأساسي والقيود واضحين ضمن هذا الحد.\n\nيحرّك تحويل صورة الإطار الأول إلى فيديو صورة افتتاحية مقدَّمة. ويحدّد التوليد من الإطارين الأول والأخير نقطة النهاية والحركة الواصلة إليها أيضًا. ويدعم دليل الصور 2.7 مصدرًا صوتيًا موجّهًا إلى جانب تركيبات الإطارات هذه. جهّز نقطتي بداية ونهاية تشتركان في مشهد وعنصر مقصود، وصِف الانتقال بدلًا من مطالبة النموذج بإعادة تفسير الصورتين كمرجعين أسلوبيين غير مترابطين. تقارب المخرجات نسب الصورة الأولى؛ ويتعامل الدليل مع الدقة باعتبارها فئة لعدد البكسلات ويقرّب الأبعاد المرمَّزة بما يلائم ذلك.\n\nيبدأ استكمال الفيديو بمقطع مصدري، ويمكنه أيضًا استخدام صورة ختامية. والمدة المطلوبة هي إجمالي الفيديو الناتج، بما فيه الجزء الأصلي. يجمع مثال الدليل مصدرًا مدته ثانيتان وعشر ثوانٍ من المحتوى الجديد في نتيجة مدتها اثنتا عشرة ثانية. جهّز الفعل الأخير في المصدر وحدّد ما يحدث بعده، كي تواصل الكاميرا والعنصر الرئيسي في اتجاه مترابط. راجع الوصلة من حيث المظهر والحركة والضوء والصوت بدلًا من تقييم النهاية الجديدة وحدها.\n\nيستخدم ملف المراجع المستقل الحالي لدى الجهة المطوّرة صورًا أو فيديو لتوجيه الشخصيات أو الأجسام أو المشهد. ويسمح دليله بما يصل إلى خمس صور وفيديوهات مرجعية في المجموع، ويستخدم تسميات بحسب النوع مثل Image 1 وVideo 1. صِف دور كل مادة والتفاعل المقصود. ولمشهد موجّه بالمراجع، اعرض شخصية من مرجع تحمل جسمًا من مرجع آخر عبر موقع محدّد. يختلف التأطير المرجعي عن التوليد من الإطار الأول: يمكن للتوجيه إنشاء تكوين جديد بدلًا من اشتراط افتتاح الفيديو على صورة ثابتة مقدَّمة بعينها.\n\nللصوت المخصّص في التوليد النصي، الصيغ الموثّقة هي WAV وMP3، بمدة من ثانيتين إلى ثلاثين ثانية وحجم أقصى 15 MB. تحدّد مدة الفيديو المختارة الجزء المستخدم: يُقتطع الصوت الأطول إلى تلك المدة، بينما يترك الصوت الأقصر من الفيديو بقية المقطع صامتة. جهّز المقطع الصوتي الدقيق الذي ينتمي إلى اللقطة واترك مجالًا للفعل البصري المقصود. ومن دون ملف صوتي مقدَّم، تصف الجهة المطوّرة توليد موسيقى خلفية أو مؤثرات ملائمة للمشهد؛ افحص الصوت الفعلي وأي كلام مطلوب مع الصورة.\n\nتذكر مصفوفة النماذج الحالية MP4 بدقة 720p أو 1080p ومعدل 30 إطارًا في الثانية، مع فيديوهات ناتجة من النص أو الصور تتراوح مدتها من ثانيتين إلى خمس عشرة ثانية. ويقتصر ملف المراجع المستقل على ثانيتين إلى عشر ثوانٍ. يوفّر التوليد النصي تأطير 16:9 و9:16 و1:1 و4:3 و3:4. ولمهام التوليد المشروط بالصور قواعدها الخاصة لتقريب نسب المصدر، لذا جهّز اقتصاص المدخلات لوجهتها المقصودة. ولا ينبغي استبدال قواعد مسار الإطارات أو الاستكمال بقاعدة مدة أو أبعاد مأخوذة من ملف المراجع.\n\nمسار الجهة المطوّرة الموثّق غير متزامن: يتتبّع معرّف مهمة المعالجة، وتوفّر النتيجة الناجحة موقع الفيديو. وتُوثَّق النتائج بصلاحية روابط تبلغ أربعًا وعشرين ساعة، لذا احتفظ بالمقطع الفعلي والمواد الإبداعية لمراجعة التحرير. وتتبع خيارات إعادة صياغة التوجيه والعلامة المائية والبذرة الواجهة المختارة. تقول الجهة المطوّرة إن تثبيت البذرة يمكن أن يحسّن قابلية إعادة الإنتاج، لكنه لا يضمن نتيجة مطابقة. قارن الملف الناتج بالتوجيه بدلًا من افتراض أن الإعدادات وحدها تحافظ على كل تفصيل.\n\nمقارنةً بWan 2.6، يضيف دليل الصور 2.7 تحديدًا التحكّم بالإطارين الأول والأخير واستكمال الفيديو عبر مدخلات وسائط متعددة. ويقدّم Wan 3.0 بنية شاملة مختلفة وحدًا أطول للتوليد. يحتفظ ملف 2.7 هذا بعناصر التحكّم والحدود الخاصة بكل مهمة. راجع المشهد كله من حيث استمرارية العنصر الرئيسي ومراسي الإطارات وهوية المراجع والحوار والحركة والوصلات، واجعل التصحيح التالي مرتبطًا بالمشكلة الفعلية التي عُثر عليها.",
    "alias_of": null,
    "aliases": [],
    "author": "Alibaba",
    "available": null,
    "canonical_model": "alibaba/wan-2.7",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.4",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "التسعير الكامل للتكوين في التفاصيل."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "8f1523154b37e6b9d0124ed1",
        "label": "مراجع أسعار إعدادات الفيديو",
        "profiles": [
          {
            "basis": "مرجع السعر المنشور للإعداد المعروض. تتبع الرسوم النهائية الإعداد الفعلي الذي تمت فوترته.",
            "dimensions": {
              "conditions": "لم يُذكر شرط إضافي في مفتاح التسعير هذا."
            },
            "label": "سعر الفيديو",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "key": "video_second",
                "label": "Video price",
                "public_unit_label": "per video second",
                "quantity": 1,
                "rate_role": "typed_video_second_reference",
                "side": "out",
                "unit": "video_second"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "alibaba/wan-2.7",
    "input": [
      "text"
    ],
    "kind": "video",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "تقدّر التعرفات المعروضة التكلفة قبل التوليد. تُحسب الرسوم النهائية من التكلفة المسجّلة لعملية التوليد الأصلية. مدة المخرجات المقاسة والكميات المتوقعة ليست الكمية النهائية الخاضعة للفوترة.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every completed data[] signed owned URL and the full status metadata. Save every output, including its generated audio.",
            "errors": [
              {
                "code": null,
                "condition": "تفشل قراءة متن الطلب الخام قبل تحليل ملف إعداد الفيديو",
                "http_status": 400,
                "recovery": "احتفظ بالاستجابة المُعادة وصحّح متن الطلب الذي تعذرت قراءته.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "يتعذر تحليل ملف إعداد الفيديو الدقيق، أو لا تتوفر بطاقة سعر دقيقة وجاهزة لملف الإعداد الكامل بعد تحليله",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "احتفظ بالاستجابة؛ واستخدم ملف الإعداد الدقيق المسموح به كاملاً وبطاقة سعره المنشورة. يُنفَّذ هذا الفرع قبل الإرسال إلى المزوّد.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "محتوى النتيجة الأصلية غير متاح بعد",
                "http_status": 409,
                "recovery": "استعلم دورياً باستخدام المعرّف الأصلي المُعاد والتزم بـRetry-After.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "تشير الاستجابة المُعادة إلى أن العملية أو النتيجة تتطلب التحقق",
                "http_status": null,
                "recovery": "احتفظ بمعرّف العملية أو المهمة الأصلي المُعاد، وبترويسات الطلب وبالاستجابة؛ وواصل عمليات القراءة المدعومة لتلك العملية الأصلية. لا تُعِد إرسال طلب الإنشاء.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "GET للحالة أو المحتوى الأصليين: المهمة غير منشورة، والمهمة الأصلية ليست في حالة failed/cancelled/expired، والحالة المحلية unknown أو حالة المهمة الأصلية completed.",
                "friendly_fields": "error.reason=result_pending_check,error.param=null; error.operation_id and error.request_id when the existing context supplies them. error.message is rewritten/localized.",
                "headers": {
                  "Retry-After": null,
                  "X-Should-Retry": "false"
                },
                "http_status": 503,
                "recovery": "احتفظ بـid وoperation_id الأصليين (المعرّف العام نفسه للفيديو)، وبالاستجابة والترويسات؛ واقرأ الحالة أو المحتوى الأصليين فقط. لا ترسل طلب توليد جديداً مطلقاً.",
                "response_fields": {
                  "charge_pending_check": true,
                  "error.code": "result_pending_check",
                  "error.type": "server_error",
                  "id": "original public video ID",
                  "operation_id": "same as id"
                },
                "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. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
              "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": "اقرأ المهمة الأصلية الموجودة؛ ولا تعِد إرسال طلب مجهول النتيجة مطلقاً.",
              "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": "Use actual returned task_id or original public video id from response/media library. On HTTP503 result_pending_check from original video status/content GET, operation_id equals that original public video id. Do not assume unrelated operation IDs name media tasks.",
                "path": "/v1/media/tasks/{task_id}"
              }
            },
            "operation_modes": [
              "text_to_video"
            ],
            "outputs": {
              "all_results": "احتفظ بكل عنوان URL موقّع ومملوك لك في data[] المكتملة، وبالبيانات الوصفية الكاملة للحالة. احفظ كل مخرج، بما فيه صوته المولَّد. قد يوجد مسار صوتي AAC صالح حتى مع generate_audio=false؛ احتفظ بملف MP4 الأصلي كاملاً، بما فيه ذلك الصوت.",
              "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": "استجابة الحالة أو المحتوى الأصليين عند HTTP503 result_pending_check: المعرّف العام للفيديو الأصلي نفسه في الحقل id.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "server_error عند HTTP503 result_pending_check.",
                  "name": "error.type",
                  "type": "string"
                }
              ],
              "format": "mp4",
              "maximum_outputs": 4,
              "status_enum": [
                "in_progress",
                "completed",
                "failed"
              ]
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "alibaba/wan-2.7"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "all fields outside the exact required six-key profile",
              "image or reference inputs",
              "1080p or 4K"
            ]
          },
          "hints": [
            "احتفظ بالاستجابة كاملة وبالمعرّفات الأصلية المُعادة.",
            "لا تعِد إرسال طلب إنشاء مجهول النتيجة مطلقاً."
          ],
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "parameters": [
              {
                "enum": [
                  "alibaba/wan-2.7"
                ],
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "max_utf8_bytes": 10000,
                "name": "prompt",
                "non_whitespace": true,
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  2,
                  3,
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10
                ],
                "name": "duration",
                "required": true,
                "type": "integer"
              },
              {
                "enum": [
                  "720p"
                ],
                "name": "resolution",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "16:9",
                  "9:16",
                  "1:1",
                  "4:3",
                  "3:4"
                ],
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  false,
                  true
                ],
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              }
            ],
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ]
          },
          "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. On HTTP503 result_pending_check from original status/content GET, operation_id equals id: use that same original public video ID for polling. Do not substitute unrelated operation IDs from other responses.",
            "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.",
            "unknown_no_replay": true
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "priced_duration": "Video-file duration is not the billing quantity; final charge follows the actual billed configuration."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio_allowed": [
                false,
                true
              ],
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "estimated video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "هذا التقدير ليس رسومًا إضافية ولا تعرفة ثابتة لعملية التوليد المكتملة.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "تكلفة التوليد التقديرية",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "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\": \"alibaba/wan-2.7\", \"prompt\": \"a calm greenhouse\", \"duration\": 6, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": true}')\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\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · exact configured profile",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);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 returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Keep the complete response and the original returned IDs.",
          "Never resubmit an unknown creation."
        ],
        "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": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "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": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The displayed rate estimates the cost before generation. The final charge is calculated from the cost recorded for the original generation. Physical video duration is not the billable quantity.",
            "dimensions": {
              "forecast_quantity": "Requested configuration; estimate only.",
              "generate_audio_allowed": [
                false,
                true
              ],
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.2",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds",
                "label": "estimated video second",
                "native_amount_usd_per_unit": "0.2",
                "native_quantity": 1,
                "public_unit_label": "per output video second",
                "quantity": "1",
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_video_second"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.4",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.4",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "alibaba/wan-2.7",
        "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": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "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": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds",
            "label": "estimated video second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "public_unit_label": "per output video second",
            "quantity": "1",
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_video_second"
          },
          {
            "amount": "0.4",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.4",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "alibaba/wan-2.7",
        "request_model_id": "alibaba/wan-2.7",
        "route_label": "Ultra"
      }
    ],
    "name": "Alibaba: Wan 2.7",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.4,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.4,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-t2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "wan2.7-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-t2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "wan2.7-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-t2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "wan2.7-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.30",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-t2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "wan2.7-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-t2v",
          "Output video resolution": "720P",
          "maker_published_model_id": "wan2.7-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.172024",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-t2v",
              "Output video resolution": "720P",
              "maker_published_model_id": "wan2.7-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 2,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-t2v",
          "Output video resolution": "1080P",
          "maker_published_model_id": "wan2.7-t2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.286706",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-t2v",
              "Output video resolution": "1080P",
              "maker_published_model_id": "wan2.7-t2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 3,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-i2v",
          "Output video resolution": "720P",
          "Output video type": "Audio video",
          "maker_published_model_id": "wan2.7-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-i2v",
              "Output video resolution": "720P",
              "Output video type": "Audio video",
              "maker_published_model_id": "wan2.7-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 4,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-i2v",
          "Output video resolution": "1080P",
          "Output video type": "Audio video",
          "maker_published_model_id": "wan2.7-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.30",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-i2v",
              "Output video resolution": "1080P",
              "Output video type": "Audio video",
              "maker_published_model_id": "wan2.7-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 5,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-i2v",
          "Output video resolution": "720P",
          "Output video type": "Audio video",
          "maker_published_model_id": "wan2.7-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.172024",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-i2v",
              "Output video resolution": "720P",
              "Output video type": "Audio video",
              "maker_published_model_id": "wan2.7-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 6,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-i2v",
          "Output video resolution": "1080P",
          "Output video type": "Audio video",
          "maker_published_model_id": "wan2.7-i2v",
          "only_output_billed": true
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.286706",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-i2v",
              "Output video resolution": "1080P",
              "Output video type": "Audio video",
              "maker_published_model_id": "wan2.7-i2v",
              "only_output_billed": true
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 7,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "720P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "720P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 8,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "720P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "720P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 9,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "1080P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.30",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "1080P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 10,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "1080P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.30",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "1080P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 11,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "720P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.172024",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "720P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 12,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "720P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.172024",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "720P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 13,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "1080P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.286706",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "1080P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 14,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-r2v",
          "Output video resolution": "1080P",
          "Output video type": "Audio video",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-r2v"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.286706",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-r2v",
              "Output video resolution": "1080P",
              "Output video type": "Audio video",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-r2v"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 15,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 16,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.20",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 17,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.30",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 18,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Deployment scope": "International",
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.30",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Deployment scope": "International",
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 19,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.172024",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 20,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "720P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.172024",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "720P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 21,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.286706",
            "amount_unit": "usd_per_input_video_second",
            "conditions": {
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "input_video_second",
            "label": "input video second",
            "profile_index": 22,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "in",
            "unit": "input_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "Model ID": "wan2.7-videoedit",
          "Output video resolution": "1080P",
          "input_output_charged_separately_additive": true,
          "maker_published_model_id": "wan2.7-videoedit"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.286706",
            "amount_unit": "usd_per_output_video_second",
            "conditions": {
              "Model ID": "wan2.7-videoedit",
              "Output video resolution": "1080P",
              "input_output_charged_separately_additive": true,
              "maker_published_model_id": "wan2.7-videoedit"
            },
            "key": "output_video_second",
            "label": "output video second",
            "profile_index": 23,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_video_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.2",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "output second",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.2",
            "key": "duration_seconds",
            "label": "output second",
            "native_amount_usd_per_unit": "0.2",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "alibaba/wan-2.7",
    "short": "ينشئ Alibaba Wan 2.7 مقاطع فيديو بصوت من النصوص أو الصور الافتتاحية والختامية أو المراجع المرئية. ويتيح مسار الصور فيه أيضًا متابعة مقطع مصدري، باستخدام المدة الإجمالية المطلوبة. يذكر المنتج إخراج MP4 بدقة 720p أو 1080p وبمعدل 30 fps: من 2–15 ثانية لأوضاع النص والصورة، وحتى 10 ثوانٍ للتوليد بالمراجع."
  },
  "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
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "ينشئ Alibaba Wan 2.7 مقاطع فيديو بصوت من النصوص أو الصور الافتتاحية والختامية أو المراجع المرئية. ويتيح مسار الصور فيه أيضًا متابعة مقطع مصدري، باستخدام المدة الإجمالية المطلوبة. يذكر المنتج إخراج MP4 بدقة 720p أو 1080p وبمعدل 30 fps: من 2–15 ثانية لأوضاع النص والصورة، وحتى 10 ثوانٍ للتوليد بالمراجع.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "efda83f819be707cd083325b6f233d7dc9e3cd5fd288c4cde22965f4cf9e386a",
    "renderer_sha256": "081ee0fd5b6b1b60564b02c52d62547e01e922c8c0a16e91a0d055073e76a10e"
  },
  "sourceRevision": "d6d214de10dd364ef920db08edd7edebf67eb876a94331b1222a053f36069840"
}
