{
  "aboutHtml": "<p>Veo 3.1 Lite — Google’ning Veo 3 video yaratish qatoridagi Lite a’zosi. U tabiiy tildagi tavsif yoki kirish tasviridan ovozli video sintez qiladi. Natija mavjud yozuvning matnli tahlili emas, yaratilgan rolikdir. Ishlab chiqaruvchining Lite model kartasi asosiy arxitektura, o‘qitish materiali va ma’lum cheklovlar uchun Veo 3 ga havola qiladi, Lite ga xos hujjatlar esa o‘z yaratish imkoniyatlari va chegaralarini belgilaydi.</p><p>Ko‘rsatilgan arxitektura vaqt bo‘yicha audio ifodalari hamda fazo-vaqt video ifodalarida latent diffuziyadan foydalanadi. Asosiy model turli tafsilot darajasidagi yozuvlar bilan audio, video va tasvirlarda, filtrlab takrorlardan tozalangan o‘qitish materialida o‘qitilgan. Bu tasvir va audioni birgalikda yaratish maqsadini tushuntiradi. U Lite ga xos parametrlar sonini ochmaydi va har bir yaratilgan harakat fizik haqiqatga mos bo‘lishini tasdiqlamaydi. Amaliy sahna uchun ko‘rinadigan harakat va unga mos ovozni birga belgilang.</p><p>Aynan Lite hujjatlarida matn kirishi chegarasi 1,024 token va chiqish bitta video deb berilgan. Yaratish qo‘llanmasidagi Lite ustuni 4, 6 va 8 soniyali davomiyliklarni, standart sifatida 720p ni ko‘rsatadi; 1080p esa 8 soniyali rolikni talab qiladi. Standart tomonlar nisbati gorizontal 16:9, vertikal 9:16 ham ko‘rsatilgan; natija soniyasiga 24 kadr bilan hujjatlashtirilgan. Ushbu jarayonda ichki audio doimo yoqilgan. Bu qiymatlar aloqasiz Veo nashriga yoki alohida o‘lchangan ilova javobiga emas, ishlab chiqaruvchining nomlangan Lite jarayoniga tegishli.</p><p>Lite 4K natija yoki videoni uzaytirishni qo‘llamaydi. Parametrlar jadvalining Lite ustunida ko‘p namunali referenceImages imkoniyati va uzaytirish uchun video kirishi ham mavjud emas deb belgilangan. Boshlang‘ich tasvir birinchi kadrni belgilashi mumkin; jadval o‘tish uchun shu tasvir bilan birga lastFrame tasvirini ko‘rsatadi. Bu kadr nazorati yo‘lini bir nechta uslub yoki obyekt namunalarini aralashtirishdan alohida saqlang. Ishlab chiqaruvchining odamlarni yaratish sozlamalari rejimga xos: Lite jadvali matndan video uchun allow_all, tasvirdan video va interpolyatsiya uchun allow_adult ni ko‘rsatadi; mintaqaviy qoidalar bu hujjatlashtirilgan profilni yanada cheklashi mumkin. Harakat so‘rashdan avval obyekt, kadr kompozitsiyasi va ko‘rinadigan detallarni tayyorlab, boshlang‘ich tasvirni haqiqatan xohlagan birinchi sahnangizga mos tanlang.</p><p>Matndan video uchun obyekt, uning harakati, muhit va kerakli uslubni tasvirlang. Muhim bo‘lsa kamera holati va harakati, kadr kompozitsiyasi, fokus hamda yorug‘likni qo‘shing. Mustaqil mahsulot sahnasida kamera materialning bitta detaliga yaqinlashayotgan va atrof yorug‘ligi ohista o‘zgarayotgan paytda obyekt markazda qolishi mumkin. Qisqa rolik bitta yaxlit g‘oyani yakunlashi uchun boshlang‘ich holat, asosiy harakat va oxirgi lahzani belgilang. Bir-biriga aloqasiz harakatlarning uzun to‘plami diqqat bitta narsaga qaratilgan kadrdan boshqa vazifadir.</p><p>Tasvirdan video uchun tiniq boshlang‘ich kadr bering va nima harakatlanishi, nima barqaror qolishi kerakligini tushuntiring. Obyekt harakati va kamera harakatini alohida belgilang. Yakuniy kadr cheklovidan foydalansangiz, mos yakuniy kompozitsiyani tayyorlang va ular orasidagi o‘tishni tasvirlang. So‘ralgan qiyofa, joy yoki shakl butun rolik davomida aynan bir xil qoladi deb o‘ylamasdan natijani tekshiring. Ko‘rsatilgan model kartasi murakkab sahnalar va murakkab harakatda to‘liq izchillikni davom etayotgan muammo sifatida qayd etadi.</p><p>Topshiriq qo‘llanmasi dialog, ovoz effektlari va muhit uchun aniq ko‘rsatmalarni qo‘llaydi. Aniq nutqni qo‘shtirnoqda yozing, so‘zlovchini belgilang va tovushlarni ko‘rinadigan harakatga bog‘lab tasvirlang. Ovoz effekti va fon muhiti aytiladigan jumla bilan adashtirilmasligi kerak. Ingliz tili topshiriqlar uchun to‘liq qo‘llab-quvvatlanishi hujjatlashtirilgan, boshqa tillar esa ushbu qo‘llanmada baholanmagan. Audioni topshiriqning kafolatlangan aniq o‘qilishi deb qabul qilish o‘rniga eshitiladigan so‘zlar, vaqt va ovoz sifatini video bilan bir artefakt sifatida tekshiring.</p><p>Ishlab chiqaruvchi jarayoni asinxron: yaratish so‘rovi operatsiya qaytaradi, holati tugaganini bildirgach tayyor natija olinadi. Operatsiya identifikatsiyasini saqlang va qaytgan rolikni ko‘rib chiqing. Qo‘llanma ishlab chiqaruvchi tomonida ikki kun saqlash va SynthID belgilashni tasvirlaydi; shuning uchun saqlanadigan artefakt yuklab olingan natija, topshiriq, manba tasvirlari va tanlangan sozlamalarni qamrab olishi kerak. Seed takrorlanuvchanlikni yaxshilashi mumkin, lekin determinizmni kafolatlamaydi. Rolikni montajda ishlatishdan avval obyekt uzluksizligi, harakat, kadr kompozitsiyasi, ovoz va sahnaning kerakli yakunini tekshiring; ishlov tugashining o‘zi ijodiy talablar bajarilganini isbotlamaydi.</p>",
  "aboutText": "Veo 3.1 Lite — Google’ning Veo 3 video yaratish qatoridagi Lite a’zosi. U tabiiy tildagi tavsif yoki kirish tasviridan ovozli video sintez qiladi. Natija mavjud yozuvning matnli tahlili emas, yaratilgan rolikdir. Ishlab chiqaruvchining Lite model kartasi asosiy arxitektura, o‘qitish materiali va ma’lum cheklovlar uchun Veo 3 ga havola qiladi, Lite ga xos hujjatlar esa o‘z yaratish imkoniyatlari va chegaralarini belgilaydi.\n\nKo‘rsatilgan arxitektura vaqt bo‘yicha audio ifodalari hamda fazo-vaqt video ifodalarida latent diffuziyadan foydalanadi. Asosiy model turli tafsilot darajasidagi yozuvlar bilan audio, video va tasvirlarda, filtrlab takrorlardan tozalangan o‘qitish materialida o‘qitilgan. Bu tasvir va audioni birgalikda yaratish maqsadini tushuntiradi. U Lite ga xos parametrlar sonini ochmaydi va har bir yaratilgan harakat fizik haqiqatga mos bo‘lishini tasdiqlamaydi. Amaliy sahna uchun ko‘rinadigan harakat va unga mos ovozni birga belgilang.\n\nAynan Lite hujjatlarida matn kirishi chegarasi 1,024 token va chiqish bitta video deb berilgan. Yaratish qo‘llanmasidagi Lite ustuni 4, 6 va 8 soniyali davomiyliklarni, standart sifatida 720p ni ko‘rsatadi; 1080p esa 8 soniyali rolikni talab qiladi. Standart tomonlar nisbati gorizontal 16:9, vertikal 9:16 ham ko‘rsatilgan; natija soniyasiga 24 kadr bilan hujjatlashtirilgan. Ushbu jarayonda ichki audio doimo yoqilgan. Bu qiymatlar aloqasiz Veo nashriga yoki alohida o‘lchangan ilova javobiga emas, ishlab chiqaruvchining nomlangan Lite jarayoniga tegishli.\n\nLite 4K natija yoki videoni uzaytirishni qo‘llamaydi. Parametrlar jadvalining Lite ustunida ko‘p namunali referenceImages imkoniyati va uzaytirish uchun video kirishi ham mavjud emas deb belgilangan. Boshlang‘ich tasvir birinchi kadrni belgilashi mumkin; jadval o‘tish uchun shu tasvir bilan birga lastFrame tasvirini ko‘rsatadi. Bu kadr nazorati yo‘lini bir nechta uslub yoki obyekt namunalarini aralashtirishdan alohida saqlang. Ishlab chiqaruvchining odamlarni yaratish sozlamalari rejimga xos: Lite jadvali matndan video uchun allow_all, tasvirdan video va interpolyatsiya uchun allow_adult ni ko‘rsatadi; mintaqaviy qoidalar bu hujjatlashtirilgan profilni yanada cheklashi mumkin. Harakat so‘rashdan avval obyekt, kadr kompozitsiyasi va ko‘rinadigan detallarni tayyorlab, boshlang‘ich tasvirni haqiqatan xohlagan birinchi sahnangizga mos tanlang.\n\nMatndan video uchun obyekt, uning harakati, muhit va kerakli uslubni tasvirlang. Muhim bo‘lsa kamera holati va harakati, kadr kompozitsiyasi, fokus hamda yorug‘likni qo‘shing. Mustaqil mahsulot sahnasida kamera materialning bitta detaliga yaqinlashayotgan va atrof yorug‘ligi ohista o‘zgarayotgan paytda obyekt markazda qolishi mumkin. Qisqa rolik bitta yaxlit g‘oyani yakunlashi uchun boshlang‘ich holat, asosiy harakat va oxirgi lahzani belgilang. Bir-biriga aloqasiz harakatlarning uzun to‘plami diqqat bitta narsaga qaratilgan kadrdan boshqa vazifadir.\n\nTasvirdan video uchun tiniq boshlang‘ich kadr bering va nima harakatlanishi, nima barqaror qolishi kerakligini tushuntiring. Obyekt harakati va kamera harakatini alohida belgilang. Yakuniy kadr cheklovidan foydalansangiz, mos yakuniy kompozitsiyani tayyorlang va ular orasidagi o‘tishni tasvirlang. So‘ralgan qiyofa, joy yoki shakl butun rolik davomida aynan bir xil qoladi deb o‘ylamasdan natijani tekshiring. Ko‘rsatilgan model kartasi murakkab sahnalar va murakkab harakatda to‘liq izchillikni davom etayotgan muammo sifatida qayd etadi.\n\nTopshiriq qo‘llanmasi dialog, ovoz effektlari va muhit uchun aniq ko‘rsatmalarni qo‘llaydi. Aniq nutqni qo‘shtirnoqda yozing, so‘zlovchini belgilang va tovushlarni ko‘rinadigan harakatga bog‘lab tasvirlang. Ovoz effekti va fon muhiti aytiladigan jumla bilan adashtirilmasligi kerak. Ingliz tili topshiriqlar uchun to‘liq qo‘llab-quvvatlanishi hujjatlashtirilgan, boshqa tillar esa ushbu qo‘llanmada baholanmagan. Audioni topshiriqning kafolatlangan aniq o‘qilishi deb qabul qilish o‘rniga eshitiladigan so‘zlar, vaqt va ovoz sifatini video bilan bir artefakt sifatida tekshiring.\n\nIshlab chiqaruvchi jarayoni asinxron: yaratish so‘rovi operatsiya qaytaradi, holati tugaganini bildirgach tayyor natija olinadi. Operatsiya identifikatsiyasini saqlang va qaytgan rolikni ko‘rib chiqing. Qo‘llanma ishlab chiqaruvchi tomonida ikki kun saqlash va SynthID belgilashni tasvirlaydi; shuning uchun saqlanadigan artefakt yuklab olingan natija, topshiriq, manba tasvirlari va tanlangan sozlamalarni qamrab olishi kerak. Seed takrorlanuvchanlikni yaxshilashi mumkin, lekin determinizmni kafolatlamaydi. Rolikni montajda ishlatishdan avval obyekt uzluksizligi, harakat, kadr kompozitsiyasi, ovoz va sahnaning kerakli yakunini tekshiring; ishlov tugashining o‘zi ijodiy talablar bajarilganini isbotlamaydi.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "53285d2bcf2b8aa74bd2ab7d0b5c1c8d6cbcdf5d4bb071390bdc376e93e5f399",
    "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\">G</span><h2 id=\"sheet-title\">Google: Veo 3.1 Lite</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/veo-3.1-lite</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|google%2Fveo-3.1-lite\">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\">Sahna tavsifini 720p aniqlikdagi 4, 6 yoki 8 soniyali videoga aylantiring.</p><ul class=\"card-best-for\"><li>Mahsulotni harakatda ko‘rsating</li><li>Voqea joyini tanishtiruvchi sahna yarating</li><li>Kameraning qisqa harakatini sinab ko‘ring</li></ul><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn · Rasmlar</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>Veo 3.1 Lite — Google’ning Veo 3 video yaratish qatoridagi Lite a’zosi. U tabiiy tildagi tavsif yoki kirish tasviridan ovozli video sintez qiladi. Natija mavjud yozuvning matnli tahlili emas, yaratilgan rolikdir. Ishlab chiqaruvchining Lite model kartasi asosiy arxitektura, o‘qitish materiali va ma’lum cheklovlar uchun Veo 3 ga havola qiladi, Lite ga xos hujjatlar esa o‘z yaratish imkoniyatlari va chegaralarini belgilaydi.</p><p>Ko‘rsatilgan arxitektura vaqt bo‘yicha audio ifodalari hamda fazo-vaqt video ifodalarida latent diffuziyadan foydalanadi. Asosiy model turli tafsilot darajasidagi yozuvlar bilan audio, video va tasvirlarda, filtrlab takrorlardan tozalangan o‘qitish materialida o‘qitilgan. Bu tasvir va audioni birgalikda yaratish maqsadini tushuntiradi. U Lite ga xos parametrlar sonini ochmaydi va har bir yaratilgan harakat fizik haqiqatga mos bo‘lishini tasdiqlamaydi. Amaliy sahna uchun ko‘rinadigan harakat va unga mos ovozni birga belgilang.</p><p>Aynan Lite hujjatlarida matn kirishi chegarasi 1,024 token va chiqish bitta video deb berilgan. Yaratish qo‘llanmasidagi Lite ustuni 4, 6 va 8 soniyali davomiyliklarni, standart sifatida 720p ni ko‘rsatadi; 1080p esa 8 soniyali rolikni talab qiladi. Standart tomonlar nisbati gorizontal 16:9, vertikal 9:16 ham ko‘rsatilgan; natija soniyasiga 24 kadr bilan hujjatlashtirilgan. Ushbu jarayonda ichki audio doimo yoqilgan. Bu qiymatlar aloqasiz Veo nashriga yoki alohida o‘lchangan ilova javobiga emas, ishlab chiqaruvchining nomlangan Lite jarayoniga tegishli.</p><p>Lite 4K natija yoki videoni uzaytirishni qo‘llamaydi. Parametrlar jadvalining Lite ustunida ko‘p namunali referenceImages imkoniyati va uzaytirish uchun video kirishi ham mavjud emas deb belgilangan. Boshlang‘ich tasvir birinchi kadrni belgilashi mumkin; jadval o‘tish uchun shu tasvir bilan birga lastFrame tasvirini ko‘rsatadi. Bu kadr nazorati yo‘lini bir nechta uslub yoki obyekt namunalarini aralashtirishdan alohida saqlang. Ishlab chiqaruvchining odamlarni yaratish sozlamalari rejimga xos: Lite jadvali matndan video uchun allow_all, tasvirdan video va interpolyatsiya uchun allow_adult ni ko‘rsatadi; mintaqaviy qoidalar bu hujjatlashtirilgan profilni yanada cheklashi mumkin. Harakat so‘rashdan avval obyekt, kadr kompozitsiyasi va ko‘rinadigan detallarni tayyorlab, boshlang‘ich tasvirni haqiqatan xohlagan birinchi sahnangizga mos tanlang.</p><p>Matndan video uchun obyekt, uning harakati, muhit va kerakli uslubni tasvirlang. Muhim bo‘lsa kamera holati va harakati, kadr kompozitsiyasi, fokus hamda yorug‘likni qo‘shing. Mustaqil mahsulot sahnasida kamera materialning bitta detaliga yaqinlashayotgan va atrof yorug‘ligi ohista o‘zgarayotgan paytda obyekt markazda qolishi mumkin. Qisqa rolik bitta yaxlit g‘oyani yakunlashi uchun boshlang‘ich holat, asosiy harakat va oxirgi lahzani belgilang. Bir-biriga aloqasiz harakatlarning uzun to‘plami diqqat bitta narsaga qaratilgan kadrdan boshqa vazifadir.</p><p>Tasvirdan video uchun tiniq boshlang‘ich kadr bering va nima harakatlanishi, nima barqaror qolishi kerakligini tushuntiring. Obyekt harakati va kamera harakatini alohida belgilang. Yakuniy kadr cheklovidan foydalansangiz, mos yakuniy kompozitsiyani tayyorlang va ular orasidagi o‘tishni tasvirlang. So‘ralgan qiyofa, joy yoki shakl butun rolik davomida aynan bir xil qoladi deb o‘ylamasdan natijani tekshiring. Ko‘rsatilgan model kartasi murakkab sahnalar va murakkab harakatda to‘liq izchillikni davom etayotgan muammo sifatida qayd etadi.</p><p>Topshiriq qo‘llanmasi dialog, ovoz effektlari va muhit uchun aniq ko‘rsatmalarni qo‘llaydi. Aniq nutqni qo‘shtirnoqda yozing, so‘zlovchini belgilang va tovushlarni ko‘rinadigan harakatga bog‘lab tasvirlang. Ovoz effekti va fon muhiti aytiladigan jumla bilan adashtirilmasligi kerak. Ingliz tili topshiriqlar uchun to‘liq qo‘llab-quvvatlanishi hujjatlashtirilgan, boshqa tillar esa ushbu qo‘llanmada baholanmagan. Audioni topshiriqning kafolatlangan aniq o‘qilishi deb qabul qilish o‘rniga eshitiladigan so‘zlar, vaqt va ovoz sifatini video bilan bir artefakt sifatida tekshiring.</p><p>Ishlab chiqaruvchi jarayoni asinxron: yaratish so‘rovi operatsiya qaytaradi, holati tugaganini bildirgach tayyor natija olinadi. Operatsiya identifikatsiyasini saqlang va qaytgan rolikni ko‘rib chiqing. Qo‘llanma ishlab chiqaruvchi tomonida ikki kun saqlash va SynthID belgilashni tasvirlaydi; shuning uchun saqlanadigan artefakt yuklab olingan natija, topshiriq, manba tasvirlari va tanlangan sozlamalarni qamrab olishi kerak. Seed takrorlanuvchanlikni yaxshilashi mumkin, lekin determinizmni kafolatlamaydi. Rolikni montajda ishlatishdan avval obyekt uzluksizligi, harakat, kadr kompozitsiyasi, ovoz va sahnaning kerakli yakunini tekshiring; ishlov tugashining o‘zi ijodiy talablar bajarilganini isbotlamaydi.</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>, <code>image</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>google/veo-3.1-lite</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>Eng kam uzunlik: 1</div><div>Baytlarning eng ko‘p soni: 10 000</div><div>Birlik: UTF8 baytlari</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>4, 6, 8</div><div>Birlik: soniya</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</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</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\">frame_images</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>array</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Shartlar: text_to_video uchun yubormang. Yuborilsa: aynan bitta element {&quot;type&quot;:&quot;image_url&quot;,&quot;image_url&quot;:{&quot;url&quot;:&quot;&lt;actual HTTPS URL&gt;&quot;},&quot;frame_type&quot;:&quot;first_frame&quot;}; elementda aynan type,image_url,frame_type bo‘ladi; image_url ichida aynan url bo‘ladi. Ortiqcha yoki takrorlangan kalitlar bo‘lmasin. Faqat duration=4,resolution=&quot;720p&quot;,aspect_ratio=&quot;16:9&quot;,generate_audio=false. URL tahlil qilinganda sxemasi https, xost nomi bo‘sh bo‘lmasligi, userinfo va bevosita # belgisi bo‘lmasligi kerak; imzolangan so‘rov qismi va kodlangan yo‘l saqlanadi. Manba kirish MIME turini, fayl hajmini yoki piksel o‘lchamlarini tekshirmaydi.</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><p class=\"note-s\"><b>Rasmdan video</b> · Majburiy: prompt, frame_images</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>other_options</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>resolution</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>720p</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>prompt_max_bytes</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>10000</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>duration</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>4, 6, 8</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>aspect_ratio</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>16:9, 9:16</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>generate_audio</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>material_types</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>text, image</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;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:true,&quot;enum&quot;:[&quot;google/veo-3.1-lite&quot;],&quot;availability&quot;:&quot;source_interface&quot;}, {&quot;name&quot;:&quot;prompt&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:false,&quot;enum&quot;:null,&quot;availability&quot;:&quot;source_interface&quot;,&quot;min_length&quot;:1,&quot;maximum_bytes&quot;:10000,&quot;maximum_length&quot;:null,&quot;unit&quot;:&quot;UTF8 baytlari&quot;}, {&quot;name&quot;:&quot;duration&quot;,&quot;type&quot;:&quot;integer&quot;,&quot;required&quot;:true,&quot;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:true,&quot;enum&quot;:[4,6,8],&quot;availability&quot;:&quot;source_interface&quot;,&quot;unit&quot;:&quot;soniya&quot;}, {&quot;name&quot;:&quot;resolution&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:true,&quot;enum&quot;:[&quot;720p&quot;],&quot;availability&quot;:&quot;source_interface&quot;}, {&quot;name&quot;:&quot;aspect_ratio&quot;,&quot;type&quot;:&quot;string&quot;,&quot;required&quot;:true,&quot;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:true,&quot;enum&quot;:[&quot;16:9&quot;,&quot;9:16&quot;],&quot;availability&quot;:&quot;source_interface&quot;}, {&quot;name&quot;:&quot;generate_audio&quot;,&quot;type&quot;:&quot;boolean&quot;,&quot;required&quot;:true,&quot;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:true,&quot;enum&quot;:[false],&quot;availability&quot;:&quot;source_interface&quot;}, {&quot;name&quot;:&quot;frame_images&quot;,&quot;type&quot;:&quot;array&quot;,&quot;required&quot;:false,&quot;default_known&quot;:false,&quot;default&quot;:null,&quot;enum_known&quot;:false,&quot;enum&quot;:null,&quot;availability&quot;:&quot;source_interface&quot;,&quot;conditions&quot;:&quot;text_to_video uchun yubormang. Yuborilsa: aynan bitta element {\\&quot;type\\&quot;:\\&quot;image_url\\&quot;,\\&quot;image_url\\&quot;:{\\&quot;url\\&quot;:\\&quot;&lt;actual HTTPS URL&gt;\\&quot;},\\&quot;frame_type\\&quot;:\\&quot;first_frame\\&quot;}; elementda aynan type,image_url,frame_type bo‘ladi; image_url ichida aynan url bo‘ladi. Ortiqcha yoki takrorlangan kalitlar bo‘lmasin. Faqat duration=4,resolution=\\&quot;720p\\&quot;,aspect_ratio=\\&quot;16:9\\&quot;,generate_audio=false. URL tahlil qilinganda sxemasi https, xost nomi bo‘sh bo‘lmasligi, userinfo va bevosita # belgisi bo‘lmasligi kerak; imzolangan so‘rov qismi va kodlangan yo‘l saqlanadi. Manba kirish MIME turini, fayl hajmini yoki piksel o‘lchamlarini tekshirmaydi.&quot;}</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\">Bir marta yarating va qaytarilgan ID ni saqlang.</p><p class=\"note-s\">Dastlabki holatni so‘rab tekshiring; har bir yakunlangan aktivni va davomiylikni saqlang.</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</th><th>Aniqlik</th><th>Hisob birligi</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>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\"><span class=\"card-cell-label\">Audio yaratish</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‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</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>Video narxi</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>—</td><td data-cell-label=\"Audio yaratish\"><span class=\"card-cell-label\">Audio yaratish</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>video soniyasi uchun</td><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>ovoz: with_audio</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.16</b> <span class=\"price-unit\">video soniyasi uchun</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video narxi</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>—</td><td data-cell-label=\"Audio yaratish\"><span class=\"card-cell-label\">Audio yaratish</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>video soniyasi uchun</td><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>ovoz: with_audio; aniqlik: 720p</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.1</b> <span class=\"price-unit\">video soniyasi uchun</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video narxi</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>—</td><td data-cell-label=\"Audio yaratish\"><span class=\"card-cell-label\">Audio yaratish</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>video soniyasi uchun</td><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>ovoz: without_audio</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.1</b> <span class=\"price-unit\">video soniyasi uchun</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\"><span class=\"card-cell-label\">Audio yaratish</span>Audiosiz</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‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>—</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Chiqish videosi soniyasi (taxminiy) · Faqat taqqoslash uchun taxmin</span> <b>$0.06</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\"><span class=\"card-cell-label\">Audio yaratish</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‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</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.24</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><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>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>ovoz: with_audio</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi</span> <b>$0.16</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><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>ovoz: without_audio</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi</span> <b>$0.1</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><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>ovoz: with_audio; aniqlik: 720p</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi</span> <b>$0.1</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><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>ovoz: without_audio; aniqlik: 720p</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi</span> <b>$0.06</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-1511-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1511-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1511-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1511-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · Birinchi kadringizni harakatlantiring</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-1511-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1511-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;google/veo-3.1-lite&quot;, &quot;prompt&quot;: &quot;A cat in a spacesuit walking on the Moon&quot;, &quot;duration&quot;: 4, &quot;resolution&quot;: &quot;720p&quot;, &quot;aspect_ratio&quot;: &quot;16:9&quot;, &quot;generate_audio&quot;: false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1511-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1511-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}&quot;\nexport AILOOT_IMAGE_URL\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os,re\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nimage=os.environ[&quot;AILOOT_IMAGE_URL&quot;]\ntry:\n    parsed=urlsplit(image)\n    valid=(image.startswith(&quot;https://&quot;) and parsed.scheme==&quot;https&quot; and bool(parsed.hostname)\n           and parsed.username is None and parsed.password is None and &quot;#&quot; not in image\n           and not any(ord(c)&lt;32 or ord(c)==127 for c in image)\n           and re.search(r&quot;%(?![0-9A-Fa-f]{2})&quot;,image) is None)\nexcept ValueError:\n    valid=False\nif not valid:\n    raise SystemExit(&quot;Use your actual HTTPS image URL with a hostname, no userinfo and no fragment&quot;)\np={&quot;model&quot;:&quot;google/veo-3.1-lite&quot;,&quot;prompt&quot;:&quot;The subject makes a slow, natural movement. Keep the opening composition.&quot;,&quot;duration&quot;:4,&quot;resolution&quot;:&quot;720p&quot;,&quot;aspect_ratio&quot;:&quot;16:9&quot;,&quot;generate_audio&quot;:False,&quot;frame_images&quot;:[{&quot;type&quot;:&quot;image_url&quot;,&quot;image_url&quot;:{&quot;url&quot;:image},&quot;frame_type&quot;:&quot;first_frame&quot;}]}\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False),encoding=&quot;utf-8&quot;)\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(&quot;result.json&quot;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&quot;Keep the complete JSON, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.&quot;)\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-1512-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1512-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET holat</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-1512-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1512-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o status.json\npython3 - &lt;&lt;&#39;PY_STATUS&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;status.json&quot;).read_text())\nprint(json.dumps(r))\nif r.get(&quot;status&quot;)==&quot;completed&quot;:\n    for x in r.get(&quot;data&quot;,[]):print(x)\nPY_STATUS\n</code></pre></div></div></div><h5>Barcha tayyor materiallarni saqlash</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-1513-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1513-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET barcha tayyor materiallar</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-1513-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1513-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}&quot;\nexport AILOOT_STATUS_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[&quot;AILOOT_STATUS_FILE&quot;])\nif not f.is_file():raise SystemExit(&quot;Choose the actual completed status file&quot;)\nr=json.loads(f.read_text())\nif r.get(&quot;status&quot;)!=&quot;completed&quot; or not isinstance(r.get(&quot;data&quot;),list) or not r[&quot;data&quot;]:raise SystemExit(&quot;Wait for a completed status with asset paths&quot;)\nurls=[]\nfor x in r[&quot;data&quot;]:\n    if not isinstance(x,str) or &quot;\\n&quot; in x or &quot;\\r&quot; in x:raise SystemExit(&quot;Invalid asset path&quot;)\n    u=urljoin(&quot;https://api.ailoot.ai&quot;,x)\n    z=urlsplit(u)\n    if z.scheme!=&quot;https&quot; or z.netloc!=&quot;api.ailoot.ai&quot; or z.username or z.password:raise SystemExit(&quot;Use the actual Ailoot asset paths from status&quot;)\n    urls.append(u)\nPath(&quot;asset-urls.txt&quot;).write_text(&quot;\\n&quot;.join(urls)+&quot;\\n&quot;)\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error &quot;$asset_url&quot; \\\n    -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o &quot;video-${index}.mp4&quot;\n  index=$((index + 1))\ndone &lt; asset-urls.txt\n</code></pre></div></div></div><details class=\"card-about\"><summary>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-1514-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1514-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET kontent</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-1514-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1514-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}&quot;\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c &#39;import os,urllib.parse;print(urllib.parse.quote(os.environ[&quot;AILOOT_OPERATION_ID&quot;],safe=&quot;&quot;))&#39;)\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/videos/$operation_id/content&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o video.mp4\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>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[] egalik qilinadigan barcha imzolangan mazmun URL larini saqlaydi. Qaytarilgan har bir URL ni oling yoki content endpointida index ni haqiqiy chiqish indeksiga teng qilib belgilang. Dastlabki vazifa muvaffaqiyatsiz bo‘lsa, charge_pending_check qaytishi mumkin; qayta yaratish o‘rniga shu dastlabki vazifani tekshiring. 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>Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.</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><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>Berilgan frame_images obyekti yoki uning shartli profilini tahlil qilib bo‘lmaydi yoxud 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>model, prompt, duration, resolution, aspect_ratio va generate_audio ni saqlang. Belgilangan obyekt formatida aynan bitta first_frame elementi mavjud frame_images ni qo‘shing. duration=4, resolution=&quot;720p&quot;, aspect_ratio=&quot;16:9&quot; va generate_audio=false qilib belgilang. Bu tekshiruv so‘rov yuborilishidan oldin bajariladi.</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=google%2Fveo-3.1-lite&amp;route=Ultra&amp;caller=google%2Fveo-3.1-lite&amp;fmt=videos\"><code>google/veo-3.1-lite</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=google%2Fveo-3.1-lite&amp;route=Ultra&amp;caller=google%2Fveo-3.1-lite&amp;fmt=videos\"><code>google/veo-3.1-lite</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/veo-3.1-lite",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "google/veo-3.1-lite",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|google%2Fveo-3.1-lite",
      "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": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              },
              {
                "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"
              },
              {
                "code": null,
                "condition": "Berilgan frame_images obyekti yoki uning shartli profilini tahlil qilib bo‘lmaydi yoxud to‘liq tahlil qilingan profil uchun tayyor aniq narx kartasi yo‘q.",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "model, prompt, duration, resolution, aspect_ratio va generate_audio ni saqlang. Belgilangan obyekt formatida aynan bitta first_frame elementi mavjud frame_images ni qo‘shing. duration=4, resolution=\"720p\", aspect_ratio=\"16:9\" va generate_audio=false qilib belgilang. Bu tekshiruv so‘rov yuborilishidan oldin bajariladi.",
                "type": "price_unavailable"
              }
            ],
            "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"
                ]
              },
              {
                "conditions": "The required fields are model, prompt, duration, resolution, aspect_ratio and generate_audio. For image_to_video, also provide frame_images and use duration=4, resolution=\"720p\", aspect_ratio=\"16:9\" and generate_audio=false.",
                "content_type": "application/json",
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "frame_images"
                ]
              }
            ],
            "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",
              "image_to_video"
            ],
            "outputs": {
              "all_results": "Yakunlangan data[] egalik qilinadigan barcha imzolangan mazmun URL larini saqlaydi. Qaytarilgan har bir URL ni oling yoki content endpointida index ni haqiqiy chiqish indeksiga teng qilib belgilang. Dastlabki vazifa muvaffaqiyatsiz bo‘lsa, charge_pending_check qaytishi mumkin; qayta yaratish o‘rniga shu dastlabki vazifani tekshiring. 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": [
                  "google/veo-3.1-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": 10000,
                "maximum_length": null,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "UTF8 baytlari"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "soniya"
              },
              {
                "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"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "text_to_video uchun yubormang. Yuborilsa: aynan bitta element {\"type\":\"image_url\",\"image_url\":{\"url\":\"<actual HTTPS URL>\"},\"frame_type\":\"first_frame\"}; elementda aynan type,image_url,frame_type bo‘ladi; image_url ichida aynan url bo‘ladi. Ortiqcha yoki takrorlangan kalitlar bo‘lmasin. Faqat duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false. URL tahlil qilinganda sxemasi https, xost nomi bo‘sh bo‘lmasligi, userinfo va bevosita # belgisi bo‘lmasligi kerak; imzolangan so‘rov qismi va kodlangan yo‘l saqlanadi. Manba kirish MIME turini, fayl hajmini yoki piksel o‘lchamlarini tekshirmaydi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "frame_images",
                "required": false,
                "type": "array"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "Every field outside the original six required fields plus optional frame_images; last_frame, reference frames, multiple frames, non-HTTPS URLs, URL userinfo, URL fragments and other first-frame profiles are rejected."
            ]
          },
          "hints": [
            "Bir marta yarating va qaytarilgan ID ni saqlang.",
            "Dastlabki holatni so‘rab tekshiring; har bir yakunlangan aktivni va davomiylikni saqlang."
          ],
          "input": {
            "aspect_ratio": [
              "16:9",
              "9:16"
            ],
            "content_type": "application/json",
            "duration": [
              4,
              6,
              8
            ],
            "generate_audio": [
              false
            ],
            "material_types": [
              "text",
              "image"
            ],
            "other_options": false,
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/veo-3.1-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": 10000,
                "maximum_length": null,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "UTF8 baytlari"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "soniya"
              },
              {
                "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"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "text_to_video uchun yubormang. Yuborilsa: aynan bitta element {\"type\":\"image_url\",\"image_url\":{\"url\":\"<actual HTTPS URL>\"},\"frame_type\":\"first_frame\"}; elementda aynan type,image_url,frame_type bo‘ladi; image_url ichida aynan url bo‘ladi. Ortiqcha yoki takrorlangan kalitlar bo‘lmasin. Faqat duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false. URL tahlil qilinganda sxemasi https, xost nomi bo‘sh bo‘lmasligi, userinfo va bevosita # belgisi bo‘lmasligi kerak; imzolangan so‘rov qismi va kodlangan yo‘l saqlanadi. Manba kirish MIME turini, fayl hajmini yoki piksel o‘lchamlarini tekshirmaydi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "frame_images",
                "required": false,
                "type": "array"
              }
            ],
            "prompt_max_bytes": 10000,
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ],
            "resolution": [
              "720p"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "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."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video",
            "image_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "result": "all actual owned validated complete MP4 outputs"
          }
        },
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "ovoz: with_audio; aniqlik: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.06",
                "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.24",
                "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.24",
                "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\": \"google/veo-3.1-lite\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 4, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os,re\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nimage=os.environ[\"AILOOT_IMAGE_URL\"]\ntry:\n    parsed=urlsplit(image)\n    valid=(image.startswith(\"https://\") and parsed.scheme==\"https\" and bool(parsed.hostname)\n           and parsed.username is None and parsed.password is None and \"#\" not in image\n           and not any(ord(c)<32 or ord(c)==127 for c in image)\n           and re.search(r\"%(?![0-9A-Fa-f]{2})\",image) is None)\nexcept ValueError:\n    valid=False\nif not valid:\n    raise SystemExit(\"Use your actual HTTPS image URL with a hostname, no userinfo and no fragment\")\np={\"model\":\"google/veo-3.1-lite\",\"prompt\":\"The subject makes a slow, natural movement. Keep the opening composition.\",\"duration\":4,\"resolution\":\"720p\",\"aspect_ratio\":\"16:9\",\"generate_audio\":False,\"frame_images\":[{\"type\":\"image_url\",\"image_url\":{\"url\":image},\"frame_type\":\"first_frame\"}]}\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False),encoding=\"utf-8\")\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, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.\")\nPY_RESULT\n",
            "label": "curl · animate your first frame",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.06",
                "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.24",
                "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.24",
                "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": "google/veo-3.1-lite",
        "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.16",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.1",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.1",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.1",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.1",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_720p",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.06",
            "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.24",
            "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.24",
            "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": "google/veo-3.1-lite",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "4ab0167ae0405db88b1b3b507b5626da28a2ff05bc0d85e104d64d9b0f38565f",
    "input_html_sha256": "b3a042910df4c2af636c5394b141da22a7e7a4ecbdaa118b0a79c2be4c43a3a0",
    "private_audit_sha256": "16ffe556372eb695952f52ac48a83190440f3a0fd667fb90c73a8ececf00320a",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/google-veo-3-1-lite/",
    "description": "Veo 3.1 Lite matn tavsifi yoki boshlang‘ich tasvirdan ichki audio bilan video yaratadi. Uning hujjatlashtirilgan Lite jarayoni 4, 6 yoki 8 soniyali, gorizontal yoki vertikal formatdagi bitta rolikni hosil qiladi; o‘ziga xos cheklovlari Veo 3.1 va Fast dan farq qiladi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/google-veo-3-1-lite/index.md",
    "title": "Google: Veo 3.1 Lite — Ailoot",
    "url": "https://ailoot.ai/models/uz/google-veo-3-1-lite/"
  },
  "rawModel": {
    "about": "Veo 3.1 Lite — Google’ning Veo 3 video yaratish qatoridagi Lite a’zosi. U tabiiy tildagi tavsif yoki kirish tasviridan ovozli video sintez qiladi. Natija mavjud yozuvning matnli tahlili emas, yaratilgan rolikdir. Ishlab chiqaruvchining Lite model kartasi asosiy arxitektura, o‘qitish materiali va ma’lum cheklovlar uchun Veo 3 ga havola qiladi, Lite ga xos hujjatlar esa o‘z yaratish imkoniyatlari va chegaralarini belgilaydi.\n\nKo‘rsatilgan arxitektura vaqt bo‘yicha audio ifodalari hamda fazo-vaqt video ifodalarida latent diffuziyadan foydalanadi. Asosiy model turli tafsilot darajasidagi yozuvlar bilan audio, video va tasvirlarda, filtrlab takrorlardan tozalangan o‘qitish materialida o‘qitilgan. Bu tasvir va audioni birgalikda yaratish maqsadini tushuntiradi. U Lite ga xos parametrlar sonini ochmaydi va har bir yaratilgan harakat fizik haqiqatga mos bo‘lishini tasdiqlamaydi. Amaliy sahna uchun ko‘rinadigan harakat va unga mos ovozni birga belgilang.\n\nAynan Lite hujjatlarida matn kirishi chegarasi 1,024 token va chiqish bitta video deb berilgan. Yaratish qo‘llanmasidagi Lite ustuni 4, 6 va 8 soniyali davomiyliklarni, standart sifatida 720p ni ko‘rsatadi; 1080p esa 8 soniyali rolikni talab qiladi. Standart tomonlar nisbati gorizontal 16:9, vertikal 9:16 ham ko‘rsatilgan; natija soniyasiga 24 kadr bilan hujjatlashtirilgan. Ushbu jarayonda ichki audio doimo yoqilgan. Bu qiymatlar aloqasiz Veo nashriga yoki alohida o‘lchangan ilova javobiga emas, ishlab chiqaruvchining nomlangan Lite jarayoniga tegishli.\n\nLite 4K natija yoki videoni uzaytirishni qo‘llamaydi. Parametrlar jadvalining Lite ustunida ko‘p namunali referenceImages imkoniyati va uzaytirish uchun video kirishi ham mavjud emas deb belgilangan. Boshlang‘ich tasvir birinchi kadrni belgilashi mumkin; jadval o‘tish uchun shu tasvir bilan birga lastFrame tasvirini ko‘rsatadi. Bu kadr nazorati yo‘lini bir nechta uslub yoki obyekt namunalarini aralashtirishdan alohida saqlang. Ishlab chiqaruvchining odamlarni yaratish sozlamalari rejimga xos: Lite jadvali matndan video uchun allow_all, tasvirdan video va interpolyatsiya uchun allow_adult ni ko‘rsatadi; mintaqaviy qoidalar bu hujjatlashtirilgan profilni yanada cheklashi mumkin. Harakat so‘rashdan avval obyekt, kadr kompozitsiyasi va ko‘rinadigan detallarni tayyorlab, boshlang‘ich tasvirni haqiqatan xohlagan birinchi sahnangizga mos tanlang.\n\nMatndan video uchun obyekt, uning harakati, muhit va kerakli uslubni tasvirlang. Muhim bo‘lsa kamera holati va harakati, kadr kompozitsiyasi, fokus hamda yorug‘likni qo‘shing. Mustaqil mahsulot sahnasida kamera materialning bitta detaliga yaqinlashayotgan va atrof yorug‘ligi ohista o‘zgarayotgan paytda obyekt markazda qolishi mumkin. Qisqa rolik bitta yaxlit g‘oyani yakunlashi uchun boshlang‘ich holat, asosiy harakat va oxirgi lahzani belgilang. Bir-biriga aloqasiz harakatlarning uzun to‘plami diqqat bitta narsaga qaratilgan kadrdan boshqa vazifadir.\n\nTasvirdan video uchun tiniq boshlang‘ich kadr bering va nima harakatlanishi, nima barqaror qolishi kerakligini tushuntiring. Obyekt harakati va kamera harakatini alohida belgilang. Yakuniy kadr cheklovidan foydalansangiz, mos yakuniy kompozitsiyani tayyorlang va ular orasidagi o‘tishni tasvirlang. So‘ralgan qiyofa, joy yoki shakl butun rolik davomida aynan bir xil qoladi deb o‘ylamasdan natijani tekshiring. Ko‘rsatilgan model kartasi murakkab sahnalar va murakkab harakatda to‘liq izchillikni davom etayotgan muammo sifatida qayd etadi.\n\nTopshiriq qo‘llanmasi dialog, ovoz effektlari va muhit uchun aniq ko‘rsatmalarni qo‘llaydi. Aniq nutqni qo‘shtirnoqda yozing, so‘zlovchini belgilang va tovushlarni ko‘rinadigan harakatga bog‘lab tasvirlang. Ovoz effekti va fon muhiti aytiladigan jumla bilan adashtirilmasligi kerak. Ingliz tili topshiriqlar uchun to‘liq qo‘llab-quvvatlanishi hujjatlashtirilgan, boshqa tillar esa ushbu qo‘llanmada baholanmagan. Audioni topshiriqning kafolatlangan aniq o‘qilishi deb qabul qilish o‘rniga eshitiladigan so‘zlar, vaqt va ovoz sifatini video bilan bir artefakt sifatida tekshiring.\n\nIshlab chiqaruvchi jarayoni asinxron: yaratish so‘rovi operatsiya qaytaradi, holati tugaganini bildirgach tayyor natija olinadi. Operatsiya identifikatsiyasini saqlang va qaytgan rolikni ko‘rib chiqing. Qo‘llanma ishlab chiqaruvchi tomonida ikki kun saqlash va SynthID belgilashni tasvirlaydi; shuning uchun saqlanadigan artefakt yuklab olingan natija, topshiriq, manba tasvirlari va tanlangan sozlamalarni qamrab olishi kerak. Seed takrorlanuvchanlikni yaxshilashi mumkin, lekin determinizmni kafolatlamaydi. Rolikni montajda ishlatishdan avval obyekt uzluksizligi, harakat, kadr kompozitsiyasi, ovoz va sahnaning kerakli yakunini tekshiring; ishlov tugashining o‘zi ijodiy talablar bajarilganini isbotlamaydi.",
    "alias_of": null,
    "aliases": [],
    "author": "Google",
    "available": null,
    "canonical_model": "google/veo-3.1-lite",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.24",
            "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.24",
            "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": "0cef71ecc22628ae52e06dd5",
        "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": "ovoz: with_audio"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.16",
                "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"
              }
            ]
          },
          {
            "basis": "Ko‘rsatilgan konfiguratsiya uchun e’lon qilingan narx ma’lumoti. Yakuniy to‘lovlar haq undirishda amalda qo‘llangan konfiguratsiya asosida hisoblanadi.",
            "dimensions": {
              "conditions": "ovoz: without_audio"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.1",
                "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"
              }
            ]
          },
          {
            "basis": "Ko‘rsatilgan konfiguratsiya uchun e’lon qilingan narx ma’lumoti. Yakuniy to‘lovlar haq undirishda amalda qo‘llangan konfiguratsiya asosida hisoblanadi.",
            "dimensions": {
              "conditions": "ovoz: with_audio; aniqlik: 720p"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.1",
                "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"
              }
            ]
          },
          {
            "basis": "Ko‘rsatilgan konfiguratsiya uchun e’lon qilingan narx ma’lumoti. Yakuniy to‘lovlar haq undirishda amalda qo‘llangan konfiguratsiya asosida hisoblanadi.",
            "dimensions": {
              "conditions": "ovoz: without_audio; aniqlik: 720p"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.06",
                "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": "google/veo-3.1-lite",
    "input": [
      "text",
      "image"
    ],
    "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": "Completeddata[] contains all owned signedcontentURLs. FetcheachactualURL,orusecontent?index=actualindex. Failedoriginaljobs maycarrycharge_pending_check; do not recreate.",
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              },
              {
                "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"
              },
              {
                "code": null,
                "condition": "Berilgan frame_images obyekti yoki uning shartli profilini tahlil qilib bo‘lmaydi yoxud to‘liq tahlil qilingan profil uchun tayyor aniq narx kartasi yo‘q.",
                "http_status": 422,
                "message": "The complete video request cannot be priced",
                "recovery": "model, prompt, duration, resolution, aspect_ratio va generate_audio ni saqlang. Belgilangan obyekt formatida aynan bitta first_frame elementi mavjud frame_images ni qo‘shing. duration=4, resolution=\"720p\", aspect_ratio=\"16:9\" va generate_audio=false qilib belgilang. Bu tekshiruv so‘rov yuborilishidan oldin bajariladi.",
                "type": "price_unavailable"
              }
            ],
            "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"
                ]
              },
              {
                "conditions": "The required fields are model, prompt, duration, resolution, aspect_ratio and generate_audio. For image_to_video, also provide frame_images and use duration=4, resolution=\"720p\", aspect_ratio=\"16:9\" and generate_audio=false.",
                "content_type": "application/json",
                "mode": "image_to_video",
                "required": [
                  "prompt",
                  "frame_images"
                ]
              }
            ],
            "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",
              "image_to_video"
            ],
            "outputs": {
              "all_results": "Yakunlangan data[] egalik qilinadigan barcha imzolangan mazmun URL larini saqlaydi. Qaytarilgan har bir URL ni oling yoki content endpointida index ni haqiqiy chiqish indeksiga teng qilib belgilang. Dastlabki vazifa muvaffaqiyatsiz bo‘lsa, charge_pending_check qaytishi mumkin; qayta yaratish o‘rniga shu dastlabki vazifani tekshiring. 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": [
                  "google/veo-3.1-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": 10000,
                "maximum_length": null,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "UTF8 baytlari"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "soniya"
              },
              {
                "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"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "text_to_video uchun yubormang. Yuborilsa: aynan bitta element {\"type\":\"image_url\",\"image_url\":{\"url\":\"<actual HTTPS URL>\"},\"frame_type\":\"first_frame\"}; elementda aynan type,image_url,frame_type bo‘ladi; image_url ichida aynan url bo‘ladi. Ortiqcha yoki takrorlangan kalitlar bo‘lmasin. Faqat duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false. URL tahlil qilinganda sxemasi https, xost nomi bo‘sh bo‘lmasligi, userinfo va bevosita # belgisi bo‘lmasligi kerak; imzolangan so‘rov qismi va kodlangan yo‘l saqlanadi. Manba kirish MIME turini, fayl hajmini yoki piksel o‘lchamlarini tekshirmaydi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "frame_images",
                "required": false,
                "type": "array"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "unsupported": [
              "Every field outside the original six required fields plus optional frame_images; last_frame, reference frames, multiple frames, non-HTTPS URLs, URL userinfo, URL fragments and other first-frame profiles are rejected."
            ]
          },
          "hints": [
            "Bir marta yarating va qaytarilgan ID ni saqlang.",
            "Dastlabki holatni so‘rab tekshiring; har bir yakunlangan aktivni va davomiylikni saqlang."
          ],
          "input": {
            "aspect_ratio": [
              "16:9",
              "9:16"
            ],
            "content_type": "application/json",
            "duration": [
              4,
              6,
              8
            ],
            "generate_audio": [
              false
            ],
            "material_types": [
              "text",
              "image"
            ],
            "other_options": false,
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "google/veo-3.1-lite"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum_bytes": 10000,
                "maximum_length": null,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string",
                "unit": "UTF8 baytlari"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  6,
                  8
                ],
                "enum_known": true,
                "name": "duration",
                "required": true,
                "type": "integer",
                "unit": "soniya"
              },
              {
                "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"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": true,
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "text_to_video uchun yubormang. Yuborilsa: aynan bitta element {\"type\":\"image_url\",\"image_url\":{\"url\":\"<actual HTTPS URL>\"},\"frame_type\":\"first_frame\"}; elementda aynan type,image_url,frame_type bo‘ladi; image_url ichida aynan url bo‘ladi. Ortiqcha yoki takrorlangan kalitlar bo‘lmasin. Faqat duration=4,resolution=\"720p\",aspect_ratio=\"16:9\",generate_audio=false. URL tahlil qilinganda sxemasi https, xost nomi bo‘sh bo‘lmasligi, userinfo va bevosita # belgisi bo‘lmasligi kerak; imzolangan so‘rov qismi va kodlangan yo‘l saqlanadi. Manba kirish MIME turini, fayl hajmini yoki piksel o‘lchamlarini tekshirmaydi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "frame_images",
                "required": false,
                "type": "array"
              }
            ],
            "prompt_max_bytes": 10000,
            "required": [
              "model",
              "prompt",
              "duration",
              "resolution",
              "aspect_ratio",
              "generate_audio"
            ],
            "resolution": [
              "720p"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual output index; default0"
                }
              },
              {
                "http": "GET",
                "path": "/v1/videos/generations/{request_id}/content"
              }
            ],
            "id_source": "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."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [
            "/v1/videos/generations",
            "/videos",
            "/videos/generations"
          ],
          "operation_modes": [
            "text_to_video",
            "image_to_video"
          ],
          "output": {
            "family": "video",
            "format": "mp4",
            "max_outputs": 4,
            "result": "all actual owned validated complete MP4 outputs"
          }
        },
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "ovoz: with_audio; aniqlik: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video narxi",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.06",
                "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.24",
                "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.24",
                "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\": \"google/veo-3.1-lite\", \"prompt\": \"A cat in a spacesuit walking on the Moon\", \"duration\": 4, \"resolution\": \"720p\", \"aspect_ratio\": \"16:9\", \"generate_audio\": false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\n",
            "label": "curl",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_IMAGE_URL:?Set the actual HTTPS URL of your first-frame image}\"\nexport AILOOT_IMAGE_URL\npython3 - <<'PY_REQUEST'\nimport json,os,re\nfrom pathlib import Path\nfrom urllib.parse import urlsplit\nimage=os.environ[\"AILOOT_IMAGE_URL\"]\ntry:\n    parsed=urlsplit(image)\n    valid=(image.startswith(\"https://\") and parsed.scheme==\"https\" and bool(parsed.hostname)\n           and parsed.username is None and parsed.password is None and \"#\" not in image\n           and not any(ord(c)<32 or ord(c)==127 for c in image)\n           and re.search(r\"%(?![0-9A-Fa-f]{2})\",image) is None)\nexcept ValueError:\n    valid=False\nif not valid:\n    raise SystemExit(\"Use your actual HTTPS image URL with a hostname, no userinfo and no fragment\")\np={\"model\":\"google/veo-3.1-lite\",\"prompt\":\"The subject makes a slow, natural movement. Keep the opening composition.\",\"duration\":4,\"resolution\":\"720p\",\"aspect_ratio\":\"16:9\",\"generate_audio\":False,\"frame_images\":[{\"type\":\"image_url\",\"image_url\":{\"url\":image},\"frame_type\":\"first_frame\"}]}\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False),encoding=\"utf-8\")\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, headers and original returned id. Use the existing GET status tab for that original operation, then save every completed owned output. Never resubmit an unknown generation.\")\nPY_RESULT\n",
            "label": "curl · animate your first frame",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o status.json\npython3 - <<'PY_STATUS'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"status.json\").read_text())\nprint(json.dumps(r))\nif r.get(\"status\")==\"completed\":\n    for x in r.get(\"data\",[]):print(x)\nPY_STATUS\n",
            "label": "GET status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_OPERATION_ID:?Set the actual Ailoot operation ID returned by creation}\"\nexport AILOOT_OPERATION_ID\noperation_id=$(python3 -c 'import os,urllib.parse;print(urllib.parse.quote(os.environ[\"AILOOT_OPERATION_ID\"],safe=\"\"))')\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/videos/$operation_id/content\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o video.mp4\n",
            "label": "GET content",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_STATUS_FILE:?Set the actual completed status JSON file}\"\nexport AILOOT_STATUS_FILE\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nfrom urllib.parse import urlsplit,urljoin\nf=Path(os.environ[\"AILOOT_STATUS_FILE\"])\nif not f.is_file():raise SystemExit(\"Choose the actual completed status file\")\nr=json.loads(f.read_text())\nif r.get(\"status\")!=\"completed\" or not isinstance(r.get(\"data\"),list) or not r[\"data\"]:raise SystemExit(\"Wait for a completed status with asset paths\")\nurls=[]\nfor x in r[\"data\"]:\n    if not isinstance(x,str) or \"\\n\" in x or \"\\r\" in x:raise SystemExit(\"Invalid asset path\")\n    u=urljoin(\"https://api.ailoot.ai\",x)\n    z=urlsplit(u)\n    if z.scheme!=\"https\" or z.netloc!=\"api.ailoot.ai\" or z.username or z.password:raise SystemExit(\"Use the actual Ailoot asset paths from status\")\n    urls.append(u)\nPath(\"asset-urls.txt\").write_text(\"\\n\".join(urls)+\"\\n\")\nPY_REQUEST\nindex=0\nwhile IFS= read -r asset_url; do\n  curl --fail-with-body --silent --show-error \"$asset_url\" \\\n    -H \"Authorization: Bearer $AILOOT_API_KEY\" -o \"video-${index}.mp4\"\n  index=$((index + 1))\ndone < asset-urls.txt\n",
            "label": "GET all completed assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [
          "Create once and save returned ID.",
          "Poll original status; retain every completed asset and duration."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.16",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.16",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: with_audio; resolution: 720p",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_with_audio_720p",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.1",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.1",
                "native_quantity": 1,
                "public_unit_label": "per video second",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_second"
              }
            ]
          },
          {
            "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": false,
              "quoted_unit": "per output video second",
              "resolution": "720p"
            },
            "label": "Ultra",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_exact_physical_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "duration_seconds_without_audio_720p",
                "label": "Estimated output video second",
                "native_amount_usd_per_unit": "0.06",
                "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.24",
                "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.24",
                "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": "google/veo-3.1-lite",
        "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.16",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.1",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_with_audio_720p",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.1",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.1",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.1",
            "native_quantity": 1,
            "public_unit_label": "per video second",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_second"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_physical_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "duration_seconds_without_audio_720p",
            "label": "Estimated output video second",
            "native_amount_usd_per_unit": "0.06",
            "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.24",
            "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.24",
            "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": "google/veo-3.1-lite",
        "request_model_id": "google/veo-3.1-lite",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Veo 3.1 Lite",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.24,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.24,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-lite-generate-preview",
          "resolution": "720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.10",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-lite-generate-preview",
              "resolution": "720p"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "audio": true,
          "native_model_id": "veo-3.1-lite-generate-preview",
          "resolution": "1080p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.16",
            "amount_unit": "usd_per_output_second",
            "conditions": {
              "audio": true,
              "native_model_id": "veo-3.1-lite-generate-preview",
              "resolution": "1080p"
            },
            "key": "output_video_audio",
            "label": "output video audio",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "output_second"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.16",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=true Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.16",
            "key": "duration_seconds_with_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.16",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.10",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "audio=false Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.10",
            "key": "duration_seconds_without_audio",
            "label": "output second",
            "native_amount_usd_per_unit": "0.10",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.10",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p · audio=true Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.10",
            "key": "duration_seconds_with_audio_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.10",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          },
          {
            "amount": "0.06",
            "amount_unit": "usd_per_exact_physical_unit",
            "basis": "resolution=720p · audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.06",
            "key": "duration_seconds_without_audio_720p",
            "label": "output second",
            "native_amount_usd_per_unit": "0.06",
            "native_quantity": 1,
            "quantity": 1,
            "side": "out",
            "unit": "output_second"
          }
        ]
      }
    ],
    "public_id": "google/veo-3.1-lite",
    "short": "Veo 3.1 Lite matn tavsifi yoki boshlang‘ich tasvirdan ichki audio bilan video yaratadi. Uning hujjatlashtirilgan Lite jarayoni 4, 6 yoki 8 soniyali, gorizontal yoki vertikal formatdagi bitta rolikni hosil qiladi; o‘ziga xos cheklovlari Veo 3.1 va Fast dan farq qiladi."
  },
  "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": "Veo 3.1 Lite matn tavsifi yoki boshlang‘ich tasvirdan ichki audio bilan video yaratadi. Uning hujjatlashtirilgan Lite jarayoni 4, 6 yoki 8 soniyali, gorizontal yoki vertikal formatdagi bitta rolikni hosil qiladi; o‘ziga xos cheklovlari Veo 3.1 va Fast dan farq qiladi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "2d19128f91aa53a8ffa7d5ad00dbe0e48bf43f16dcd967a1c2c07fd85d99a5ed",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "d68cb6aa0063a061c2dc1e8874f13a4d53ffe3cde3990d885dae7eede89cab3a"
}
