{
  "aboutHtml": "<p>Alibaba Wan 2.7 — matndan video, tasvirdan video va namunalar bilan boshqariladigan alohida nomlangan profillarga ega video yaratish oilasi. Ishlab chiqaruvchi ovoz bilan sinxron sahnalar va ko‘p kadrli hikoyalarni hujjatlashtiradi; tasvir bilan ishlash jarayoniga esa birinchi/oxirgi kadr asosida yaratish va boshlang‘ich videoni davom ettirish qo‘shilgan. Foydali natija — ovozi bilan birga qisqa rolik, masalan mahsulotga oid o‘tish, ixcham hikoya yoki mavjud kadrga mos davom. Rejimni manba materiali hamda boshlanish yoki yakun ustidan kerakli nazoratga qarab tanlang.</p><p>Matndan video yaratishda asosiy obyekt, muhit, harakat, kamera, uslub va ovozni tasvirlang. Kadrlar rejasida har bir kadr va vaqt oralig‘i belgilanishi mumkin; bitta kadrli topshiriqda esa harakat uzluksiz qolishini aytish kerak. Wan 2.7 topshiriq qo‘llanmasi 2.6 dagi shot_type boshqaruvi o‘rniga yozma topshiriqdan kadrlar tuzilishini modelning o‘zi talqin qilishiga imkon beradi. Hozirgi matn API si 5,000 belgigacha xitoycha yoki inglizcha topshiriqlarni va alohida 500 belgilik salbiy topshiriqni qabul qiladi; ortiqcha matn kesib tashlanadi. Shu hajm ichida asosiy harakat va cheklovlarni aniq bayon qiling.</p><p>Birinchi kadr tasviridan video yaratish berilgan boshlang‘ich tasvirni jonlantiradi. Birinchi/oxirgi kadr asosida yaratish yakuniy nuqtani va ularni bog‘lovchi harakatni ham belgilaydi. 2.7 tasvir qo‘llanmasi bu kadr kombinatsiyalari bilan birga harakatni yo‘naltiruvchi audio manbasini ham qo‘llaydi. Bir xil sahna va ko‘zlangan obyektga ega boshlanish va yakunni tayyorlang; modeldan ikkala tasvirni bir-biriga aloqasiz uslub namunalari sifatida qayta talqin qilishni so‘rash o‘rniga o‘tishni tasvirlang. Natija birinchi tasvirning nisbatlariga yaqin bo‘ladi; qo‘llanma aniqlikni piksellar soni darajasi deb qaraydi va kodlangan o‘lchamlarni mos ravishda yaxlitlaydi.</p><p>Videoni davom ettirish asl rolikdan boshlanadi va yakuniy tasvirdan ham foydalanishi mumkin. So‘ralgan davomiylik asl segment bilan birga butun qaytariladigan videoni bildiradi. Qo‘llanmadagi misolda ikki soniyali manba va o‘n soniyali yangi mazmun birlashib, o‘n ikki soniyali natija hosil qiladi. Manbaning oxirgi harakatini tayyorlang va keyin nima bo‘lishini ayting, shunda kamera va obyekt bir-biriga mos yo‘nalishda davom etadi. Faqat yangi yaratilgan yakunga baho bermang: tutashuvni tashqi ko‘rinish, harakat, yorug‘lik va ovoz bo‘yicha tekshiring.</p><p>Ishlab chiqaruvchining hozirgi alohida namuna profili tasvir yoki videolardan qahramonlar, obyektlar yoki sahnani yo‘naltirish uchun foydalanadi. Qo‘llanmada jami beshtagacha namuna tasviri va videosiga ruxsat beriladi hamda Image 1 va Video 1 kabi turga xos belgilar ishlatiladi. Har bir materialning vazifasi va rejalashtirilgan o‘zaro ta’sirni tasvirlang. Namuna asosidagi sahnada bir namunadagi qahramon boshqa namunadagi buyumni belgilangan joydan olib o‘tayotganini ko‘rsating. Namuna rejimida kadr tuzish birinchi kadrdan yaratishdan farq qiladi: topshiriq video aynan berilgan bitta tasvirdan boshlanishini talab qilish o‘rniga yangi kompozitsiyani belgilashi mumkin.</p><p>Matndan yaratishda maxsus audio uchun hujjatlashtirilgan formatlar WAV va MP3, davomiylik ikki–o‘ttiz soniya, eng katta hajm esa 15 MB. Tanlangan video davomiyligi audioning qaysi qismi ishlatilishini belgilaydi: uzunroq audio shu davomiylikkacha kesiladi, audio videodan qisqa bo‘lsa qolgan qism ovozsiz qoladi. Kadrga tegishli aniq audio parchasini tayyorlang va ko‘zlangan vizual harakat uchun joy qoldiring. Audio fayl berilmasa, ishlab chiqaruvchi sahnaga mos fon musiqasi yoki effektlar yaratilishini tavsiflaydi; haqiqiy ovoz va so‘ralgan nutqni tasvir bilan birga tekshiring.</p><p>Hozirgi model jadvalida 30 fps tezlikdagi 720p yoki 1080p MP4, matn va tasvir uchun ikki–o‘n besh soniyalik natija ko‘rsatilgan. Alohida namuna profili ikki–o‘n soniya bilan cheklangan. Matndan yaratish 16:9, 9:16, 1:1, 4:3 va 3:4 kadr formatlarini taklif qiladi. Tasvirga shartlangan vazifalar manba nisbatlariga yaqinlashtirishning o‘z qoidalaridan foydalanadi, shuning uchun kirish tasvirini maqsadli joylashuv uchun mos kesimda tayyorlang. Namuna profilidagi davomiylik yoki tomonlar nisbati qoidasini kadrlar bilan ishlash yoki davom ettirish jarayoniga ko‘chirmaslik kerak.</p><p>Ishlab chiqaruvchining hujjatlashtirilgan jarayoni asinxron: vazifa identifikatori bajarilish holatini kuzatadi, muvaffaqiyatli natija esa video manzilini beradi. Natija havolalari yigirma to‘rt soat amal qilishi hujjatlashtirilgan, shuning uchun haqiqiy rolik va ijodiy materiallarni tahririy ko‘rib chiqish uchun saqlang. Topshiriqni qayta yozish, suv belgisi va seed imkoniyatlari tanlangan interfeysga bog‘liq. Ishlab chiqaruvchining aytishicha, o‘zgarmas seed takrorlanuvchanlikni yaxshilashi mumkin, biroq aynan bir xil natijani kafolatlamaydi. Sozlamalar barcha detallarni o‘z-o‘zidan saqlaydi deb o‘ylash o‘rniga qaytgan artefaktni topshiriq bilan solishtiring.</p><p>Wan 2.6 bilan solishtirganda, 2.7 tasvir qo‘llanmasi multimodal media kirishlari orqali birinchi/oxirgi kadr nazorati va videoni davom ettirishni alohida qo‘shadi. Wan 3.0 boshqa yaxlit tuzilma va uzoqroq yaratish davomiyligini kiritadi. Ushbu 2.7 profili o‘zining vazifaga xos boshqaruvlari va chegaralarini saqlaydi. Butun sahnada obyekt uzluksizligi, tayanch kadrlar, namuna qiyofasi, dialog, harakat va tutashuvlarni tekshiring hamda keyingi tuzatishni topilgan haqiqiy muammoga qaratib belgilang.</p>",
  "aboutText": "Alibaba Wan 2.7 — matndan video, tasvirdan video va namunalar bilan boshqariladigan alohida nomlangan profillarga ega video yaratish oilasi. Ishlab chiqaruvchi ovoz bilan sinxron sahnalar va ko‘p kadrli hikoyalarni hujjatlashtiradi; tasvir bilan ishlash jarayoniga esa birinchi/oxirgi kadr asosida yaratish va boshlang‘ich videoni davom ettirish qo‘shilgan. Foydali natija — ovozi bilan birga qisqa rolik, masalan mahsulotga oid o‘tish, ixcham hikoya yoki mavjud kadrga mos davom. Rejimni manba materiali hamda boshlanish yoki yakun ustidan kerakli nazoratga qarab tanlang.\n\nMatndan video yaratishda asosiy obyekt, muhit, harakat, kamera, uslub va ovozni tasvirlang. Kadrlar rejasida har bir kadr va vaqt oralig‘i belgilanishi mumkin; bitta kadrli topshiriqda esa harakat uzluksiz qolishini aytish kerak. Wan 2.7 topshiriq qo‘llanmasi 2.6 dagi shot_type boshqaruvi o‘rniga yozma topshiriqdan kadrlar tuzilishini modelning o‘zi talqin qilishiga imkon beradi. Hozirgi matn API si 5,000 belgigacha xitoycha yoki inglizcha topshiriqlarni va alohida 500 belgilik salbiy topshiriqni qabul qiladi; ortiqcha matn kesib tashlanadi. Shu hajm ichida asosiy harakat va cheklovlarni aniq bayon qiling.\n\nBirinchi kadr tasviridan video yaratish berilgan boshlang‘ich tasvirni jonlantiradi. Birinchi/oxirgi kadr asosida yaratish yakuniy nuqtani va ularni bog‘lovchi harakatni ham belgilaydi. 2.7 tasvir qo‘llanmasi bu kadr kombinatsiyalari bilan birga harakatni yo‘naltiruvchi audio manbasini ham qo‘llaydi. Bir xil sahna va ko‘zlangan obyektga ega boshlanish va yakunni tayyorlang; modeldan ikkala tasvirni bir-biriga aloqasiz uslub namunalari sifatida qayta talqin qilishni so‘rash o‘rniga o‘tishni tasvirlang. Natija birinchi tasvirning nisbatlariga yaqin bo‘ladi; qo‘llanma aniqlikni piksellar soni darajasi deb qaraydi va kodlangan o‘lchamlarni mos ravishda yaxlitlaydi.\n\nVideoni davom ettirish asl rolikdan boshlanadi va yakuniy tasvirdan ham foydalanishi mumkin. So‘ralgan davomiylik asl segment bilan birga butun qaytariladigan videoni bildiradi. Qo‘llanmadagi misolda ikki soniyali manba va o‘n soniyali yangi mazmun birlashib, o‘n ikki soniyali natija hosil qiladi. Manbaning oxirgi harakatini tayyorlang va keyin nima bo‘lishini ayting, shunda kamera va obyekt bir-biriga mos yo‘nalishda davom etadi. Faqat yangi yaratilgan yakunga baho bermang: tutashuvni tashqi ko‘rinish, harakat, yorug‘lik va ovoz bo‘yicha tekshiring.\n\nIshlab chiqaruvchining hozirgi alohida namuna profili tasvir yoki videolardan qahramonlar, obyektlar yoki sahnani yo‘naltirish uchun foydalanadi. Qo‘llanmada jami beshtagacha namuna tasviri va videosiga ruxsat beriladi hamda Image 1 va Video 1 kabi turga xos belgilar ishlatiladi. Har bir materialning vazifasi va rejalashtirilgan o‘zaro ta’sirni tasvirlang. Namuna asosidagi sahnada bir namunadagi qahramon boshqa namunadagi buyumni belgilangan joydan olib o‘tayotganini ko‘rsating. Namuna rejimida kadr tuzish birinchi kadrdan yaratishdan farq qiladi: topshiriq video aynan berilgan bitta tasvirdan boshlanishini talab qilish o‘rniga yangi kompozitsiyani belgilashi mumkin.\n\nMatndan yaratishda maxsus audio uchun hujjatlashtirilgan formatlar WAV va MP3, davomiylik ikki–o‘ttiz soniya, eng katta hajm esa 15 MB. Tanlangan video davomiyligi audioning qaysi qismi ishlatilishini belgilaydi: uzunroq audio shu davomiylikkacha kesiladi, audio videodan qisqa bo‘lsa qolgan qism ovozsiz qoladi. Kadrga tegishli aniq audio parchasini tayyorlang va ko‘zlangan vizual harakat uchun joy qoldiring. Audio fayl berilmasa, ishlab chiqaruvchi sahnaga mos fon musiqasi yoki effektlar yaratilishini tavsiflaydi; haqiqiy ovoz va so‘ralgan nutqni tasvir bilan birga tekshiring.\n\nHozirgi model jadvalida 30 fps tezlikdagi 720p yoki 1080p MP4, matn va tasvir uchun ikki–o‘n besh soniyalik natija ko‘rsatilgan. Alohida namuna profili ikki–o‘n soniya bilan cheklangan. Matndan yaratish 16:9, 9:16, 1:1, 4:3 va 3:4 kadr formatlarini taklif qiladi. Tasvirga shartlangan vazifalar manba nisbatlariga yaqinlashtirishning o‘z qoidalaridan foydalanadi, shuning uchun kirish tasvirini maqsadli joylashuv uchun mos kesimda tayyorlang. Namuna profilidagi davomiylik yoki tomonlar nisbati qoidasini kadrlar bilan ishlash yoki davom ettirish jarayoniga ko‘chirmaslik kerak.\n\nIshlab chiqaruvchining hujjatlashtirilgan jarayoni asinxron: vazifa identifikatori bajarilish holatini kuzatadi, muvaffaqiyatli natija esa video manzilini beradi. Natija havolalari yigirma to‘rt soat amal qilishi hujjatlashtirilgan, shuning uchun haqiqiy rolik va ijodiy materiallarni tahririy ko‘rib chiqish uchun saqlang. Topshiriqni qayta yozish, suv belgisi va seed imkoniyatlari tanlangan interfeysga bog‘liq. Ishlab chiqaruvchining aytishicha, o‘zgarmas seed takrorlanuvchanlikni yaxshilashi mumkin, biroq aynan bir xil natijani kafolatlamaydi. Sozlamalar barcha detallarni o‘z-o‘zidan saqlaydi deb o‘ylash o‘rniga qaytgan artefaktni topshiriq bilan solishtiring.\n\nWan 2.6 bilan solishtirganda, 2.7 tasvir qo‘llanmasi multimodal media kirishlari orqali birinchi/oxirgi kadr nazorati va videoni davom ettirishni alohida qo‘shadi. Wan 3.0 boshqa yaxlit tuzilma va uzoqroq yaratish davomiyligini kiritadi. Ushbu 2.7 profili o‘zining vazifaga xos boshqaruvlari va chegaralarini saqlaydi. Butun sahnada obyekt uzluksizligi, tayanch kadrlar, namuna qiyofasi, dialog, harakat va tutashuvlarni tekshiring hamda keyingi tuzatishni topilgan haqiqiy muammoga qaratib belgilang.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "a81db390b0fe717ce835f1c8f025e3daca0c28ee3bf735802dda4728bebcec72",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "uz",
  "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=\"Yopish\">×</button></div><div class=\"idline\"><span>Alibaba /</span><code>alibaba/wan-2.7</code><button type=\"button\" id=\"copy-id\">ID ni nusxalash</button></div><nav class=\"card-jump-nav\" aria-label=\"Model kartochkasi bo‘limlari\"><button type=\"button\" data-card-jump=\"overview\">Boshlash</button><button type=\"button\" data-card-jump=\"methods\">Kirish ma’lumotlari va usullar</button><button type=\"button\" data-card-jump=\"pricing\">Tariflar</button><button type=\"button\" data-card-jump=\"examples\">Namunalar</button><button type=\"button\" data-card-jump=\"results\">Natijalar</button><button type=\"button\" data-card-jump=\"aliases\">Taxalluslar</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API usullari\"><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\">Video</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\">Boshlash</h3><p class=\"mdesc-full\">Alibaba Wan 2.7 matn, boshlangʻich va yakuniy tasvirlar yoki vizual tayanchlardan ovozli video yaratadi. Uning tasvir jarayoni soʻralgan umumiy davomiylikdan foydalanib manba klipini ham davom ettiradi. Ishlab chiqaruvchi 30 fps’da 720p yoki 1080p MP4’ni koʻrsatadi: matn/tasvir rejimlari uchun 2–15 soniya, tayanchdan yaratish uchun 10 soniyagacha.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn</dd></div><div><dt>Natijalar</dt><dd>Video</dd></div></dl><details class=\"card-about\"><summary>Model haqida</summary><p class=\"note-s\" data-model-method-boundary>Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.</p><div class=\"mabout\" id=\"m-about\"><p>Alibaba Wan 2.7 — matndan video, tasvirdan video va namunalar bilan boshqariladigan alohida nomlangan profillarga ega video yaratish oilasi. Ishlab chiqaruvchi ovoz bilan sinxron sahnalar va ko‘p kadrli hikoyalarni hujjatlashtiradi; tasvir bilan ishlash jarayoniga esa birinchi/oxirgi kadr asosida yaratish va boshlang‘ich videoni davom ettirish qo‘shilgan. Foydali natija — ovozi bilan birga qisqa rolik, masalan mahsulotga oid o‘tish, ixcham hikoya yoki mavjud kadrga mos davom. Rejimni manba materiali hamda boshlanish yoki yakun ustidan kerakli nazoratga qarab tanlang.</p><p>Matndan video yaratishda asosiy obyekt, muhit, harakat, kamera, uslub va ovozni tasvirlang. Kadrlar rejasida har bir kadr va vaqt oralig‘i belgilanishi mumkin; bitta kadrli topshiriqda esa harakat uzluksiz qolishini aytish kerak. Wan 2.7 topshiriq qo‘llanmasi 2.6 dagi shot_type boshqaruvi o‘rniga yozma topshiriqdan kadrlar tuzilishini modelning o‘zi talqin qilishiga imkon beradi. Hozirgi matn API si 5,000 belgigacha xitoycha yoki inglizcha topshiriqlarni va alohida 500 belgilik salbiy topshiriqni qabul qiladi; ortiqcha matn kesib tashlanadi. Shu hajm ichida asosiy harakat va cheklovlarni aniq bayon qiling.</p><p>Birinchi kadr tasviridan video yaratish berilgan boshlang‘ich tasvirni jonlantiradi. Birinchi/oxirgi kadr asosida yaratish yakuniy nuqtani va ularni bog‘lovchi harakatni ham belgilaydi. 2.7 tasvir qo‘llanmasi bu kadr kombinatsiyalari bilan birga harakatni yo‘naltiruvchi audio manbasini ham qo‘llaydi. Bir xil sahna va ko‘zlangan obyektga ega boshlanish va yakunni tayyorlang; modeldan ikkala tasvirni bir-biriga aloqasiz uslub namunalari sifatida qayta talqin qilishni so‘rash o‘rniga o‘tishni tasvirlang. Natija birinchi tasvirning nisbatlariga yaqin bo‘ladi; qo‘llanma aniqlikni piksellar soni darajasi deb qaraydi va kodlangan o‘lchamlarni mos ravishda yaxlitlaydi.</p><p>Videoni davom ettirish asl rolikdan boshlanadi va yakuniy tasvirdan ham foydalanishi mumkin. So‘ralgan davomiylik asl segment bilan birga butun qaytariladigan videoni bildiradi. Qo‘llanmadagi misolda ikki soniyali manba va o‘n soniyali yangi mazmun birlashib, o‘n ikki soniyali natija hosil qiladi. Manbaning oxirgi harakatini tayyorlang va keyin nima bo‘lishini ayting, shunda kamera va obyekt bir-biriga mos yo‘nalishda davom etadi. Faqat yangi yaratilgan yakunga baho bermang: tutashuvni tashqi ko‘rinish, harakat, yorug‘lik va ovoz bo‘yicha tekshiring.</p><p>Ishlab chiqaruvchining hozirgi alohida namuna profili tasvir yoki videolardan qahramonlar, obyektlar yoki sahnani yo‘naltirish uchun foydalanadi. Qo‘llanmada jami beshtagacha namuna tasviri va videosiga ruxsat beriladi hamda Image 1 va Video 1 kabi turga xos belgilar ishlatiladi. Har bir materialning vazifasi va rejalashtirilgan o‘zaro ta’sirni tasvirlang. Namuna asosidagi sahnada bir namunadagi qahramon boshqa namunadagi buyumni belgilangan joydan olib o‘tayotganini ko‘rsating. Namuna rejimida kadr tuzish birinchi kadrdan yaratishdan farq qiladi: topshiriq video aynan berilgan bitta tasvirdan boshlanishini talab qilish o‘rniga yangi kompozitsiyani belgilashi mumkin.</p><p>Matndan yaratishda maxsus audio uchun hujjatlashtirilgan formatlar WAV va MP3, davomiylik ikki–o‘ttiz soniya, eng katta hajm esa 15 MB. Tanlangan video davomiyligi audioning qaysi qismi ishlatilishini belgilaydi: uzunroq audio shu davomiylikkacha kesiladi, audio videodan qisqa bo‘lsa qolgan qism ovozsiz qoladi. Kadrga tegishli aniq audio parchasini tayyorlang va ko‘zlangan vizual harakat uchun joy qoldiring. Audio fayl berilmasa, ishlab chiqaruvchi sahnaga mos fon musiqasi yoki effektlar yaratilishini tavsiflaydi; haqiqiy ovoz va so‘ralgan nutqni tasvir bilan birga tekshiring.</p><p>Hozirgi model jadvalida 30 fps tezlikdagi 720p yoki 1080p MP4, matn va tasvir uchun ikki–o‘n besh soniyalik natija ko‘rsatilgan. Alohida namuna profili ikki–o‘n soniya bilan cheklangan. Matndan yaratish 16:9, 9:16, 1:1, 4:3 va 3:4 kadr formatlarini taklif qiladi. Tasvirga shartlangan vazifalar manba nisbatlariga yaqinlashtirishning o‘z qoidalaridan foydalanadi, shuning uchun kirish tasvirini maqsadli joylashuv uchun mos kesimda tayyorlang. Namuna profilidagi davomiylik yoki tomonlar nisbati qoidasini kadrlar bilan ishlash yoki davom ettirish jarayoniga ko‘chirmaslik kerak.</p><p>Ishlab chiqaruvchining hujjatlashtirilgan jarayoni asinxron: vazifa identifikatori bajarilish holatini kuzatadi, muvaffaqiyatli natija esa video manzilini beradi. Natija havolalari yigirma to‘rt soat amal qilishi hujjatlashtirilgan, shuning uchun haqiqiy rolik va ijodiy materiallarni tahririy ko‘rib chiqish uchun saqlang. Topshiriqni qayta yozish, suv belgisi va seed imkoniyatlari tanlangan interfeysga bog‘liq. Ishlab chiqaruvchining aytishicha, o‘zgarmas seed takrorlanuvchanlikni yaxshilashi mumkin, biroq aynan bir xil natijani kafolatlamaydi. Sozlamalar barcha detallarni o‘z-o‘zidan saqlaydi deb o‘ylash o‘rniga qaytgan artefaktni topshiriq bilan solishtiring.</p><p>Wan 2.6 bilan solishtirganda, 2.7 tasvir qo‘llanmasi multimodal media kirishlari orqali birinchi/oxirgi kadr nazorati va videoni davom ettirishni alohida qo‘shadi. Wan 3.0 boshqa yaxlit tuzilma va uzoqroq yaratish davomiyligini kiritadi. Ushbu 2.7 profili o‘zining vazifaga xos boshqaruvlari va chegaralarini saqlaydi. Butun sahnada obyekt uzluksizligi, tayanch kadrlar, namuna qiyofasi, dialog, harakat va tutashuvlarni tekshiring hamda keyingi tuzatishni topilgan haqiqiy muammoga qaratib belgilang.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot da mavjud · kirish ma’lumotlari va usullar</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code></dd></div><div><dt>Chiqish</dt><dd><code>video</code></dd></div><div><dt>Chiqish formati</dt><dd>mp4</dd></div><div><dt>Natijalar soni</dt><dd>Ko‘pi bilan 4 chiqishs</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>alibaba/wan-2.7</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>UTF-8 baytlarining eng ko‘p soni: 10 000</div><div>Bo‘shliq belgisi bo‘lmagan kamida bitta belgi talab qilinadi: Ha</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>integer</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>2, 3, 4, 5, 6, 7, 8, 9, 10</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>720p</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>16:9, 9:16, 1:1, 4:3, 3:4</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">generate_audio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>false, true</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>Matndan video</b> · Majburiy: prompt</p></details><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, prompt, duration, resolution, aspect_ratio, generate_audio</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>additional_properties</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>parameters</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</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=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>text</td></tr></tbody></table></div><p>Usul taxalluslari: <code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><p>Hayot sikli: <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\">To‘liq javobni va dastlab qaytarilgan ID larni saqlang.</p><p class=\"note-s\">Natijasi noma’lum yaratish so‘rovini hech qachon qayta yubormang.</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariflar</h3><div class=\"card-result-process\" data-billing-basis><h5>Yakuniy to‘lov qanday hisoblanadi</h5><p class=\"note-s\">Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.</p><dl data-price-conditions><dt>Tezkor rejim</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Taqqoslash uchun taxminiy tariflar</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Prognoz miqdori</th><th>Audio yaratish variantlari</th><th>Aniqlik</th><th>Hisob birligi</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Prognoz miqdori\"><span class=\"card-cell-label\">Prognoz miqdori</span>—</td><td data-cell-label=\"Audio yaratish variantlari\"><span class=\"card-cell-label\">Audio yaratish variantlari</span>—</td><td data-cell-label=\"Aniqlik\"><span class=\"card-cell-label\">Aniqlik</span>—</td><td data-cell-label=\"Hisob birligi\"><span class=\"card-cell-label\">Hisob birligi</span>—</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Ultra</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Prognoz miqdori\"><span class=\"card-cell-label\">Prognoz miqdori</span>So‘ralgan sozlamalar; faqat taxminiy hisob.</td><td data-cell-label=\"Audio yaratish variantlari\"><span class=\"card-cell-label\">Audio yaratish variantlari</span>Audiosiz · Audio bilan</td><td data-cell-label=\"Aniqlik\"><span class=\"card-cell-label\">Aniqlik</span>720p</td><td data-cell-label=\"Hisob birligi\"><span class=\"card-cell-label\">Hisob birligi</span>chiqish videosining soniyasi uchun</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video soniyasi (taxminiy) · Faqat taqqoslash uchun taxmin</span> <b>$0.2</b> <span class=\"price-unit\">chiqish videosining soniyasi uchun</span></div><p class=\"note-s\">Ko‘rsatilgan tarif yaratishdan oldin xarajatni taxminiy hisoblash uchun ishlatiladi. Yakuniy to‘lov dastlabki yaratish uchun qayd etilgan xarajat asosida hisoblanadi. To‘lov videoning haqiqiy davomiyligi asosida hisoblanmaydi.</p></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Yaratishning taxminiy qiymati</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Prognoz miqdori\"><span class=\"card-cell-label\">Prognoz miqdori</span>bir generatsiya uchun taxmin</td><td data-cell-label=\"Audio yaratish variantlari\"><span class=\"card-cell-label\">Audio yaratish variantlari</span>—</td><td data-cell-label=\"Aniqlik\"><span class=\"card-cell-label\">Aniqlik</span>—</td><td data-cell-label=\"Hisob birligi\"><span class=\"card-cell-label\">Hisob birligi</span>—</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.4</b> <span class=\"price-unit\">yaratishdan oldingi taxmin</span></div><p class=\"note-s\">Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p><div data-declared-reference-pricing><h4>Ma’lumot uchun tarif tafsilotlari</h4><p class=\"note-s\">Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Video sozlamalari narxiga havolalar</summary><h4>Sozlamalar bo‘yicha narxlar</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>To‘lovni hisoblash shartlari</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video narxi</th><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>Ushbu narxlash kalitida qo‘shimcha shart ko‘rsatilmagan.</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi</span> <b>$0.2</b> <span class=\"price-unit\">video soniyasi uchun</span></div><p class=\"note-s\">Ko‘rsatilgan konfiguratsiya uchun e’lon qilingan narx ma’lumoti. Yakuniy to‘lovlar haq undirishda amalda qo‘llangan konfiguratsiya asosida hisoblanadi.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><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 · Sozlangan profilning aynan o‘zi</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><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\">Natijalarni olish va saqlash</h3><h4>Ailoot Ultra · Video</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>Vazifa holatini tekshirish</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><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 asl operatsiya holati</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><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>Boshqa kontentni o‘qish</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><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\">O‘zingizga tegishli har bir tayyor natijani saqlash</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><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>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.</p><p class=\"note-s\">Yakunlangan data[] dagi egalik qilinadigan har bir imzolangan URL ni va to‘liq holat metama’lumotlarini saqlang. Har bir chiqishni, jumladan yaratilgan ovozini saqlang. generate_audio=false bo‘lsa ham yaroqli AAC audio yo‘lak mavjud bo‘lishi mumkin; shu ovoz bilan birga to‘liq dastlabki MP4 ni saqlang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.</p></div><p class=\"note-s\">Natijalarning eng ko‘p soni: 4.</p><details class=\"card-about\" data-output-fields><summary>Javob maydonlari</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Maydon</th><th>Tur</th><th>Ma’nosi</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">object</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">data[]</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>signed content URL</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">charge_pending_check</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>boolean</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">error.code</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">error.message</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">operation_id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Dastlabki holat/mazmunning HTTP503 result_pending_check javobi: id sifatida ayni dastlabki ochiq video ID si.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">error.type</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>HTTP503 result_pending_check holatida server_error.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Video profilini tahlil qilishdan oldin xom so‘rov tanasini o‘qish muvaffaqiyatsiz bo‘ladi</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Qaytarilgan javobni saqlang va o‘qib bo‘lmaydigan so‘rov tanasini tuzating.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Aniq video profilini tahlil qilib bo‘lmaydi yoki to‘liq tahlil qilingan profil uchun tayyor aniq narx kartasi yo‘q</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Javobni saqlang; ruxsat etilgan to‘liq aniq profil va uning e’lon qilingan kartasidan foydalaning. Bu tarmoq provayderga yuborishdan oldin bajariladi.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Dastlabki natija mazmuni hali mavjud emas</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Dastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span><code>server_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Qaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Dastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Dastlabki holat/mazmun uchun GET: vazifa e’lon qilinmagan, dastlabki vazifa failed/cancelled/expired emas va mahalliy holat unknown yoki dastlabki vazifa holati completed.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Dastlabki id va operation_id ni (ayni ochiq video ID si), javob va sarlavhalarni saqlang; faqat dastlabki holat/mazmunni o‘qing. Hech qachon yangi yaratish so‘rovini yubormang.</td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Taxalluslar</h3><h4>Model taxalluslari</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>Usul yo‘llari taxalluslari</h4><p class=\"note-s\"><code>/v1/videos/generations</code>, <code>/videos</code>, <code>/videos/generations</code></p><h4>Chaqirish uchun tegishli ID lar</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": "Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.",
          "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": "Video profilini tahlil qilishdan oldin xom so‘rov tanasini o‘qish muvaffaqiyatsiz bo‘ladi",
                "http_status": 400,
                "recovery": "Qaytarilgan javobni saqlang va o‘qib bo‘lmaydigan so‘rov tanasini tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Aniq video profilini tahlil qilib bo‘lmaydi yoki to‘liq tahlil qilingan profil uchun tayyor aniq narx kartasi yo‘q",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "Javobni saqlang; ruxsat etilgan to‘liq aniq profil va uning e’lon qilingan kartasidan foydalaning. Bu tarmoq provayderga yuborishdan oldin bajariladi.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Dastlabki natija mazmuni hali mavjud emas",
                "http_status": 409,
                "recovery": "Dastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Qaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi",
                "http_status": null,
                "recovery": "Dastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "Dastlabki holat/mazmun uchun GET: vazifa e’lon qilinmagan, dastlabki vazifa failed/cancelled/expired emas va mahalliy holat unknown yoki dastlabki vazifa holati 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": "Dastlabki id va operation_id ni (ayni ochiq video ID si), javob va sarlavhalarni saqlang; faqat dastlabki holat/mazmunni o‘qing. Hech qachon yangi yaratish so‘rovini yubormang.",
                "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": "Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.",
              "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": "Yakunlangan data[] dagi egalik qilinadigan har bir imzolangan URL ni va to‘liq holat metama’lumotlarini saqlang. Har bir chiqishni, jumladan yaratilgan ovozini saqlang. generate_audio=false bo‘lsa ham yaroqli AAC audio yo‘lak mavjud bo‘lishi mumkin; shu ovoz bilan birga to‘liq dastlabki MP4 ni saqlang.",
              "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": "Dastlabki holat/mazmunning HTTP503 result_pending_check javobi: id sifatida ayni dastlabki ochiq video ID si.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "HTTP503 result_pending_check holatida server_error.",
                  "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": [
            "To‘liq javobni va dastlab qaytarilgan ID larni saqlang.",
            "Natijasi noma’lum yaratish so‘rovini hech qachon qayta yubormang."
          ],
          "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": "Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Yaratishning taxminiy qiymati",
            "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": "e02a90002ab811c543e527af9ad7c1625cee530275438a21b67039d49cc6d6e4",
    "input_html_sha256": "ff95af4daa54f1c73a6ae2d7050bb162109ff08cea25b0fe5e466dfe7d40f330",
    "private_audit_sha256": "549f64eedef3bbd320a7fe736efa96abddbc68fe442b0f49935ab055605af69c",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/alibaba-wan-2-7/",
    "description": "Alibaba Wan 2.7 matn, boshlangʻich va yakuniy tasvirlar yoki vizual tayanchlardan ovozli video yaratadi. Uning tasvir jarayoni soʻralgan umumiy davomiylikdan foydalanib manba klipini ham davom ettiradi. Ishlab chiqaruvchi 30 fps’da 720p yoki 1080p MP4’ni koʻrsatadi: matn/tasvir rejimlari uchun 2–15 soniya, tayanchdan yaratish uchun 10 soniyagacha.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/alibaba-wan-2-7/index.md",
    "title": "Alibaba: Wan 2.7 — Ailoot",
    "url": "https://ailoot.ai/models/uz/alibaba-wan-2-7/"
  },
  "rawModel": {
    "about": "Alibaba Wan 2.7 — matndan video, tasvirdan video va namunalar bilan boshqariladigan alohida nomlangan profillarga ega video yaratish oilasi. Ishlab chiqaruvchi ovoz bilan sinxron sahnalar va ko‘p kadrli hikoyalarni hujjatlashtiradi; tasvir bilan ishlash jarayoniga esa birinchi/oxirgi kadr asosida yaratish va boshlang‘ich videoni davom ettirish qo‘shilgan. Foydali natija — ovozi bilan birga qisqa rolik, masalan mahsulotga oid o‘tish, ixcham hikoya yoki mavjud kadrga mos davom. Rejimni manba materiali hamda boshlanish yoki yakun ustidan kerakli nazoratga qarab tanlang.\n\nMatndan video yaratishda asosiy obyekt, muhit, harakat, kamera, uslub va ovozni tasvirlang. Kadrlar rejasida har bir kadr va vaqt oralig‘i belgilanishi mumkin; bitta kadrli topshiriqda esa harakat uzluksiz qolishini aytish kerak. Wan 2.7 topshiriq qo‘llanmasi 2.6 dagi shot_type boshqaruvi o‘rniga yozma topshiriqdan kadrlar tuzilishini modelning o‘zi talqin qilishiga imkon beradi. Hozirgi matn API si 5,000 belgigacha xitoycha yoki inglizcha topshiriqlarni va alohida 500 belgilik salbiy topshiriqni qabul qiladi; ortiqcha matn kesib tashlanadi. Shu hajm ichida asosiy harakat va cheklovlarni aniq bayon qiling.\n\nBirinchi kadr tasviridan video yaratish berilgan boshlang‘ich tasvirni jonlantiradi. Birinchi/oxirgi kadr asosida yaratish yakuniy nuqtani va ularni bog‘lovchi harakatni ham belgilaydi. 2.7 tasvir qo‘llanmasi bu kadr kombinatsiyalari bilan birga harakatni yo‘naltiruvchi audio manbasini ham qo‘llaydi. Bir xil sahna va ko‘zlangan obyektga ega boshlanish va yakunni tayyorlang; modeldan ikkala tasvirni bir-biriga aloqasiz uslub namunalari sifatida qayta talqin qilishni so‘rash o‘rniga o‘tishni tasvirlang. Natija birinchi tasvirning nisbatlariga yaqin bo‘ladi; qo‘llanma aniqlikni piksellar soni darajasi deb qaraydi va kodlangan o‘lchamlarni mos ravishda yaxlitlaydi.\n\nVideoni davom ettirish asl rolikdan boshlanadi va yakuniy tasvirdan ham foydalanishi mumkin. So‘ralgan davomiylik asl segment bilan birga butun qaytariladigan videoni bildiradi. Qo‘llanmadagi misolda ikki soniyali manba va o‘n soniyali yangi mazmun birlashib, o‘n ikki soniyali natija hosil qiladi. Manbaning oxirgi harakatini tayyorlang va keyin nima bo‘lishini ayting, shunda kamera va obyekt bir-biriga mos yo‘nalishda davom etadi. Faqat yangi yaratilgan yakunga baho bermang: tutashuvni tashqi ko‘rinish, harakat, yorug‘lik va ovoz bo‘yicha tekshiring.\n\nIshlab chiqaruvchining hozirgi alohida namuna profili tasvir yoki videolardan qahramonlar, obyektlar yoki sahnani yo‘naltirish uchun foydalanadi. Qo‘llanmada jami beshtagacha namuna tasviri va videosiga ruxsat beriladi hamda Image 1 va Video 1 kabi turga xos belgilar ishlatiladi. Har bir materialning vazifasi va rejalashtirilgan o‘zaro ta’sirni tasvirlang. Namuna asosidagi sahnada bir namunadagi qahramon boshqa namunadagi buyumni belgilangan joydan olib o‘tayotganini ko‘rsating. Namuna rejimida kadr tuzish birinchi kadrdan yaratishdan farq qiladi: topshiriq video aynan berilgan bitta tasvirdan boshlanishini talab qilish o‘rniga yangi kompozitsiyani belgilashi mumkin.\n\nMatndan yaratishda maxsus audio uchun hujjatlashtirilgan formatlar WAV va MP3, davomiylik ikki–o‘ttiz soniya, eng katta hajm esa 15 MB. Tanlangan video davomiyligi audioning qaysi qismi ishlatilishini belgilaydi: uzunroq audio shu davomiylikkacha kesiladi, audio videodan qisqa bo‘lsa qolgan qism ovozsiz qoladi. Kadrga tegishli aniq audio parchasini tayyorlang va ko‘zlangan vizual harakat uchun joy qoldiring. Audio fayl berilmasa, ishlab chiqaruvchi sahnaga mos fon musiqasi yoki effektlar yaratilishini tavsiflaydi; haqiqiy ovoz va so‘ralgan nutqni tasvir bilan birga tekshiring.\n\nHozirgi model jadvalida 30 fps tezlikdagi 720p yoki 1080p MP4, matn va tasvir uchun ikki–o‘n besh soniyalik natija ko‘rsatilgan. Alohida namuna profili ikki–o‘n soniya bilan cheklangan. Matndan yaratish 16:9, 9:16, 1:1, 4:3 va 3:4 kadr formatlarini taklif qiladi. Tasvirga shartlangan vazifalar manba nisbatlariga yaqinlashtirishning o‘z qoidalaridan foydalanadi, shuning uchun kirish tasvirini maqsadli joylashuv uchun mos kesimda tayyorlang. Namuna profilidagi davomiylik yoki tomonlar nisbati qoidasini kadrlar bilan ishlash yoki davom ettirish jarayoniga ko‘chirmaslik kerak.\n\nIshlab chiqaruvchining hujjatlashtirilgan jarayoni asinxron: vazifa identifikatori bajarilish holatini kuzatadi, muvaffaqiyatli natija esa video manzilini beradi. Natija havolalari yigirma to‘rt soat amal qilishi hujjatlashtirilgan, shuning uchun haqiqiy rolik va ijodiy materiallarni tahririy ko‘rib chiqish uchun saqlang. Topshiriqni qayta yozish, suv belgisi va seed imkoniyatlari tanlangan interfeysga bog‘liq. Ishlab chiqaruvchining aytishicha, o‘zgarmas seed takrorlanuvchanlikni yaxshilashi mumkin, biroq aynan bir xil natijani kafolatlamaydi. Sozlamalar barcha detallarni o‘z-o‘zidan saqlaydi deb o‘ylash o‘rniga qaytgan artefaktni topshiriq bilan solishtiring.\n\nWan 2.6 bilan solishtirganda, 2.7 tasvir qo‘llanmasi multimodal media kirishlari orqali birinchi/oxirgi kadr nazorati va videoni davom ettirishni alohida qo‘shadi. Wan 3.0 boshqa yaxlit tuzilma va uzoqroq yaratish davomiyligini kiritadi. Ushbu 2.7 profili o‘zining vazifaga xos boshqaruvlari va chegaralarini saqlaydi. Butun sahnada obyekt uzluksizligi, tayanch kadrlar, namuna qiyofasi, dialog, harakat va tutashuvlarni tekshiring hamda keyingi tuzatishni topilgan haqiqiy muammoga qaratib belgilang.",
    "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": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "8f1523154b37e6b9d0124ed1",
        "label": "Video sozlamalari narxiga havolalar",
        "profiles": [
          {
            "basis": "Ko‘rsatilgan konfiguratsiya uchun e’lon qilingan narx ma’lumoti. Yakuniy to‘lovlar haq undirishda amalda qo‘llangan konfiguratsiya asosida hisoblanadi.",
            "dimensions": {
              "conditions": "Ushbu narxlash kalitida qo‘shimcha shart ko‘rsatilmagan."
            },
            "label": "Video narxi",
            "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": "Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.",
          "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": "Video profilini tahlil qilishdan oldin xom so‘rov tanasini o‘qish muvaffaqiyatsiz bo‘ladi",
                "http_status": 400,
                "recovery": "Qaytarilgan javobni saqlang va o‘qib bo‘lmaydigan so‘rov tanasini tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Aniq video profilini tahlil qilib bo‘lmaydi yoki to‘liq tahlil qilingan profil uchun tayyor aniq narx kartasi yo‘q",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "Javobni saqlang; ruxsat etilgan to‘liq aniq profil va uning e’lon qilingan kartasidan foydalaning. Bu tarmoq provayderga yuborishdan oldin bajariladi.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Dastlabki natija mazmuni hali mavjud emas",
                "http_status": 409,
                "recovery": "Dastlab qaytarilgan ID holatini so‘rab tekshiring va Retry-After ga rioya qiling.",
                "type": "video_not_ready"
              },
              {
                "code": null,
                "condition": "Qaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradi",
                "http_status": null,
                "recovery": "Dastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.",
                "type": "server_error"
              },
              {
                "absent_fields": [
                  "status",
                  "object",
                  "model",
                  "data"
                ],
                "code": "result_pending_check",
                "condition": "Dastlabki holat/mazmun uchun GET: vazifa e’lon qilinmagan, dastlabki vazifa failed/cancelled/expired emas va mahalliy holat unknown yoki dastlabki vazifa holati 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": "Dastlabki id va operation_id ni (ayni ochiq video ID si), javob va sarlavhalarni saqlang; faqat dastlabki holat/mazmunni o‘qing. Hech qachon yangi yaratish so‘rovini yubormang.",
                "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": "Mavjud dastlabki vazifani o‘qing; natijasi noma’lum yuborishni hech qachon takrorlamang.",
              "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": "Yakunlangan data[] dagi egalik qilinadigan har bir imzolangan URL ni va to‘liq holat metama’lumotlarini saqlang. Har bir chiqishni, jumladan yaratilgan ovozini saqlang. generate_audio=false bo‘lsa ham yaroqli AAC audio yo‘lak mavjud bo‘lishi mumkin; shu ovoz bilan birga to‘liq dastlabki MP4 ni saqlang.",
              "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": "Dastlabki holat/mazmunning HTTP503 result_pending_check javobi: id sifatida ayni dastlabki ochiq video ID si.",
                  "name": "operation_id",
                  "type": "string"
                },
                {
                  "description": "HTTP503 result_pending_check holatida server_error.",
                  "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": [
            "To‘liq javobni va dastlab qaytarilgan ID larni saqlang.",
            "Natijasi noma’lum yaratish so‘rovini hech qachon qayta yubormang."
          ],
          "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": "Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Yaratishning taxminiy qiymati",
            "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 matn, boshlangʻich va yakuniy tasvirlar yoki vizual tayanchlardan ovozli video yaratadi. Uning tasvir jarayoni soʻralgan umumiy davomiylikdan foydalanib manba klipini ham davom ettiradi. Ishlab chiqaruvchi 30 fps’da 720p yoki 1080p MP4’ni koʻrsatadi: matn/tasvir rejimlari uchun 2–15 soniya, tayanchdan yaratish uchun 10 soniyagacha."
  },
  "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 matn, boshlangʻich va yakuniy tasvirlar yoki vizual tayanchlardan ovozli video yaratadi. Uning tasvir jarayoni soʻralgan umumiy davomiylikdan foydalanib manba klipini ham davom ettiradi. Ishlab chiqaruvchi 30 fps’da 720p yoki 1080p MP4’ni koʻrsatadi: matn/tasvir rejimlari uchun 2–15 soniya, tayanchdan yaratish uchun 10 soniyagacha.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "cc351f4f35eef15a15e1f5f0146539372eef8b7baa5124579d64d7eb93c12190",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "4fc9d74c70ca5f2291bf4807d5d5980b287304c6e5c99b9e29bbcf0e753c1ff7"
}
