{
  "aboutHtml": "<p>FLUX Video Edit [fast] — mavjud videoni o‘zgartirish uchun Black Forest Labs ning ko‘rsatma orqali yo‘naltiriladigan jarayoni. U bitta asl klip va tahrirni tasvirlovchi yo‘riqni qabul qilib, tahrirlangan MP4 qaytaradi. Manba kadrni belgilaydi: davomiyligi, kadr tuzilishi, kamera harakati va vaqti boshlang‘ich tuzilmani beradi. Ko‘zlangan o‘zgarishni noaniq qoldiradigan butunlay yangi sahna tavsifini yozmay, nima boshqacha bo‘lishi kerakligini ko‘rsatmada belgilang.</p><h4>O‘zgarish va uning joyini nomlash</h4><p>Hujjatlashtirilgan tahrirlarga buyum va qahramonlarni olib tashlash, qo‘shish yoki almashtirish, muhitni qayta qurish, klip uslubini o‘zgartirish, ko‘rinadigan matn va dialog yoki tovushni tuzatish kiradi. Nishon va amaldan boshlang. Asl ko‘rsatma o‘tirgan odam va xonani saqlab, stuldagi sumkani olib tashlashi yoki qo‘l harakatini o‘zgartirmay oddiy krujkani ko‘k emalli krujkaga almashtirishi mumkin. Bir nechta o‘xshash buyum ko‘rinsa, nishonni joyi, ko‘rinishi yoki roli bilan farqlang.</p><p>Qo‘shishda joy, ko‘lam va tegishli harakatni tasvirlang. Divan yonidagi baland qizil chiroq kadrning qayeridadir noma’lum qo‘shimcha chiroqdan aniqroq. Almashtirishda nima nimaga aylanishini va qaysi harakat yoki kontakt qolishini belgilang. Yaratuvchining ko‘rsatma qo‘llanmasi o‘zgarishni to‘liq nomlaydigan eng qisqa yo‘riqni, tahrir talab qilgan joyda esa tafsilot qo‘shishni tavsiya qiladi. Doirasini baholab bo‘lmaydigan umumiy yaxshilashni so‘ramay, asl xususiyatlarni ataylab saqlang.</p><h4>Muhitlar, uslublar va qo‘pol animatsiya</h4><p>Muhit o‘zgarishi harakatni saqlagan holda ko‘rinadigan joyni qayta qurishi mumkin. Ishlab chiqaruvchi qahramon qo‘l va oyoqlari uchun mazmunli tayanch qolishi maqsadida tirmashish sirtini boshqa tuzilma bilan almashtirib, yangi kontakt nuqtalarini belgilashni namoyish etadi. Amaliy sahnada o‘zgargan atrof va mavjud harakat tayanuvchi geometriyani tasvirlang. Asl harakat bilan aniq munosabati bo‘lganda yangi fonni baholash osonroq.</p><p>Qo‘llanma qo‘pol animatsiyani yakuniy vizual ishlovga aylantirishni ham ko‘rsatadi. Qaysi dastlabki shakllar ko‘zlangan transport yoki rekvizitga aylanishini nomlang, keyin ularning yo‘llari, tezliklari va kamera bilan munosabatini saqlang. Uslub almashtirishda estetika bilan birga natijadagi materiallar, sirtlar, yorug‘lik va akslarni tasvirlang. Loyga o‘xshash sahna va fotografik sahna bir xil harakatga ergashsa ham turli ko‘rinadigan belgilarni talab qiladi.</p><p>Keyingi tuzatish birinchi tahrir natijasini yangi manba sifatida ishlatishi mumkin. Asl va har bir tanlangan bosqichni saqlang, keyingi o‘tishga esa bitta aniq maqsad bering. Hujjatlashtirilgan misol qo‘pol oldindan ko‘rishni tayyor muhitga, keyin boshqa yoritish ishloviga olib boradi. Har bir o‘tishdan keyin tahrirlangan klipni oldingi manba bilan solishtiring va saqlamoqchi bo‘lgan xususiyatlar hali borligini tekshiring.</p><h4>Dialog mavjud vaqtga sig‘ishi kerak</h4><p>Yo‘riq dialog yoki tovush o‘zgarishini so‘ramasa, jarayon asl audioni o‘tkazadi. Tovushsiz manba tovushsiz natija beradi; demak, unda tuzatish uchun mavjud nutq yo‘q. Dialog tahririda kerakli gapni qo‘shtirnoqda yozing, so‘zlovchini belgilang va yangi so‘zlarni asl gap egallagan vaqtga sig‘diring. Qo‘llanma uzunroq almashtirish mavjud nutq oralig‘idan oshganda kesilganini qayd etadi. Ko‘proq so‘z yozish mavjud kadr ichida qo‘shimcha gapirish vaqtini yaratmaydi.</p><p>Eshitiladigan gapni ko‘rinadigan ijro bilan birga tekshiring. Tushib qolgan so‘z, vaqti noto‘g‘ri ibora yoki keraksiz tovush o‘zgarishini aniqlash uchun asl so‘zlar va kerakli almashtirish nusxasini saqlang. Foydali natija — tahrirlangan sahna ichidagi tuzatilgan nutq lahzasi; render tugagani uchungina sodiq transkript deb taxmin qilingan narsa emas.</p><h4>Manba chegaralari va meros chiqish</h4><p>Aynan ishlab chiqaruvchi profili video va tahrir ko‘rsatmasini talab qiladi. Atrofidagi bo‘shliqlar olib tashlangach yo‘riq bir belgidan 4,096 belgigacha. Klip URL yoki kodlangan MP4 orqali beriladi; eng katta uzunligi o‘n besh soniya va kirish chegarasi ellik MiB. Har bir tomoni kamida 160 piksel, me’yorlashtirilgan klip esa 24 fps da kamida o‘n yetti kadr, taxminan soniyaning o‘ndan yetti qismiga ega bo‘lishi kerak. Ortiqcha uzun manbalar sezdirmay qirqilmay, rad etiladi; juda kichik manbalar qayta ishlashda xato berishi mumkin.</p><p>Hujjatlashtirilgan jarayon 24-fps qayta ishlashdan foydalanadi va asl uzunlik hamda tomonlar nisbatiga ergashadi. 720p profilidan yuqori kirishlar kichraytiriladi; yaratuvchi 1920×1088 manba 1248×704 bo‘lib qaytishini misol qiladi. Davomiylik, aniqlik va tomonlar nisbati bu tahrir profilida mustaqil chiqish sozlamalari emas. Sampling retsepti ichkarida boshqariladi; ko‘rsatilgan so‘rov shartlarida mode, version, seed yoki generate_audio kabi maydonlar qabul qilinmaydi.</p><p>Yangi yaratiladigan kadrga faqat harakat yoki uslub ilhomi sifatida ishlatilgan video boshqa jarayondir. Bu muharrir rasm namunasi, faqat audio kirishi, niqoblar yoki klipni uzaytirish so‘rovini qabul qilmaydi. Tahrirni yozishdan oldin o‘zgartiriladigan haqiqiy videoni tayyorlang va tanlangan davomiyligini saqlang. Asinxron qayta ishlashdan keyin ishlab chiqaruvchi tahrirlangan MP4 ni taxminan bir soat amal qiladigan vaqtinchalik imzolangan havola orqali qaytaradi. Klipni uzunroq montajda ishlatishdan oldin natijani saqlang va o‘zgargan buyum, atrof kadrlar, vaqt hamda audioni asl manba bilan solishtiring.</p>",
  "aboutText": "FLUX Video Edit [fast] — mavjud videoni o‘zgartirish uchun Black Forest Labs ning ko‘rsatma orqali yo‘naltiriladigan jarayoni. U bitta asl klip va tahrirni tasvirlovchi yo‘riqni qabul qilib, tahrirlangan MP4 qaytaradi. Manba kadrni belgilaydi: davomiyligi, kadr tuzilishi, kamera harakati va vaqti boshlang‘ich tuzilmani beradi. Ko‘zlangan o‘zgarishni noaniq qoldiradigan butunlay yangi sahna tavsifini yozmay, nima boshqacha bo‘lishi kerakligini ko‘rsatmada belgilang.\n\n### O‘zgarish va uning joyini nomlash\n\nHujjatlashtirilgan tahrirlarga buyum va qahramonlarni olib tashlash, qo‘shish yoki almashtirish, muhitni qayta qurish, klip uslubini o‘zgartirish, ko‘rinadigan matn va dialog yoki tovushni tuzatish kiradi. Nishon va amaldan boshlang. Asl ko‘rsatma o‘tirgan odam va xonani saqlab, stuldagi sumkani olib tashlashi yoki qo‘l harakatini o‘zgartirmay oddiy krujkani ko‘k emalli krujkaga almashtirishi mumkin. Bir nechta o‘xshash buyum ko‘rinsa, nishonni joyi, ko‘rinishi yoki roli bilan farqlang.\n\nQo‘shishda joy, ko‘lam va tegishli harakatni tasvirlang. Divan yonidagi baland qizil chiroq kadrning qayeridadir noma’lum qo‘shimcha chiroqdan aniqroq. Almashtirishda nima nimaga aylanishini va qaysi harakat yoki kontakt qolishini belgilang. Yaratuvchining ko‘rsatma qo‘llanmasi o‘zgarishni to‘liq nomlaydigan eng qisqa yo‘riqni, tahrir talab qilgan joyda esa tafsilot qo‘shishni tavsiya qiladi. Doirasini baholab bo‘lmaydigan umumiy yaxshilashni so‘ramay, asl xususiyatlarni ataylab saqlang.\n\n### Muhitlar, uslublar va qo‘pol animatsiya\n\nMuhit o‘zgarishi harakatni saqlagan holda ko‘rinadigan joyni qayta qurishi mumkin. Ishlab chiqaruvchi qahramon qo‘l va oyoqlari uchun mazmunli tayanch qolishi maqsadida tirmashish sirtini boshqa tuzilma bilan almashtirib, yangi kontakt nuqtalarini belgilashni namoyish etadi. Amaliy sahnada o‘zgargan atrof va mavjud harakat tayanuvchi geometriyani tasvirlang. Asl harakat bilan aniq munosabati bo‘lganda yangi fonni baholash osonroq.\n\nQo‘llanma qo‘pol animatsiyani yakuniy vizual ishlovga aylantirishni ham ko‘rsatadi. Qaysi dastlabki shakllar ko‘zlangan transport yoki rekvizitga aylanishini nomlang, keyin ularning yo‘llari, tezliklari va kamera bilan munosabatini saqlang. Uslub almashtirishda estetika bilan birga natijadagi materiallar, sirtlar, yorug‘lik va akslarni tasvirlang. Loyga o‘xshash sahna va fotografik sahna bir xil harakatga ergashsa ham turli ko‘rinadigan belgilarni talab qiladi.\n\nKeyingi tuzatish birinchi tahrir natijasini yangi manba sifatida ishlatishi mumkin. Asl va har bir tanlangan bosqichni saqlang, keyingi o‘tishga esa bitta aniq maqsad bering. Hujjatlashtirilgan misol qo‘pol oldindan ko‘rishni tayyor muhitga, keyin boshqa yoritish ishloviga olib boradi. Har bir o‘tishdan keyin tahrirlangan klipni oldingi manba bilan solishtiring va saqlamoqchi bo‘lgan xususiyatlar hali borligini tekshiring.\n\n### Dialog mavjud vaqtga sig‘ishi kerak\n\nYo‘riq dialog yoki tovush o‘zgarishini so‘ramasa, jarayon asl audioni o‘tkazadi. Tovushsiz manba tovushsiz natija beradi; demak, unda tuzatish uchun mavjud nutq yo‘q. Dialog tahririda kerakli gapni qo‘shtirnoqda yozing, so‘zlovchini belgilang va yangi so‘zlarni asl gap egallagan vaqtga sig‘diring. Qo‘llanma uzunroq almashtirish mavjud nutq oralig‘idan oshganda kesilganini qayd etadi. Ko‘proq so‘z yozish mavjud kadr ichida qo‘shimcha gapirish vaqtini yaratmaydi.\n\nEshitiladigan gapni ko‘rinadigan ijro bilan birga tekshiring. Tushib qolgan so‘z, vaqti noto‘g‘ri ibora yoki keraksiz tovush o‘zgarishini aniqlash uchun asl so‘zlar va kerakli almashtirish nusxasini saqlang. Foydali natija — tahrirlangan sahna ichidagi tuzatilgan nutq lahzasi; render tugagani uchungina sodiq transkript deb taxmin qilingan narsa emas.\n\n### Manba chegaralari va meros chiqish\n\nAynan ishlab chiqaruvchi profili video va tahrir ko‘rsatmasini talab qiladi. Atrofidagi bo‘shliqlar olib tashlangach yo‘riq bir belgidan 4,096 belgigacha. Klip URL yoki kodlangan MP4 orqali beriladi; eng katta uzunligi o‘n besh soniya va kirish chegarasi ellik MiB. Har bir tomoni kamida 160 piksel, me’yorlashtirilgan klip esa 24 fps da kamida o‘n yetti kadr, taxminan soniyaning o‘ndan yetti qismiga ega bo‘lishi kerak. Ortiqcha uzun manbalar sezdirmay qirqilmay, rad etiladi; juda kichik manbalar qayta ishlashda xato berishi mumkin.\n\nHujjatlashtirilgan jarayon 24-fps qayta ishlashdan foydalanadi va asl uzunlik hamda tomonlar nisbatiga ergashadi. 720p profilidan yuqori kirishlar kichraytiriladi; yaratuvchi 1920×1088 manba 1248×704 bo‘lib qaytishini misol qiladi. Davomiylik, aniqlik va tomonlar nisbati bu tahrir profilida mustaqil chiqish sozlamalari emas. Sampling retsepti ichkarida boshqariladi; ko‘rsatilgan so‘rov shartlarida mode, version, seed yoki generate_audio kabi maydonlar qabul qilinmaydi.\n\nYangi yaratiladigan kadrga faqat harakat yoki uslub ilhomi sifatida ishlatilgan video boshqa jarayondir. Bu muharrir rasm namunasi, faqat audio kirishi, niqoblar yoki klipni uzaytirish so‘rovini qabul qilmaydi. Tahrirni yozishdan oldin o‘zgartiriladigan haqiqiy videoni tayyorlang va tanlangan davomiyligini saqlang. Asinxron qayta ishlashdan keyin ishlab chiqaruvchi tahrirlangan MP4 ni taxminan bir soat amal qiladigan vaqtinchalik imzolangan havola orqali qaytaradi. Klipni uzunroq montajda ishlatishdan oldin natijani saqlang va o‘zgargan buyum, atrof kadrlar, vaqt hamda audioni asl manba bilan solishtiring.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "aeea96644dc225177d228f38c6725da9b123629c9920b0a3dce0051d6954d2f0",
    "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\">•</span><h2 id=\"sheet-title\">Black Forest Labs: FLUX Video Edit</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Black Forest Labs /</span><code>black-forest-labs/flux-video-edit</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|black-forest-labs%2Fflux-video-edit\">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\">FLUX Video Edit [fast] mavjud klipni yozma tahrir ko‘rsatmasi orqali o‘zgartiradi. Hujjatlashtirilgan manba uzunligi, kadr tuzilishi va audio shartlari doirasida elementlarni qo‘shing, olib tashlang yoki almashtiring, joy yoki uslubni o‘zgartiring va mavjud dialogni tuzating.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn · Rasmlar · Audio · Video</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>FLUX Video Edit [fast] — mavjud videoni o‘zgartirish uchun Black Forest Labs ning ko‘rsatma orqali yo‘naltiriladigan jarayoni. U bitta asl klip va tahrirni tasvirlovchi yo‘riqni qabul qilib, tahrirlangan MP4 qaytaradi. Manba kadrni belgilaydi: davomiyligi, kadr tuzilishi, kamera harakati va vaqti boshlang‘ich tuzilmani beradi. Ko‘zlangan o‘zgarishni noaniq qoldiradigan butunlay yangi sahna tavsifini yozmay, nima boshqacha bo‘lishi kerakligini ko‘rsatmada belgilang.</p><h4>O‘zgarish va uning joyini nomlash</h4><p>Hujjatlashtirilgan tahrirlarga buyum va qahramonlarni olib tashlash, qo‘shish yoki almashtirish, muhitni qayta qurish, klip uslubini o‘zgartirish, ko‘rinadigan matn va dialog yoki tovushni tuzatish kiradi. Nishon va amaldan boshlang. Asl ko‘rsatma o‘tirgan odam va xonani saqlab, stuldagi sumkani olib tashlashi yoki qo‘l harakatini o‘zgartirmay oddiy krujkani ko‘k emalli krujkaga almashtirishi mumkin. Bir nechta o‘xshash buyum ko‘rinsa, nishonni joyi, ko‘rinishi yoki roli bilan farqlang.</p><p>Qo‘shishda joy, ko‘lam va tegishli harakatni tasvirlang. Divan yonidagi baland qizil chiroq kadrning qayeridadir noma’lum qo‘shimcha chiroqdan aniqroq. Almashtirishda nima nimaga aylanishini va qaysi harakat yoki kontakt qolishini belgilang. Yaratuvchining ko‘rsatma qo‘llanmasi o‘zgarishni to‘liq nomlaydigan eng qisqa yo‘riqni, tahrir talab qilgan joyda esa tafsilot qo‘shishni tavsiya qiladi. Doirasini baholab bo‘lmaydigan umumiy yaxshilashni so‘ramay, asl xususiyatlarni ataylab saqlang.</p><h4>Muhitlar, uslublar va qo‘pol animatsiya</h4><p>Muhit o‘zgarishi harakatni saqlagan holda ko‘rinadigan joyni qayta qurishi mumkin. Ishlab chiqaruvchi qahramon qo‘l va oyoqlari uchun mazmunli tayanch qolishi maqsadida tirmashish sirtini boshqa tuzilma bilan almashtirib, yangi kontakt nuqtalarini belgilashni namoyish etadi. Amaliy sahnada o‘zgargan atrof va mavjud harakat tayanuvchi geometriyani tasvirlang. Asl harakat bilan aniq munosabati bo‘lganda yangi fonni baholash osonroq.</p><p>Qo‘llanma qo‘pol animatsiyani yakuniy vizual ishlovga aylantirishni ham ko‘rsatadi. Qaysi dastlabki shakllar ko‘zlangan transport yoki rekvizitga aylanishini nomlang, keyin ularning yo‘llari, tezliklari va kamera bilan munosabatini saqlang. Uslub almashtirishda estetika bilan birga natijadagi materiallar, sirtlar, yorug‘lik va akslarni tasvirlang. Loyga o‘xshash sahna va fotografik sahna bir xil harakatga ergashsa ham turli ko‘rinadigan belgilarni talab qiladi.</p><p>Keyingi tuzatish birinchi tahrir natijasini yangi manba sifatida ishlatishi mumkin. Asl va har bir tanlangan bosqichni saqlang, keyingi o‘tishga esa bitta aniq maqsad bering. Hujjatlashtirilgan misol qo‘pol oldindan ko‘rishni tayyor muhitga, keyin boshqa yoritish ishloviga olib boradi. Har bir o‘tishdan keyin tahrirlangan klipni oldingi manba bilan solishtiring va saqlamoqchi bo‘lgan xususiyatlar hali borligini tekshiring.</p><h4>Dialog mavjud vaqtga sig‘ishi kerak</h4><p>Yo‘riq dialog yoki tovush o‘zgarishini so‘ramasa, jarayon asl audioni o‘tkazadi. Tovushsiz manba tovushsiz natija beradi; demak, unda tuzatish uchun mavjud nutq yo‘q. Dialog tahririda kerakli gapni qo‘shtirnoqda yozing, so‘zlovchini belgilang va yangi so‘zlarni asl gap egallagan vaqtga sig‘diring. Qo‘llanma uzunroq almashtirish mavjud nutq oralig‘idan oshganda kesilganini qayd etadi. Ko‘proq so‘z yozish mavjud kadr ichida qo‘shimcha gapirish vaqtini yaratmaydi.</p><p>Eshitiladigan gapni ko‘rinadigan ijro bilan birga tekshiring. Tushib qolgan so‘z, vaqti noto‘g‘ri ibora yoki keraksiz tovush o‘zgarishini aniqlash uchun asl so‘zlar va kerakli almashtirish nusxasini saqlang. Foydali natija — tahrirlangan sahna ichidagi tuzatilgan nutq lahzasi; render tugagani uchungina sodiq transkript deb taxmin qilingan narsa emas.</p><h4>Manba chegaralari va meros chiqish</h4><p>Aynan ishlab chiqaruvchi profili video va tahrir ko‘rsatmasini talab qiladi. Atrofidagi bo‘shliqlar olib tashlangach yo‘riq bir belgidan 4,096 belgigacha. Klip URL yoki kodlangan MP4 orqali beriladi; eng katta uzunligi o‘n besh soniya va kirish chegarasi ellik MiB. Har bir tomoni kamida 160 piksel, me’yorlashtirilgan klip esa 24 fps da kamida o‘n yetti kadr, taxminan soniyaning o‘ndan yetti qismiga ega bo‘lishi kerak. Ortiqcha uzun manbalar sezdirmay qirqilmay, rad etiladi; juda kichik manbalar qayta ishlashda xato berishi mumkin.</p><p>Hujjatlashtirilgan jarayon 24-fps qayta ishlashdan foydalanadi va asl uzunlik hamda tomonlar nisbatiga ergashadi. 720p profilidan yuqori kirishlar kichraytiriladi; yaratuvchi 1920×1088 manba 1248×704 bo‘lib qaytishini misol qiladi. Davomiylik, aniqlik va tomonlar nisbati bu tahrir profilida mustaqil chiqish sozlamalari emas. Sampling retsepti ichkarida boshqariladi; ko‘rsatilgan so‘rov shartlarida mode, version, seed yoki generate_audio kabi maydonlar qabul qilinmaydi.</p><p>Yangi yaratiladigan kadrga faqat harakat yoki uslub ilhomi sifatida ishlatilgan video boshqa jarayondir. Bu muharrir rasm namunasi, faqat audio kirishi, niqoblar yoki klipni uzaytirish so‘rovini qabul qilmaydi. Tahrirni yozishdan oldin o‘zgartiriladigan haqiqiy videoni tayyorlang va tanlangan davomiyligini saqlang. Asinxron qayta ishlashdan keyin ishlab chiqaruvchi tahrirlangan MP4 ni taxminan bir soat amal qiladigan vaqtinchalik imzolangan havola orqali qaytaradi. Klipni uzunroq montajda ishlatishdan oldin natijani saqlang va o‘zgargan buyum, atrof kadrlar, vaqt hamda audioni asl manba bilan solishtiring.</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 yaratish</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code>, <code>image</code>, <code>audio</code>, <code>video</code></dd></div><div><dt>Chiqish</dt><dd><code>video</code></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><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>black-forest-labs/flux-video-edit</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input_references</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>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Elementlarning eng kam soni: 1</div><div>Elementlarning eng ko‘p soni: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><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></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><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, input_references, prompt</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, audio, video</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_conditions</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>Egalik qilinadigan haqiqiy yakunlangan video aktivining qaytarilgan imzosi bilan aynan bitta mazmun URL idan foydalaning. Aktiv egasi, turi va saqlangan bayt dalili so‘rovga mos bo‘lishi kerak.</td></tr></tbody></table></div><p>Hayot sikli: <code>asynchronous_job_then_owned_outputs</code></p><p class=\"note-s\"><code>GET /v1/videos/{request_id}</code> · haqiqatda qaytarilgan id yoki polling_url</p><p class=\"note-s\"><code>GET /v1/videos/{request_id}/content</code></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>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=\"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=\"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>Ushbu narxlash kalitida qo‘shimcha shart ko‘rsatilmagan.</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.06</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>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=\"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.06</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></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Video yaratish</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-1095-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1095-panel-0\" aria-selected=\"true\" tabindex=\"0\">Haqiqiy kirish ma’lumotlaridan foydalaning va natijani to‘liq saqlang</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-1095-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1095-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}&quot;\nexport AILOOT_INPUT_REFERENCES_JSON\n: &quot;${AILOOT_PROMPT:?Set the actual documented input value}&quot;\nexport AILOOT_PROMPT\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\nrequest={&#39;model&#39;: &#39;black-forest-labs/flux-video-edit&#39;, &#39;input_references&#39;: &#39;${ACTUAL_OWNED_INPUT_REFERENCES}&#39;, &#39;prompt&#39;: &#39;${ACTUAL_EDIT_PROMPT}&#39;}\nrequest[&#39;input_references&#39;]=json.loads(os.environ[&#39;AILOOT_INPUT_REFERENCES_JSON&#39;])\nrequest[&#39;prompt&#39;]=os.environ[&#39;AILOOT_PROMPT&#39;]\nPath(&#39;request.json&#39;).write_text(json.dumps(request,ensure_ascii=False),encoding=&#39;utf-8&#39;)\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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\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 yaratish</h4><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{request_id}</code></li><li><code>GET /v1/videos/{request_id}/content</code></li></ul><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-1096-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1096-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-1096-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1096-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><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\">To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">X-Client-Request-ID, X-Ailoot-Task-Id va haqiqatda qaytarilgan id/polling_url ni saqlang. Dastlabki vazifani davom ettiring; yaratish so‘rovini qayta yubormang.</p></div><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></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></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></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></td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">outputs[]</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span></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=black-forest-labs%2Fflux-video-edit&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux-video-edit&amp;fmt=videos\"><code>black-forest-labs/flux-video-edit</code></a></span></p><h4>Usul yo‘llari taxalluslari</h4><p class=\"note-s\">Yuqorida ko‘rsatilgan usul yo‘llaridan foydalaning.</p><h4>Chaqirish uchun tegishli ID lar</h4><p class=\"note-s\"><a href=\"#m=black-forest-labs%2Fflux-video-edit&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux-video-edit&amp;fmt=videos\"><code>black-forest-labs/flux-video-edit</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "black-forest-labs/flux-video-edit",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|black-forest-labs%2Fflux-video-edit",
      "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": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "X-Client-Request-ID, X-Ailoot-Task-Id va haqiqatda qaytarilgan id/polling_url ni saqlang. Dastlabki vazifani davom ettiring; yaratish so‘rovini qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "black-forest-labs/flux-video-edit"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "max_length": 4096,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux-video-edit"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 4096,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "black-forest-labs/flux-video-edit",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Egalik qilinadigan haqiqiy yakunlangan video aktivining qaytarilgan imzosi bilan aynan bitta mazmun URL idan foydalaning. Aktiv egasi, turi va saqlangan bayt dalili so‘rovga mos bo‘lishi kerak."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "haqiqatda qaytarilgan id yoki polling_url",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "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.06",
                "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.06",
                "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}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'black-forest-labs/flux-video-edit', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "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": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Video yaratish",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "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.06",
                "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.06",
                "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": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "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.06",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.06",
            "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_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "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": "black-forest-labs/flux-video-edit",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "d9344f68581102db38b4a936704213a450fb66a3b89b2250b8ef6e4edef62979",
    "input_html_sha256": "e50434b7aeb2d8963ae6b6c220d4898e9df7e3d2bd653961557f754c0d8de582",
    "private_audit_sha256": "98e514b60dc60db389fb2b050dee98d41ac6264bcbd5e53ba0c27e11da4db7de",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/black-forest-labs-flux-video-edit/",
    "description": "FLUX Video Edit [fast] mavjud klipni yozma tahrir ko‘rsatmasi orqali o‘zgartiradi. Hujjatlashtirilgan manba uzunligi, kadr tuzilishi va audio shartlari doirasida elementlarni qo‘shing, olib tashlang yoki almashtiring, joy yoki uslubni o‘zgartiring va mavjud dialogni tuzating.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/black-forest-labs-flux-video-edit/index.md",
    "title": "Black Forest Labs: FLUX Video Edit — Ailoot",
    "url": "https://ailoot.ai/models/uz/black-forest-labs-flux-video-edit/"
  },
  "rawModel": {
    "about": "FLUX Video Edit [fast] — mavjud videoni o‘zgartirish uchun Black Forest Labs ning ko‘rsatma orqali yo‘naltiriladigan jarayoni. U bitta asl klip va tahrirni tasvirlovchi yo‘riqni qabul qilib, tahrirlangan MP4 qaytaradi. Manba kadrni belgilaydi: davomiyligi, kadr tuzilishi, kamera harakati va vaqti boshlang‘ich tuzilmani beradi. Ko‘zlangan o‘zgarishni noaniq qoldiradigan butunlay yangi sahna tavsifini yozmay, nima boshqacha bo‘lishi kerakligini ko‘rsatmada belgilang.\n\n### O‘zgarish va uning joyini nomlash\n\nHujjatlashtirilgan tahrirlarga buyum va qahramonlarni olib tashlash, qo‘shish yoki almashtirish, muhitni qayta qurish, klip uslubini o‘zgartirish, ko‘rinadigan matn va dialog yoki tovushni tuzatish kiradi. Nishon va amaldan boshlang. Asl ko‘rsatma o‘tirgan odam va xonani saqlab, stuldagi sumkani olib tashlashi yoki qo‘l harakatini o‘zgartirmay oddiy krujkani ko‘k emalli krujkaga almashtirishi mumkin. Bir nechta o‘xshash buyum ko‘rinsa, nishonni joyi, ko‘rinishi yoki roli bilan farqlang.\n\nQo‘shishda joy, ko‘lam va tegishli harakatni tasvirlang. Divan yonidagi baland qizil chiroq kadrning qayeridadir noma’lum qo‘shimcha chiroqdan aniqroq. Almashtirishda nima nimaga aylanishini va qaysi harakat yoki kontakt qolishini belgilang. Yaratuvchining ko‘rsatma qo‘llanmasi o‘zgarishni to‘liq nomlaydigan eng qisqa yo‘riqni, tahrir talab qilgan joyda esa tafsilot qo‘shishni tavsiya qiladi. Doirasini baholab bo‘lmaydigan umumiy yaxshilashni so‘ramay, asl xususiyatlarni ataylab saqlang.\n\n### Muhitlar, uslublar va qo‘pol animatsiya\n\nMuhit o‘zgarishi harakatni saqlagan holda ko‘rinadigan joyni qayta qurishi mumkin. Ishlab chiqaruvchi qahramon qo‘l va oyoqlari uchun mazmunli tayanch qolishi maqsadida tirmashish sirtini boshqa tuzilma bilan almashtirib, yangi kontakt nuqtalarini belgilashni namoyish etadi. Amaliy sahnada o‘zgargan atrof va mavjud harakat tayanuvchi geometriyani tasvirlang. Asl harakat bilan aniq munosabati bo‘lganda yangi fonni baholash osonroq.\n\nQo‘llanma qo‘pol animatsiyani yakuniy vizual ishlovga aylantirishni ham ko‘rsatadi. Qaysi dastlabki shakllar ko‘zlangan transport yoki rekvizitga aylanishini nomlang, keyin ularning yo‘llari, tezliklari va kamera bilan munosabatini saqlang. Uslub almashtirishda estetika bilan birga natijadagi materiallar, sirtlar, yorug‘lik va akslarni tasvirlang. Loyga o‘xshash sahna va fotografik sahna bir xil harakatga ergashsa ham turli ko‘rinadigan belgilarni talab qiladi.\n\nKeyingi tuzatish birinchi tahrir natijasini yangi manba sifatida ishlatishi mumkin. Asl va har bir tanlangan bosqichni saqlang, keyingi o‘tishga esa bitta aniq maqsad bering. Hujjatlashtirilgan misol qo‘pol oldindan ko‘rishni tayyor muhitga, keyin boshqa yoritish ishloviga olib boradi. Har bir o‘tishdan keyin tahrirlangan klipni oldingi manba bilan solishtiring va saqlamoqchi bo‘lgan xususiyatlar hali borligini tekshiring.\n\n### Dialog mavjud vaqtga sig‘ishi kerak\n\nYo‘riq dialog yoki tovush o‘zgarishini so‘ramasa, jarayon asl audioni o‘tkazadi. Tovushsiz manba tovushsiz natija beradi; demak, unda tuzatish uchun mavjud nutq yo‘q. Dialog tahririda kerakli gapni qo‘shtirnoqda yozing, so‘zlovchini belgilang va yangi so‘zlarni asl gap egallagan vaqtga sig‘diring. Qo‘llanma uzunroq almashtirish mavjud nutq oralig‘idan oshganda kesilganini qayd etadi. Ko‘proq so‘z yozish mavjud kadr ichida qo‘shimcha gapirish vaqtini yaratmaydi.\n\nEshitiladigan gapni ko‘rinadigan ijro bilan birga tekshiring. Tushib qolgan so‘z, vaqti noto‘g‘ri ibora yoki keraksiz tovush o‘zgarishini aniqlash uchun asl so‘zlar va kerakli almashtirish nusxasini saqlang. Foydali natija — tahrirlangan sahna ichidagi tuzatilgan nutq lahzasi; render tugagani uchungina sodiq transkript deb taxmin qilingan narsa emas.\n\n### Manba chegaralari va meros chiqish\n\nAynan ishlab chiqaruvchi profili video va tahrir ko‘rsatmasini talab qiladi. Atrofidagi bo‘shliqlar olib tashlangach yo‘riq bir belgidan 4,096 belgigacha. Klip URL yoki kodlangan MP4 orqali beriladi; eng katta uzunligi o‘n besh soniya va kirish chegarasi ellik MiB. Har bir tomoni kamida 160 piksel, me’yorlashtirilgan klip esa 24 fps da kamida o‘n yetti kadr, taxminan soniyaning o‘ndan yetti qismiga ega bo‘lishi kerak. Ortiqcha uzun manbalar sezdirmay qirqilmay, rad etiladi; juda kichik manbalar qayta ishlashda xato berishi mumkin.\n\nHujjatlashtirilgan jarayon 24-fps qayta ishlashdan foydalanadi va asl uzunlik hamda tomonlar nisbatiga ergashadi. 720p profilidan yuqori kirishlar kichraytiriladi; yaratuvchi 1920×1088 manba 1248×704 bo‘lib qaytishini misol qiladi. Davomiylik, aniqlik va tomonlar nisbati bu tahrir profilida mustaqil chiqish sozlamalari emas. Sampling retsepti ichkarida boshqariladi; ko‘rsatilgan so‘rov shartlarida mode, version, seed yoki generate_audio kabi maydonlar qabul qilinmaydi.\n\nYangi yaratiladigan kadrga faqat harakat yoki uslub ilhomi sifatida ishlatilgan video boshqa jarayondir. Bu muharrir rasm namunasi, faqat audio kirishi, niqoblar yoki klipni uzaytirish so‘rovini qabul qilmaydi. Tahrirni yozishdan oldin o‘zgartiriladigan haqiqiy videoni tayyorlang va tanlangan davomiyligini saqlang. Asinxron qayta ishlashdan keyin ishlab chiqaruvchi tahrirlangan MP4 ni taxminan bir soat amal qiladigan vaqtinchalik imzolangan havola orqali qaytaradi. Klipni uzunroq montajda ishlatishdan oldin natijani saqlang va o‘zgargan buyum, atrof kadrlar, vaqt hamda audioni asl manba bilan solishtiring.",
    "alias_of": null,
    "aliases": [],
    "author": "Black Forest Labs",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "video"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.06",
            "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.06",
            "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,
    "formats": [
      "videos"
    ],
    "id": "black-forest-labs/flux-video-edit",
    "input": [
      "text",
      "image",
      "audio",
      "video"
    ],
    "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": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{request_id}/content",
                  "query": {
                    "index": "actual zero-based output index from completed manifest"
                  }
                }
              ],
              "creation_id_field": "id",
              "media_library": {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              "mode": "asynchronous_job_then_owned_outputs",
              "operation_id_is_not_task_id": true,
              "output_content_response": "owned MP4 bytes with Range support",
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned id or polling_url",
                  "path": "/v1/videos/{request_id}"
                }
              ],
              "unknown": "X-Client-Request-ID, X-Ailoot-Task-Id va haqiqatda qaytarilgan id/polling_url ni saqlang. Dastlabki vazifani davom ettiring; yaratish so‘rovini qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "video",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": null
                },
                {
                  "description": null,
                  "name": "status",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[]",
                  "type": null
                },
                {
                  "description": null,
                  "name": "outputs[]",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "black-forest-labs/flux-video-edit"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "items": {
                  "additionalProperties": false,
                  "properties": {
                    "type": {
                      "const": "video_url"
                    },
                    "video_url": {
                      "additionalProperties": false,
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    }
                  },
                  "required": [
                    "type",
                    "video_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 1,
                "name": "input_references",
                "required": true,
                "type": "array"
              },
              {
                "max_length": 4096,
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              }
            ],
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "input_references": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "type": {
                        "const": "video_url"
                      },
                      "video_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      }
                    },
                    "required": [
                      "type",
                      "video_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux-video-edit"
                  ],
                  "type": "string"
                },
                "prompt": {
                  "maxLength": 4096,
                  "minLength": 1,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "input_references",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "input_references": "${ACTUAL_OWNED_INPUT_REFERENCES}",
                "model": "black-forest-labs/flux-video-edit",
                "prompt": "${ACTUAL_EDIT_PROMPT}"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_conditions": [
              "Egalik qilinadigan haqiqiy yakunlangan video aktivining qaytarilgan imzosi bilan aynan bitta mazmun URL idan foydalaning. Aktiv egasi, turi va saqlangan bayt dalili so‘rovga mos bo‘lishi kerak."
            ],
            "material_types": [
              "text",
              "image",
              "audio",
              "video"
            ],
            "required": [
              "model",
              "input_references",
              "prompt"
            ]
          },
          "lifecycle": {
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{request_id}/content",
                "query": {
                  "index": "actual zero-based output index from completed manifest"
                }
              }
            ],
            "creation_id_field": "id",
            "media_library": {
              "http": "GET",
              "path": "/v1/media/assets"
            },
            "mode": "asynchronous_job_then_owned_outputs",
            "operation_id_is_not_task_id": true,
            "output_content_response": "owned MP4 bytes with Range support",
            "status": [
              {
                "http": "GET",
                "id_source": "haqiqatda qaytarilgan id yoki polling_url",
                "path": "/v1/videos/{request_id}"
              }
            ],
            "unknown": "Keep X-Client-Request-ID, X-Ailoot-Task-Id and actual returned id/polling_url. Continue the original job; do not submit creation again."
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "video",
            "fields": [
              {
                "description": null,
                "name": "id",
                "type": null
              },
              {
                "description": null,
                "name": "status",
                "type": null
              },
              {
                "description": null,
                "name": "data[]",
                "type": null
              },
              {
                "description": null,
                "name": "outputs[]",
                "type": null
              }
            ]
          }
        },
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "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.06",
                "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.06",
                "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}\"\n: \"${AILOOT_INPUT_REFERENCES_JSON:?Set the actual documented input value}\"\nexport AILOOT_INPUT_REFERENCES_JSON\n: \"${AILOOT_PROMPT:?Set the actual documented input value}\"\nexport AILOOT_PROMPT\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\nrequest={'model': 'black-forest-labs/flux-video-edit', 'input_references': '${ACTUAL_OWNED_INPUT_REFERENCES}', 'prompt': '${ACTUAL_EDIT_PROMPT}'}\nrequest['input_references']=json.loads(os.environ['AILOOT_INPUT_REFERENCES_JSON'])\nrequest['prompt']=os.environ['AILOOT_PROMPT']\nPath('request.json').write_text(json.dumps(request,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 response.bin\n# Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.\n",
            "label": "Use actual input and retain the complete result",
            "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": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio",
          "video"
        ],
        "label": "Video yaratish",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "native_endpoint": "videos",
        "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": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per video second"
            },
            "label": "Video price",
            "units": [
              {
                "amount": "0.06",
                "amount_unit": "usd_per_video_second",
                "billing_input": false,
                "estimate_only": true,
                "key": "cents_per_second_output",
                "label": "Video price",
                "native_amount_usd_per_unit": "0.06",
                "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": "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.06",
                "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.06",
                "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": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{request_id}"
        ],
        "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.06",
            "amount_unit": "usd_per_video_second",
            "billing_input": false,
            "estimate_only": true,
            "key": "cents_per_second_output",
            "label": "Video price",
            "native_amount_usd_per_unit": "0.06",
            "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_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.06",
            "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": "black-forest-labs/flux-video-edit",
        "request_model_id": "black-forest-labs/flux-video-edit",
        "route_label": "Ultra"
      }
    ],
    "name": "Black Forest Labs: FLUX Video Edit",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.06,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.06,
      "varies": false
    },
    "short": "FLUX Video Edit [fast] mavjud klipni yozma tahrir ko‘rsatmasi orqali o‘zgartiradi. Hujjatlashtirilgan manba uzunligi, kadr tuzilishi va audio shartlari doirasida elementlarni qo‘shing, olib tashlang yoki almashtiring, joy yoki uslubni o‘zgartiring va mavjud dialogni tuzating."
  },
  "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": "FLUX Video Edit [fast] mavjud klipni yozma tahrir ko‘rsatmasi orqali o‘zgartiradi. Hujjatlashtirilgan manba uzunligi, kadr tuzilishi va audio shartlari doirasida elementlarni qo‘shing, olib tashlang yoki almashtiring, joy yoki uslubni o‘zgartiring va mavjud dialogni tuzating.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "727d933d63fcc6fcc097286b94592ca3e6abf9621456572f72314d9f0035fb60",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "1e716dc2c56f9cdc2dee78dc4bab551aa1b6bf7e3e67f319f86a6f99b3fb6929"
}
