{
  "aboutHtml": "<p>Seedance 2.0 Fast — ByteDance Seed ning Seedance 2.0 oilasidagi tezlikka yo‘naltirilgan nashri. U video va audioni birga yaratishni, matn, rasm, video va tovushdan tuzilgan multimodal topshiriqni qo‘llab-quvvatlaydi. Ijodiy imkoniyatlariga yangi namuna asosidagi sahnalar, mavjud lavhalarni tahrirlash va sahnani uzaytirish kiradi; hujjatlashtirilgan chiqish darajalari 480p va 720p.</p><h4>Multimodal namuna: materialga rol berish</h4><p>Rasm qahramon, mahsulot, kompozitsiya yoki vizual ishlovni berishi mumkin. Namuna video harakat, kamera yurishi yoki effektni berishi mumkin. Namuna audio ovoz tembri, musiqiy kuy yoki dialog mazmunini berishi mumkin. Har bir manbaning qaysi qismini yangi sahnaga ko‘chirmoqchi ekaningizni tushuntiring; namuna aniq ijodiy rolga ega bo‘lsa foydaliroq.</p><p>Masalan: “Image 1 dagi keramik chiroqni mahsulot sifatida ishlating. Video 1 dagi sekin kamera aylanishini takrorlang, lekin chiroqni sokin o‘qish burchagiga joylang. Musiqiy kayfiyat uchun Audio 1 dan foydalaning.” Ko‘zlangan chiqish namunalarning har bir detaliga noaniq taqlid emas, tanlangan ko‘rinish, harakat va tovush yo‘nalishini birlashtirgan yangi sahnadir.</p><p>Hujjatlashtirilgan birikmalar rasm va audio, rasm va video, video va audio hamda uchalasini birga o‘z ichiga oladi. Faqat matn va audio, shuningdek faqat audio kirishi qo‘llab-quvvatlanmaydi. Model matndan video hamda birinchi kadr yoki birinchi va oxirgi kadr juftidan rasmga asoslangan yaratishni ham qo‘llab-quvvatlaydi. Aniq chegara kadr topshiriqning asosiy sharti bo‘lsa, maxsus chegara kadr jarayonidan foydalaning; omni-reference ko‘rsatmasida namuna rasmini chegara kadr deb tasvirlash bilvosita boshqaruvdir.</p><h4>Mavjud videoni tahrirlash</h4><p>Model elementlarni qo‘shishi, olib tashlashi yoki o‘zgartirishi, obyektni almashtirishi va sahna qismlarini qayta chizishi yoki tuzatishi mumkin. Asl video, o‘zgartiriladigan buyum va qolishi kerak bo‘lgan elementlarni belgilang. Qo‘shishda qayerda va qachon paydo bo‘lishini tasvirlang. Olib tashlashda buyumni butun klip davomida izchil belgilang.</p><p>Amaliy tahrir topshirig‘i namoyishdagi oddiy shishani Image 1 dagi shisha bilan almashtirishi, Video 1 ning qo‘l harakati, foni va kamera yo‘lini saqlashni so‘rashi mumkin. Almashtirishni ham, barqaror qolishi kerak bo‘lgan sohalarni ham tekshiring. Saqlashga doir aniq ko‘rsatmalar kerakli tahrirni baholashni umumiy “yaxshilash” so‘rovidan osonroq qiladi.</p><h4>Kliplarni uzaytirish va bog‘lash</h4><p>Seedance 2.0 Fast oldinga yoki orqaga uzaytirish va ikki yoki uch klipni yaratilgan o‘tishlar bilan bog‘lashni qo‘llab-quvvatlaydi. Uzaytirishda yangi harakat berilgan videodan oldinmi yoki keyinmi, ayting va shu harakatni tasvirlang. Bog‘lashda kliplarni kerakli tartibda bering va ularni tutashtiruvchi vizual voqeani tushuntiring.</p><p>Oddiy uzaytirish odatda butun asl klip takrorlanishini taxmin qilmay, asl lavha atrofida yangi yaratilgan davomni qaytaradi. Chiqish asl segmentni ham o‘z ichiga olishi kerak bo‘lsa, topshiriqda ayting. Ikki yoki uch video orasidagi o‘tishni to‘ldirganda hujjatlashtirilgan jarayon asl va yangi yaratilgan mazmunni birlashtirishi mumkin. Bu mahsulotning keng ko‘rinishini maqsadli kamera harakati orqali detal kadriga bog‘lash uchun foydali.</p><h4>Chiqish va nashr farqlari</h4><p>Hujjatlashtirilgan Fast chiqishi — 24 fps da MP4, 480p yoki 720p, 8-bit rang chuqurligi va 4–15 soniyalik kliplar. Qo‘llab-quvvatlanadigan nisbatlar 21:9, 16:9, 4:3, 1:1, 3:4 va 9:16. Standart Seedance 2.0 nashri 1080p va 4K chiqishni alohida sanaydi; bu darajalar Fast spetsifikatsiyasiga kirmaydi. 2.0 oilasi oxirgi yaratilgan kadrni qaytarishni qo‘llab-quvvatlaydi, ammo alohida Draft oldindan ko‘rish rejimini qo‘llab-quvvatlamaydi.</p><p>Audio lavha bilan yaratilishi yoki tovushsiz klip uchun o‘chirilishi mumkin. Yaratilgan audio mono. Hujjatlashtirilgan ko‘rsatma tillariga ingliz, ispan, indonez, portugal va yapon kiradi. Dialog ichida aytiladigan tilni izchil saqlang; qo‘llanma atoqli otlardan tashqari tillarni aralashtirmaslikni maslahat beradi. Ovozli sahnada so‘zlovchini nomlang, gapni qo‘shtirnoqqa oling, keyin ijro va tegishli tovush effektlarini belgilang. Kerakli ijroni tanlangan klip uzunligiga mos tuting.</p><h4>Namunalarni tayyorlash va kirish chegaralari</h4><p>Hujjatlashtirilgan namuna chegaralari to‘qqiztagacha rasm, uchta video va uchta audio klip. Ushbu hujjatlashtirilgan ishlab chiqaruvchi profilida haqiqiy inson yuzlari bor namuna rasm yoki videoni to‘g‘ridan-to‘g‘ri yuklash qabul qilinmaydi; portret ishi qo‘llab-quvvatlanadigan portret materiali jarayonidan foydalanadi. Har bir video yoki audio klip 2–15 soniya bo‘lishi kerak; videolarning umumiy davomiyligi ko‘pi bilan 15 soniya, audioniki alohida ko‘pi bilan 15 soniya. Video namunalari 24–60 fps da MP4 yoki MOV bo‘lib, har biri 200 MB dan oshmasligi kerak. Audio namunalari WAV yoki MP3 bo‘lib, har biri 15 MB dan oshmasligi kerak. Rasm formatlari JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC va HEIF. Har bir rasm 30 MB dan kichik; umumiy so‘rov tanasi chegarasi 64 MB. Hujjatlashtirilgan namuna kirish profilida rasm eni va bo‘yi har biri qat’iy 300 bilan 6,000 piksel orasida, en–bo‘y nisbati qat’iy 0.4 bilan 2.5 orasida bo‘lishi kerak. Namuna videolarda har bir o‘lcham 300–6,000 piksel va nisbatlar 0.4–2.5, chegaralar ham kiradi; umumiy piksel soni 407,696–8,295,044. MP4 yoki MOV videolar H.264/AVC yoki H.265/HEVC video va AAC yoki MP3 audiodan foydalanadi.</p><p>Materiallarni tartiblang va izchil Image 1, Video 1 yoki Audio 1 deb atang. Material raqami bilan birga ko‘rinadigan obyektning nomi yoki farqlovchi belgisini ishlating. Chegara rasmlarining kadr tuzilishini kerakli video nisbatiga moslang, chunki nomoslik rasmni kesishi yoki keskin kadr o‘zgarishini keltirib chiqarishi mumkin. Topshiriqni ko‘chiriladigan xususiyatlar, yaratiladigan voqea va o‘zgarmasligi kerak bo‘lgan narsalarga qarating; uzun ko‘rsatma yo‘riqlarni tarqatib yuborib, ikkilamchi detallarni hal etmay qoldirishi mumkin.</p><h4>Kadr rejalash, matn va ma’lum xatti-harakatlar</h4><p>Murakkab topshiriqni Kadr 1, Kadr 2 va Kadr 3 qilib tuzing; har birida obyekt, harakat, joy va tovush aniq bo‘lsin. Qo‘llanma har bir kadrga bitta kamera harakatini tavsiya qiladi va aniq kadr vaqt belgilari beqarorligini aytadi. Har bir qahramonga barqaror belgi va bir necha farqlovchi xususiyat bering; yuz shaxsiyati muhim bo‘lsa, birlashtirilgan qahramonning turli tomondan ko‘rinishlar varag‘i o‘rniga alohida ravshan yuz surati va to‘liq gavda namunasidan foydalaning.</p><p>Model shior, subtitr va nutq pufaklari kabi odatiy matnlarni rang, uslub, joy va kirish yo‘riqlari bilan yaratishi mumkin. Noyob belgilar yoki maxsus ramzlardan ko‘ra odatiy belgilar afzal. Harflarni harakatda tekshiring. Keraksiz subtitrlar, logotiplar va takroriy qahramonlar hujjatlashtirilgan xatti-harakatlardir; aniq shartlar va toza namunalar ularni kamaytirishi mumkin, ammo yo‘qligini kafolatlamaydi. To‘rttadan ko‘p namuna shaxs barqarorlik xavfi sifatida qayd etilgan, qat’iy fayl soni cheklovi emas.</p><p>Takroriy uzaytirishlar tasvir sifati yo‘qolishini kuchaytirishi, uzaytirish ulanishi esa sakrashi yoki orqaga qaytishi mumkin. Ustma-ust davomlarni cheklang va montajda ulanishni tekshiring. Namuna ovoz tembri og‘ishi, bayon oxirida chertish paydo bo‘lishi va xitoy tilining ko‘p o‘qilishli yoki kam uchraydigan belgilari noto‘g‘ri talaffuz qilinishi mumkin. Aytilgan gap va yakuniy audioni tekshiring; audioni qisqa vaqt ichida sekin so‘ndirish keskin uzilishni yumshatishi mumkin. Ayniqsa nutq yoki qahramon davomiyligi hikoyani olib borganda, bu tekshiruvlar ijodiy natijani tayyorlashning bir qismidir.</p>",
  "aboutText": "Seedance 2.0 Fast — ByteDance Seed ning Seedance 2.0 oilasidagi tezlikka yo‘naltirilgan nashri. U video va audioni birga yaratishni, matn, rasm, video va tovushdan tuzilgan multimodal topshiriqni qo‘llab-quvvatlaydi. Ijodiy imkoniyatlariga yangi namuna asosidagi sahnalar, mavjud lavhalarni tahrirlash va sahnani uzaytirish kiradi; hujjatlashtirilgan chiqish darajalari 480p va 720p.\n\n### Multimodal namuna: materialga rol berish\n\nRasm qahramon, mahsulot, kompozitsiya yoki vizual ishlovni berishi mumkin. Namuna video harakat, kamera yurishi yoki effektni berishi mumkin. Namuna audio ovoz tembri, musiqiy kuy yoki dialog mazmunini berishi mumkin. Har bir manbaning qaysi qismini yangi sahnaga ko‘chirmoqchi ekaningizni tushuntiring; namuna aniq ijodiy rolga ega bo‘lsa foydaliroq.\n\nMasalan: “Image 1 dagi keramik chiroqni mahsulot sifatida ishlating. Video 1 dagi sekin kamera aylanishini takrorlang, lekin chiroqni sokin o‘qish burchagiga joylang. Musiqiy kayfiyat uchun Audio 1 dan foydalaning.” Ko‘zlangan chiqish namunalarning har bir detaliga noaniq taqlid emas, tanlangan ko‘rinish, harakat va tovush yo‘nalishini birlashtirgan yangi sahnadir.\n\nHujjatlashtirilgan birikmalar rasm va audio, rasm va video, video va audio hamda uchalasini birga o‘z ichiga oladi. Faqat matn va audio, shuningdek faqat audio kirishi qo‘llab-quvvatlanmaydi. Model matndan video hamda birinchi kadr yoki birinchi va oxirgi kadr juftidan rasmga asoslangan yaratishni ham qo‘llab-quvvatlaydi. Aniq chegara kadr topshiriqning asosiy sharti bo‘lsa, maxsus chegara kadr jarayonidan foydalaning; omni-reference ko‘rsatmasida namuna rasmini chegara kadr deb tasvirlash bilvosita boshqaruvdir.\n\n### Mavjud videoni tahrirlash\n\nModel elementlarni qo‘shishi, olib tashlashi yoki o‘zgartirishi, obyektni almashtirishi va sahna qismlarini qayta chizishi yoki tuzatishi mumkin. Asl video, o‘zgartiriladigan buyum va qolishi kerak bo‘lgan elementlarni belgilang. Qo‘shishda qayerda va qachon paydo bo‘lishini tasvirlang. Olib tashlashda buyumni butun klip davomida izchil belgilang.\n\nAmaliy tahrir topshirig‘i namoyishdagi oddiy shishani Image 1 dagi shisha bilan almashtirishi, Video 1 ning qo‘l harakati, foni va kamera yo‘lini saqlashni so‘rashi mumkin. Almashtirishni ham, barqaror qolishi kerak bo‘lgan sohalarni ham tekshiring. Saqlashga doir aniq ko‘rsatmalar kerakli tahrirni baholashni umumiy “yaxshilash” so‘rovidan osonroq qiladi.\n\n### Kliplarni uzaytirish va bog‘lash\n\nSeedance 2.0 Fast oldinga yoki orqaga uzaytirish va ikki yoki uch klipni yaratilgan o‘tishlar bilan bog‘lashni qo‘llab-quvvatlaydi. Uzaytirishda yangi harakat berilgan videodan oldinmi yoki keyinmi, ayting va shu harakatni tasvirlang. Bog‘lashda kliplarni kerakli tartibda bering va ularni tutashtiruvchi vizual voqeani tushuntiring.\n\nOddiy uzaytirish odatda butun asl klip takrorlanishini taxmin qilmay, asl lavha atrofida yangi yaratilgan davomni qaytaradi. Chiqish asl segmentni ham o‘z ichiga olishi kerak bo‘lsa, topshiriqda ayting. Ikki yoki uch video orasidagi o‘tishni to‘ldirganda hujjatlashtirilgan jarayon asl va yangi yaratilgan mazmunni birlashtirishi mumkin. Bu mahsulotning keng ko‘rinishini maqsadli kamera harakati orqali detal kadriga bog‘lash uchun foydali.\n\n### Chiqish va nashr farqlari\n\nHujjatlashtirilgan Fast chiqishi — 24 fps da MP4, 480p yoki 720p, 8-bit rang chuqurligi va 4–15 soniyalik kliplar. Qo‘llab-quvvatlanadigan nisbatlar 21:9, 16:9, 4:3, 1:1, 3:4 va 9:16. Standart Seedance 2.0 nashri 1080p va 4K chiqishni alohida sanaydi; bu darajalar Fast spetsifikatsiyasiga kirmaydi. 2.0 oilasi oxirgi yaratilgan kadrni qaytarishni qo‘llab-quvvatlaydi, ammo alohida Draft oldindan ko‘rish rejimini qo‘llab-quvvatlamaydi.\n\nAudio lavha bilan yaratilishi yoki tovushsiz klip uchun o‘chirilishi mumkin. Yaratilgan audio mono. Hujjatlashtirilgan ko‘rsatma tillariga ingliz, ispan, indonez, portugal va yapon kiradi. Dialog ichida aytiladigan tilni izchil saqlang; qo‘llanma atoqli otlardan tashqari tillarni aralashtirmaslikni maslahat beradi. Ovozli sahnada so‘zlovchini nomlang, gapni qo‘shtirnoqqa oling, keyin ijro va tegishli tovush effektlarini belgilang. Kerakli ijroni tanlangan klip uzunligiga mos tuting.\n\n### Namunalarni tayyorlash va kirish chegaralari\n\nHujjatlashtirilgan namuna chegaralari to‘qqiztagacha rasm, uchta video va uchta audio klip. Ushbu hujjatlashtirilgan ishlab chiqaruvchi profilida haqiqiy inson yuzlari bor namuna rasm yoki videoni to‘g‘ridan-to‘g‘ri yuklash qabul qilinmaydi; portret ishi qo‘llab-quvvatlanadigan portret materiali jarayonidan foydalanadi. Har bir video yoki audio klip 2–15 soniya bo‘lishi kerak; videolarning umumiy davomiyligi ko‘pi bilan 15 soniya, audioniki alohida ko‘pi bilan 15 soniya. Video namunalari 24–60 fps da MP4 yoki MOV bo‘lib, har biri 200 MB dan oshmasligi kerak. Audio namunalari WAV yoki MP3 bo‘lib, har biri 15 MB dan oshmasligi kerak. Rasm formatlari JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC va HEIF. Har bir rasm 30 MB dan kichik; umumiy so‘rov tanasi chegarasi 64 MB. Hujjatlashtirilgan namuna kirish profilida rasm eni va bo‘yi har biri qat’iy 300 bilan 6,000 piksel orasida, en–bo‘y nisbati qat’iy 0.4 bilan 2.5 orasida bo‘lishi kerak. Namuna videolarda har bir o‘lcham 300–6,000 piksel va nisbatlar 0.4–2.5, chegaralar ham kiradi; umumiy piksel soni 407,696–8,295,044. MP4 yoki MOV videolar H.264/AVC yoki H.265/HEVC video va AAC yoki MP3 audiodan foydalanadi.\n\nMateriallarni tartiblang va izchil Image 1, Video 1 yoki Audio 1 deb atang. Material raqami bilan birga ko‘rinadigan obyektning nomi yoki farqlovchi belgisini ishlating. Chegara rasmlarining kadr tuzilishini kerakli video nisbatiga moslang, chunki nomoslik rasmni kesishi yoki keskin kadr o‘zgarishini keltirib chiqarishi mumkin. Topshiriqni ko‘chiriladigan xususiyatlar, yaratiladigan voqea va o‘zgarmasligi kerak bo‘lgan narsalarga qarating; uzun ko‘rsatma yo‘riqlarni tarqatib yuborib, ikkilamchi detallarni hal etmay qoldirishi mumkin.\n\n### Kadr rejalash, matn va ma’lum xatti-harakatlar\n\nMurakkab topshiriqni Kadr 1, Kadr 2 va Kadr 3 qilib tuzing; har birida obyekt, harakat, joy va tovush aniq bo‘lsin. Qo‘llanma har bir kadrga bitta kamera harakatini tavsiya qiladi va aniq kadr vaqt belgilari beqarorligini aytadi. Har bir qahramonga barqaror belgi va bir necha farqlovchi xususiyat bering; yuz shaxsiyati muhim bo‘lsa, birlashtirilgan qahramonning turli tomondan ko‘rinishlar varag‘i o‘rniga alohida ravshan yuz surati va to‘liq gavda namunasidan foydalaning.\n\nModel shior, subtitr va nutq pufaklari kabi odatiy matnlarni rang, uslub, joy va kirish yo‘riqlari bilan yaratishi mumkin. Noyob belgilar yoki maxsus ramzlardan ko‘ra odatiy belgilar afzal. Harflarni harakatda tekshiring. Keraksiz subtitrlar, logotiplar va takroriy qahramonlar hujjatlashtirilgan xatti-harakatlardir; aniq shartlar va toza namunalar ularni kamaytirishi mumkin, ammo yo‘qligini kafolatlamaydi. To‘rttadan ko‘p namuna shaxs barqarorlik xavfi sifatida qayd etilgan, qat’iy fayl soni cheklovi emas.\n\nTakroriy uzaytirishlar tasvir sifati yo‘qolishini kuchaytirishi, uzaytirish ulanishi esa sakrashi yoki orqaga qaytishi mumkin. Ustma-ust davomlarni cheklang va montajda ulanishni tekshiring. Namuna ovoz tembri og‘ishi, bayon oxirida chertish paydo bo‘lishi va xitoy tilining ko‘p o‘qilishli yoki kam uchraydigan belgilari noto‘g‘ri talaffuz qilinishi mumkin. Aytilgan gap va yakuniy audioni tekshiring; audioni qisqa vaqt ichida sekin so‘ndirish keskin uzilishni yumshatishi mumkin. Ayniqsa nutq yoki qahramon davomiyligi hikoyani olib borganda, bu tekshiruvlar ijodiy natijani tayyorlashning bir qismidir.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "3c50c72f6267a88e1c6db08ad7cf1d289427dfed1a385b5e81ceb56f046975d4",
    "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\">ByteDance: Seedance 2.0 Fast</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>ByteDance /</span><code>bytedance/seedance-2.0-fast</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|bytedance%2Fseedance-2.0-fast\">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\">ByteDance Seedance 2.0 Fast matn, rasm, video va tovush namunalaridan audio-video sahnalar yaratadi. Tezlikka yo‘naltirilgan nashri harakat va uslub ko‘chirish, video tahrirlari va oldinga yoki orqaga uzaytirishni qo‘llab-quvvatlaydi; 480p va 720p chiqish hujjatlashtirilgan.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn · Rasmlar · Audio</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>Seedance 2.0 Fast — ByteDance Seed ning Seedance 2.0 oilasidagi tezlikka yo‘naltirilgan nashri. U video va audioni birga yaratishni, matn, rasm, video va tovushdan tuzilgan multimodal topshiriqni qo‘llab-quvvatlaydi. Ijodiy imkoniyatlariga yangi namuna asosidagi sahnalar, mavjud lavhalarni tahrirlash va sahnani uzaytirish kiradi; hujjatlashtirilgan chiqish darajalari 480p va 720p.</p><h4>Multimodal namuna: materialga rol berish</h4><p>Rasm qahramon, mahsulot, kompozitsiya yoki vizual ishlovni berishi mumkin. Namuna video harakat, kamera yurishi yoki effektni berishi mumkin. Namuna audio ovoz tembri, musiqiy kuy yoki dialog mazmunini berishi mumkin. Har bir manbaning qaysi qismini yangi sahnaga ko‘chirmoqchi ekaningizni tushuntiring; namuna aniq ijodiy rolga ega bo‘lsa foydaliroq.</p><p>Masalan: “Image 1 dagi keramik chiroqni mahsulot sifatida ishlating. Video 1 dagi sekin kamera aylanishini takrorlang, lekin chiroqni sokin o‘qish burchagiga joylang. Musiqiy kayfiyat uchun Audio 1 dan foydalaning.” Ko‘zlangan chiqish namunalarning har bir detaliga noaniq taqlid emas, tanlangan ko‘rinish, harakat va tovush yo‘nalishini birlashtirgan yangi sahnadir.</p><p>Hujjatlashtirilgan birikmalar rasm va audio, rasm va video, video va audio hamda uchalasini birga o‘z ichiga oladi. Faqat matn va audio, shuningdek faqat audio kirishi qo‘llab-quvvatlanmaydi. Model matndan video hamda birinchi kadr yoki birinchi va oxirgi kadr juftidan rasmga asoslangan yaratishni ham qo‘llab-quvvatlaydi. Aniq chegara kadr topshiriqning asosiy sharti bo‘lsa, maxsus chegara kadr jarayonidan foydalaning; omni-reference ko‘rsatmasida namuna rasmini chegara kadr deb tasvirlash bilvosita boshqaruvdir.</p><h4>Mavjud videoni tahrirlash</h4><p>Model elementlarni qo‘shishi, olib tashlashi yoki o‘zgartirishi, obyektni almashtirishi va sahna qismlarini qayta chizishi yoki tuzatishi mumkin. Asl video, o‘zgartiriladigan buyum va qolishi kerak bo‘lgan elementlarni belgilang. Qo‘shishda qayerda va qachon paydo bo‘lishini tasvirlang. Olib tashlashda buyumni butun klip davomida izchil belgilang.</p><p>Amaliy tahrir topshirig‘i namoyishdagi oddiy shishani Image 1 dagi shisha bilan almashtirishi, Video 1 ning qo‘l harakati, foni va kamera yo‘lini saqlashni so‘rashi mumkin. Almashtirishni ham, barqaror qolishi kerak bo‘lgan sohalarni ham tekshiring. Saqlashga doir aniq ko‘rsatmalar kerakli tahrirni baholashni umumiy “yaxshilash” so‘rovidan osonroq qiladi.</p><h4>Kliplarni uzaytirish va bog‘lash</h4><p>Seedance 2.0 Fast oldinga yoki orqaga uzaytirish va ikki yoki uch klipni yaratilgan o‘tishlar bilan bog‘lashni qo‘llab-quvvatlaydi. Uzaytirishda yangi harakat berilgan videodan oldinmi yoki keyinmi, ayting va shu harakatni tasvirlang. Bog‘lashda kliplarni kerakli tartibda bering va ularni tutashtiruvchi vizual voqeani tushuntiring.</p><p>Oddiy uzaytirish odatda butun asl klip takrorlanishini taxmin qilmay, asl lavha atrofida yangi yaratilgan davomni qaytaradi. Chiqish asl segmentni ham o‘z ichiga olishi kerak bo‘lsa, topshiriqda ayting. Ikki yoki uch video orasidagi o‘tishni to‘ldirganda hujjatlashtirilgan jarayon asl va yangi yaratilgan mazmunni birlashtirishi mumkin. Bu mahsulotning keng ko‘rinishini maqsadli kamera harakati orqali detal kadriga bog‘lash uchun foydali.</p><h4>Chiqish va nashr farqlari</h4><p>Hujjatlashtirilgan Fast chiqishi — 24 fps da MP4, 480p yoki 720p, 8-bit rang chuqurligi va 4–15 soniyalik kliplar. Qo‘llab-quvvatlanadigan nisbatlar 21:9, 16:9, 4:3, 1:1, 3:4 va 9:16. Standart Seedance 2.0 nashri 1080p va 4K chiqishni alohida sanaydi; bu darajalar Fast spetsifikatsiyasiga kirmaydi. 2.0 oilasi oxirgi yaratilgan kadrni qaytarishni qo‘llab-quvvatlaydi, ammo alohida Draft oldindan ko‘rish rejimini qo‘llab-quvvatlamaydi.</p><p>Audio lavha bilan yaratilishi yoki tovushsiz klip uchun o‘chirilishi mumkin. Yaratilgan audio mono. Hujjatlashtirilgan ko‘rsatma tillariga ingliz, ispan, indonez, portugal va yapon kiradi. Dialog ichida aytiladigan tilni izchil saqlang; qo‘llanma atoqli otlardan tashqari tillarni aralashtirmaslikni maslahat beradi. Ovozli sahnada so‘zlovchini nomlang, gapni qo‘shtirnoqqa oling, keyin ijro va tegishli tovush effektlarini belgilang. Kerakli ijroni tanlangan klip uzunligiga mos tuting.</p><h4>Namunalarni tayyorlash va kirish chegaralari</h4><p>Hujjatlashtirilgan namuna chegaralari to‘qqiztagacha rasm, uchta video va uchta audio klip. Ushbu hujjatlashtirilgan ishlab chiqaruvchi profilida haqiqiy inson yuzlari bor namuna rasm yoki videoni to‘g‘ridan-to‘g‘ri yuklash qabul qilinmaydi; portret ishi qo‘llab-quvvatlanadigan portret materiali jarayonidan foydalanadi. Har bir video yoki audio klip 2–15 soniya bo‘lishi kerak; videolarning umumiy davomiyligi ko‘pi bilan 15 soniya, audioniki alohida ko‘pi bilan 15 soniya. Video namunalari 24–60 fps da MP4 yoki MOV bo‘lib, har biri 200 MB dan oshmasligi kerak. Audio namunalari WAV yoki MP3 bo‘lib, har biri 15 MB dan oshmasligi kerak. Rasm formatlari JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC va HEIF. Har bir rasm 30 MB dan kichik; umumiy so‘rov tanasi chegarasi 64 MB. Hujjatlashtirilgan namuna kirish profilida rasm eni va bo‘yi har biri qat’iy 300 bilan 6,000 piksel orasida, en–bo‘y nisbati qat’iy 0.4 bilan 2.5 orasida bo‘lishi kerak. Namuna videolarda har bir o‘lcham 300–6,000 piksel va nisbatlar 0.4–2.5, chegaralar ham kiradi; umumiy piksel soni 407,696–8,295,044. MP4 yoki MOV videolar H.264/AVC yoki H.265/HEVC video va AAC yoki MP3 audiodan foydalanadi.</p><p>Materiallarni tartiblang va izchil Image 1, Video 1 yoki Audio 1 deb atang. Material raqami bilan birga ko‘rinadigan obyektning nomi yoki farqlovchi belgisini ishlating. Chegara rasmlarining kadr tuzilishini kerakli video nisbatiga moslang, chunki nomoslik rasmni kesishi yoki keskin kadr o‘zgarishini keltirib chiqarishi mumkin. Topshiriqni ko‘chiriladigan xususiyatlar, yaratiladigan voqea va o‘zgarmasligi kerak bo‘lgan narsalarga qarating; uzun ko‘rsatma yo‘riqlarni tarqatib yuborib, ikkilamchi detallarni hal etmay qoldirishi mumkin.</p><h4>Kadr rejalash, matn va ma’lum xatti-harakatlar</h4><p>Murakkab topshiriqni Kadr 1, Kadr 2 va Kadr 3 qilib tuzing; har birida obyekt, harakat, joy va tovush aniq bo‘lsin. Qo‘llanma har bir kadrga bitta kamera harakatini tavsiya qiladi va aniq kadr vaqt belgilari beqarorligini aytadi. Har bir qahramonga barqaror belgi va bir necha farqlovchi xususiyat bering; yuz shaxsiyati muhim bo‘lsa, birlashtirilgan qahramonning turli tomondan ko‘rinishlar varag‘i o‘rniga alohida ravshan yuz surati va to‘liq gavda namunasidan foydalaning.</p><p>Model shior, subtitr va nutq pufaklari kabi odatiy matnlarni rang, uslub, joy va kirish yo‘riqlari bilan yaratishi mumkin. Noyob belgilar yoki maxsus ramzlardan ko‘ra odatiy belgilar afzal. Harflarni harakatda tekshiring. Keraksiz subtitrlar, logotiplar va takroriy qahramonlar hujjatlashtirilgan xatti-harakatlardir; aniq shartlar va toza namunalar ularni kamaytirishi mumkin, ammo yo‘qligini kafolatlamaydi. To‘rttadan ko‘p namuna shaxs barqarorlik xavfi sifatida qayd etilgan, qat’iy fayl soni cheklovi emas.</p><p>Takroriy uzaytirishlar tasvir sifati yo‘qolishini kuchaytirishi, uzaytirish ulanishi esa sakrashi yoki orqaga qaytishi mumkin. Ustma-ust davomlarni cheklang va montajda ulanishni tekshiring. Namuna ovoz tembri og‘ishi, bayon oxirida chertish paydo bo‘lishi va xitoy tilining ko‘p o‘qilishli yoki kam uchraydigan belgilari noto‘g‘ri talaffuz qilinishi mumkin. Aytilgan gap va yakuniy audioni tekshiring; audioni qisqa vaqt ichida sekin so‘ndirish keskin uzilishni yumshatishi mumkin. Ayniqsa nutq yoki qahramon davomiyligi hikoyani olib borganda, bu tekshiruvlar ijodiy natijani tayyorlashning bir qismidir.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot da mavjud · kirish ma’lumotlari va usullar</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Video</b> <code>POST /v1/videos</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code>, <code>image</code>, <code>audio</code></dd></div><div><dt>Chiqish</dt><dd><code>video</code></dd></div><div><dt>Chiqish formati</dt><dd>asl MP4 baytlari; normallashtirishsiz/qayta kodlashsiz</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>bytedance/seedance-2.0-fast</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">duration</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>integer</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15</div><div>Eng kam: 1</div><div>Eng ko‘p: 600</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">resolution</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>480p, 720p</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>1:1, 3:4, 9:16, 4:3, 16:9, 21:9, 9:21</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">generate_audio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>false, true</div><div>Shartlar: generate_audio ni bermaslik audioli narxni, false esa audiosiz narxni tanlaydi. Audio yo‘lak qaytarilganini bilish uchun natijadagi has_audio ni tekshiring.</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">frame_images</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>array</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Elementlarning eng kam soni: 1</div><div>Elementlarning eng ko‘p soni: 2</div><div>Kirish kontenti: Kadr obyektlari massivi. Har birida type=image_url, url saqlovchi image_url va frame_type=first_frame yoki last_frame bo‘ladi. Har bir vazifa ko‘pi bilan bir marta uchraydi. Ochiq HTTPS URL laridan foydalaning.</div><div>Aniq kalitlar: type, image_url, frame_type</div><div>Shartlar: Bu kalitlar har bir kadr obyektiga tegishli. Faqat matnli so‘rov uchun frame_images ni yubormang.</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Kirish kontenti: Rasm yoki audio referens obyektlari massivi. type qiymatini image_url yoki audio_url qilib belgilang va url saqlovchi mos URL obyektini bering. Video referenslar narxini hisoblab bo‘lmaydi.</div><div>Shartlar: Referens rejimini ishlatish uchun frame_images ni yubormang. Ochiq HTTPS URL laridan foydalaning.</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">size</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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>480x480, 480x640, 480x854, 640x480, 854x480, 1120x480, 720x720, 720x960, 720x1280, 720x1680, 960x720, 1280x720, 1680x720</div><div>Andoza: ^[1-9][0-9]*x[1-9][0-9]*$</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">seed</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>integer</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Eng kam: -9 223 372 036 854 775 808</div><div>Eng ko‘p: 9 223 372 036 854 775 807</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">callback_url</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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Andoza: ^https://</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">session_id</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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">trace</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">user</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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>Matndan video</b> · Yozma ko‘rsatma. · Majburiy: model, prompt, duration</p><p class=\"note-s\"><code>Matnli ko‘rsatma va qo‘llab-quvvatlanadigan butun soniyali davomiylikni bering. Ro‘yxatdagi aniq o‘lchamdan yoki ro‘yxatdagi o‘lchamlarga mos keladigan aniqlik va tomonlar nisbatidan foydalaning.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Turi: string · bytedance/seedance-2.0-fast</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Turi: string · UTF-8 baytlarining eng ko‘p soni: 10 000 · Bo‘shliq belgisi bo‘lmagan kamida bitta belgi talab qilinadi: Ha</p><p class=\"note-s\"><b>Rasmdan video</b> · Yozma ko‘rsatma va kadr rasmi. · Majburiy: model, prompt, duration, frame_images</p><p class=\"note-s\"><code>frame_images — type=image_url, url saqlovchi image_url va frame_type maydonlaridan iborat obyektlar massivi. Ochiq HTTPS rasm URL idan foydalaning; first_frame va last_frame har biri bir martadan uchrashi mumkin. Ro‘yxatdagi chiqish o‘lchami yoki mos o‘lchamlardan foydalaning. Video referenslarni qo‘shmang.</code></p><p class=\"note-s\">Aniq kalitlar: type, image_url, frame_type</p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Turi: string · bytedance/seedance-2.0-fast</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Turi: string · UTF-8 baytlarining eng ko‘p soni: 10 000 · Bo‘shliq belgisi bo‘lmagan kamida bitta belgi talab qilinadi: Ha</p><p class=\"note-s\"><b>Reference to video</b> · Yozma ko‘rsatma va rasm yoki audio referenslari. · Majburiy: model, prompt, duration, input_references</p><p class=\"note-s\"><code>input_references — massiv. Har bir obyektda type=image_url yoki type=audio_url hamda url saqlovchi mos URL obyekti mavjud. Ochiq HTTPS havolalaridan foydalaning. Referens rejimini tanlash uchun frame_images ni yubormang. Video referenslar narxini hisoblab bo‘lmaydi.</code></p><p class=\"note-s\"><code class=\"card-field-name\">model</code>: Turi: string · bytedance/seedance-2.0-fast</p><p class=\"note-s\"><code class=\"card-field-name\">prompt</code>: Turi: string · UTF-8 baytlarining eng ko‘p soni: 10 000 · Bo‘shliq belgisi bo‘lmagan kamida bitta belgi talab qilinadi: Ha</p></details><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, prompt, duration</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</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>additional_properties</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>optional_controls</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>resolution, aspect_ratio, generate_audio, frame_images, input_references, size, seed, callback_url, session_id, trace, user</td></tr></tbody></table></div><p>Hayot sikli: <code>submit_once_poll_original</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_id}</code></p><p class=\"note-s\"><code>GET /v1/videos/{public_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 tokeni 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>1K video tokeni 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 tokeni narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.0084</b> <span class=\"price-unit\">1K video tokeni uchun</span></div><p class=\"note-s\">Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.</p></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video tokeni 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>1K video tokeni uchun</td><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>kirish: with_video_input</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>reference · Video tokeni narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.00495</b> <span class=\"price-unit\">1K video tokeni uchun</span></div><p class=\"note-s\">Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.</p></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video tokeni 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>1K video tokeni uchun</td><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>ovoz: without_audio</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video tokeni narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.0084</b> <span class=\"price-unit\">1K video tokeni uchun</span></div><p class=\"note-s\">Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.</p></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Yaratishning taxminiy qiymati</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Prognoz miqdori\"><span class=\"card-cell-label\">Prognoz miqdori</span>bir generatsiya uchun taxmin</td><td data-cell-label=\"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.18144</b> <span class=\"price-unit\">yaratishdan oldingi taxmin</span></div><p class=\"note-s\">Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p><div data-declared-reference-pricing><h4>Ma’lumot uchun tarif tafsilotlari</h4><p class=\"note-s\">Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.</p><details class=\"card-price-reference\" data-declared-reference-group data-client-selectable=\"false\"><summary>Video sozlamalari narxiga havolalar</summary><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>To‘lovni hisoblash shartlari</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video tokeni narxi</th><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>Ushbu narxlash kalitida qo‘shimcha shart ko‘rsatilmagan.</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video tokeni narxi</span> <b>$0.0084</b> <span class=\"price-unit\">1K video tokeni uchun</span></div><p class=\"note-s\">Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.</p></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video tokeni narxi</th><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>ovoz: without_audio</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Video tokeni narxi</span> <b>$0.0084</b> <span class=\"price-unit\">1K video tokeni uchun</span></div><p class=\"note-s\">Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.</p></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Video tokeni narxi</th><td data-cell-label=\"To‘lovni hisoblash shartlari\"><span class=\"card-cell-label\">To‘lovni hisoblash shartlari</span>kirish: with_video_input</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>reference · Video tokeni narxi</span> <b>$0.00495</b> <span class=\"price-unit\">1K video tokeni uchun</span></div><p class=\"note-s\">Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.</p></td></tr></tbody></table></div></details></div></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Video</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><button class=\"cg-tab\" id=\"model-code-1134-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1134-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · Video yarating</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-1134-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1134-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nfrom pathlib import Path\nPath(&#39;request.json&#39;).write_text(&#39;{&quot;model&quot;:&quot;bytedance/seedance-2.0-fast&quot;,&quot;prompt&quot;:&quot;A serene mountain landscape at sunset&quot;,&quot;duration&quot;:4,&quot;resolution&quot;:&quot;480p&quot;,&quot;size&quot;:&quot;480x480&quot;,&quot;generate_audio&quot;:false}&#39;, 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 result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Natijalarni olish va saqlash</h3><h4>Ailoot Ultra · Video</h4><p class=\"note-s\">egalik qilinadigan mazmunning imzolangan URL lari</p><ul class=\"card-result-paths\"><li><code>GET /v1/videos/{public_id}</code></li><li><code>GET /v1/videos/{public_id}/content</code></li></ul><h5>Vazifa holatini tekshirish</h5><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><button class=\"cg-tab\" id=\"model-code-1135-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1135-panel-0\" aria-selected=\"true\" tabindex=\"0\">GET asl operatsiya holati</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1135-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1135-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_STATUS_URL&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path(&#39;result.json&#39;).read_text())\nif not isinstance(r.get(&#39;id&#39;),str) or not r[&#39;id&#39;]:raise SystemExit(&#39;Keep the original response and headers for reconciliation; no returned ID&#39;)\nPath(&#39;status-url.txt&#39;).write_text(&#39;https://api.ailoot.ai/v1/videos/&#39;+quote(r[&#39;id&#39;],safe=&#39;&#39;))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error &quot;$(cat status-url.txt)&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -D status-headers.txt -o status.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint(&#39;Keep the complete JSON and response headers; do not resubmit an unknown creation.&#39;)\nPY_RESULT\n</code></pre></div></div></div><details class=\"card-about\"><summary>Boshqa kontentni o‘qish</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><button class=\"cg-tab\" id=\"model-code-1136-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1136-panel-0\" aria-selected=\"true\" tabindex=\"0\">O‘zingizga tegishli har bir tayyor natijani saqlash</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1136-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1136-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_ASSETS&#39;\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path(&#39;status.json&#39;).read_text())\nif r.get(&#39;status&#39;)!=&#39;completed&#39;:raise SystemExit(&#39;Keep the original ID and read its status; never recreate an unknown job&#39;)\nif not isinstance(r.get(&#39;data&#39;),list) or not r[&#39;data&#39;]:raise SystemExit(&#39;Keep the complete original status; no completed outputs supplied&#39;)\nurls=[]\nfor i,u in enumerate(r.get(&#39;data&#39;,[])):\n    if not isinstance(u,str):raise SystemExit(&#39;Keep the original response; unexpected asset shape&#39;)\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin(&#39;https://api.ailoot.ai&#39;,path);z=urlsplit(u)\n    if z.scheme!=&#39;https&#39; or z.netloc!=&#39;api.ailoot.ai&#39; or z.username or z.password:raise SystemExit(&#39;Use the actual returned Ailoot owned content URL&#39;)\n    target=Path(&#39;owned-&#39;+label+&#39;.bin&#39;)\n    subprocess.run([&#39;curl&#39;,&#39;--fail-with-body&#39;,&#39;--silent&#39;,&#39;--show-error&#39;,u,&#39;-H&#39;,&#39;Authorization: Bearer &#39;+os.environ[&#39;AILOOT_API_KEY&#39;],&#39;-D&#39;,str(target)+&#39;.headers&#39;,&#39;-o&#39;,str(target)],check=True)\nprint(&#39;All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.&#39;)\nPY_ASSETS\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Har bir tayyor video yoki qaytarilgan faylni saqlang; har bir haqiqatan qaytarilgan material URL dan kontentni oling.</p><p class=\"note-s\">Egalik qilinadigan har bir haqiqiy chiqish natijasini va u bilan qaytarilgan o‘lchangan metama’lumotlarni saqlang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">503 result_pending_check + dastlabki id + X-Should-Retry:false; dastlabki so‘rovni hech qachon 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><th>Ma’nosi</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">index</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Ushbu videoning chiqishlar ro‘yxatidagi noldan boshlanuvchi o‘rni.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">content_url</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Ushbu yakunlangan video uchun imzolangan HTTPS yuklab olish URL i.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">sha256</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Dastlabki video baytlarining SHA-256 xeshi; mavjud bo‘lmasa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">size_bytes</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Dastlabki video faylining baytlardagi hajmi; mavjud bo‘lmasa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">duration_ms</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Videoning millisoniyalarda o‘lchangan davomiyligi; mavjud bo‘lmasa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">width</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Videoning piksellardagi eni; mavjud bo‘lmasa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">height</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Videoning piksellardagi bo‘yi; mavjud bo‘lmasa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">video_codec</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Video kodeki identifikatori; qayd etilmagan bo‘lsa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">has_audio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>boolean | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Videoda audio yo‘lak bor-yo‘qligi; o‘lchanmagan bo‘lsa null.</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">audio_codec</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string | null</td><td data-cell-label=\"Ma’nosi\"><span class=\"card-cell-label\">Ma’nosi</span>Audio kodeki identifikatori; identifikator qayd etilmagan bo‘lsa null.</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>404 · <code>not_found_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Videoga kirish mavjud emas yoki ushbu video ID si topilmadi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Videoga kirishni tekshiring. Mavjud video uchun uning dastlabki ochiq ID si va ayni API kalitidan foydalaning.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>401 · <code>authentication_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>API kaliti autentifikatsiyadan o‘tgan hisobga mos kelmaydi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yuborishdan oldin API kalitingiz va hisobga kirishingizni tekshiring.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>So‘rovni o‘qib bo‘lmadi yoki yuklab olish indeksi yaroqsiz.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>So‘rov tanasini tuzating. Yuklab olish uchun dastlabki vazifa qaytargan chiqish indeksini tanlang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>422 · <code>price_unavailable</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Tanlangan video sozlamasining narxini hisoblab bo‘lmaydi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Tuzatilgan so‘rovni yuborishdan oldin qo‘llab-quvvatlanadigan video sozlamasini tanlang va uning majburiy parametrlarini to‘ldiring.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>422 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Video kirishi yoki dastlabki davom ettirish vazifasi yaroqsiz.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yaroqli HTTPS kirishlaridan foydalaning. Davom ettirish uchun yakunlangan dastlabki videongizning ochiq ID si va ayni API kalitidan foydalaning.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>402 · <code>billing_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Mavjud balans yoki limitlar mablag‘ni band qilishga imkon bermaydi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi so‘rov yuborishdan oldin mavjud balans va limitlaringizni tekshiring.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code>server_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Videoni tekshirish, saqlash yoki xizmatga kirish vaqtincha mavjud emas.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Xizmat mavjud bo‘lishini kuting. Video ID si allaqachon bo‘lsa, boshqa yaratishni boshlash o‘rniga shu dastlabki vazifani tekshiring.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code>result_pending_check</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Dastlabki video natijasi va to‘lovni tekshirish kerak.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Qaytarilgan video ID sini saqlang va shu vazifani tekshiring. U tekshirilayotgan paytda o‘rniga boshqa yaratish so‘rovini yubormang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code>owned_result_unavailable</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Mavjud videoni yuklab olish vaqtincha ishlamayapti.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Keyinroq ayni video vazifasini tekshiring va uning mavjud chiqishini yuklab oling. Yangi yaratish alohida operatsiya hosil qiladi.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>409 · <code>video_not_ready</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Video mazmuni e’lon qilinmagan.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Dastlabki vazifa holatini tekshiring. completed bildirgach yuklab oling; failed bildirsa, uning to‘lovni tekshirish bildirishnomasiga rioya qiling.</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=bytedance%2Fseedance-2.0-fast&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0-fast&amp;fmt=videos\"><code>bytedance/seedance-2.0-fast</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=bytedance%2Fseedance-2.0-fast&amp;route=Ultra&amp;caller=bytedance%2Fseedance-2.0-fast&amp;fmt=videos\"><code>bytedance/seedance-2.0-fast</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "bytedance/seedance-2.0-fast",
        "fmt": "videos",
        "http": "POST",
        "path": "/v1/videos",
        "request_model_id": "bytedance/seedance-2.0-fast",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|videos|/v1/videos|bytedance%2Fseedance-2.0-fast",
      "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": "Egalik qilinadigan har bir haqiqiy chiqish natijasini va u bilan qaytarilgan o‘lchangan metama’lumotlarni saqlang.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Videoga kirish mavjud emas yoki ushbu video ID si topilmadi.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Videoga kirishni tekshiring. Mavjud video uchun uning dastlabki ochiq ID si va ayni API kalitidan foydalaning.",
                "type": "not_found_error"
              },
              {
                "condition": "API kaliti autentifikatsiyadan o‘tgan hisobga mos kelmaydi.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Yuborishdan oldin API kalitingiz va hisobga kirishingizni tekshiring.",
                "type": "authentication_error"
              },
              {
                "condition": "So‘rovni o‘qib bo‘lmadi yoki yuklab olish indeksi yaroqsiz.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "So‘rov tanasini tuzating. Yuklab olish uchun dastlabki vazifa qaytargan chiqish indeksini tanlang.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Tanlangan video sozlamasining narxini hisoblab bo‘lmaydi.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Tuzatilgan so‘rovni yuborishdan oldin qo‘llab-quvvatlanadigan video sozlamasini tanlang va uning majburiy parametrlarini to‘ldiring.",
                "type": "price_unavailable"
              },
              {
                "condition": "Video kirishi yoki dastlabki davom ettirish vazifasi yaroqsiz.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Yaroqli HTTPS kirishlaridan foydalaning. Davom ettirish uchun yakunlangan dastlabki videongizning ochiq ID si va ayni API kalitidan foydalaning.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Mavjud balans yoki limitlar mablag‘ni band qilishga imkon bermaydi.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Yangi so‘rov yuborishdan oldin mavjud balans va limitlaringizni tekshiring.",
                "type": "billing_error"
              },
              {
                "condition": "Videoni tekshirish, saqlash yoki xizmatga kirish vaqtincha mavjud emas.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Xizmat mavjud bo‘lishini kuting. Video ID si allaqachon bo‘lsa, boshqa yaratishni boshlash o‘rniga shu dastlabki vazifani tekshiring.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Dastlabki video natijasi va to‘lovni tekshirish kerak.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Qaytarilgan video ID sini saqlang va shu vazifani tekshiring. U tekshirilayotgan paytda o‘rniga boshqa yaratish so‘rovini yubormang.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Mavjud videoni yuklab olish vaqtincha ishlamayapti.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Keyinroq ayni video vazifasini tekshiring va uning mavjud chiqishini yuklab oling. Yangi yaratish alohida operatsiya hosil qiladi.",
                "type": "server_error"
              },
              {
                "condition": "Video mazmuni e’lon qilinmagan.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Dastlabki vazifa holatini tekshiring. completed bildirgach yuklab oling; failed bildirsa, uning to‘lovni tekshirish bildirishnomasiga rioya qiling.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + dastlabki id + X-Should-Retry:false; dastlabki so‘rovni hech qachon qayta yubormang"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0-fast"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Matnli ko‘rsatma va qo‘llab-quvvatlanadigan butun soniyali davomiylikni bering. Ro‘yxatdagi aniq o‘lchamdan yoki ro‘yxatdagi o‘lchamlarga mos keladigan aniqlik va tomonlar nisbatidan foydalaning.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Yozma ko‘rsatma."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0-fast"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images — type=image_url, url saqlovchi image_url va frame_type maydonlaridan iborat obyektlar massivi. Ochiq HTTPS rasm URL idan foydalaning; first_frame va last_frame har biri bir martadan uchrashi mumkin. Ro‘yxatdagi chiqish o‘lchami yoki mos o‘lchamlardan foydalaning. Video referenslarni qo‘shmang.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Yozma ko‘rsatma va kadr rasmi."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0-fast"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references — massiv. Har bir obyektda type=image_url yoki type=audio_url hamda url saqlovchi mos URL obyekti mavjud. Ochiq HTTPS havolalaridan foydalaning. Referens rejimini tanlash uchun frame_images ni yubormang. Video referenslar narxini hisoblab bo‘lmaydi.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Yozma ko‘rsatma va rasm yoki audio referenslari."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Ushbu videoning chiqishlar ro‘yxatidagi noldan boshlanuvchi o‘rni.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Ushbu yakunlangan video uchun imzolangan HTTPS yuklab olish URL i.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Dastlabki video baytlarining SHA-256 xeshi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Dastlabki video faylining baytlardagi hajmi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Videoning millisoniyalarda o‘lchangan davomiyligi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videoning piksellardagi eni; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videoning piksellardagi bo‘yi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Video kodeki identifikatori; qayd etilmagan bo‘lsa null.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Videoda audio yo‘lak bor-yo‘qligi; o‘lchanmagan bo‘lsa null.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Audio kodeki identifikatori; identifikator qayd etilmagan bo‘lsa null.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "egalik qilinadigan mazmunning imzolangan URL lari",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "bytedance/seedance-2.0-fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0-fast"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1:1",
                  "3:4",
                  "9:16",
                  "4:3",
                  "16:9",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "generate_audio ni bermaslik audioli narxni, false esa audiosiz narxni tanlaydi. Audio yo‘lak qaytarilganini bilish uchun natijadagi has_audio ni tekshiring.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Bu kalitlar har bir kadr obyektiga tegishli. Faqat matnli so‘rov uchun frame_images ni yubormang.",
                "content": "Kadr obyektlari massivi. Har birida type=image_url, url saqlovchi image_url va frame_type=first_frame yoki last_frame bo‘ladi. Har bir vazifa ko‘pi bilan bir marta uchraydi. Ochiq HTTPS URL laridan foydalaning.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Referens rejimini ishlatish uchun frame_images ni yubormang. Ochiq HTTPS URL laridan foydalaning.",
                "content": "Rasm yoki audio referens obyektlari massivi. type qiymatini image_url yoki audio_url qilib belgilang va url saqlovchi mos URL obyektini bering. Video referenslar narxini hisoblab bo‘lmaydi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480x480",
                  "480x640",
                  "480x854",
                  "640x480",
                  "854x480",
                  "1120x480",
                  "720x720",
                  "720x960",
                  "720x1280",
                  "720x1680",
                  "960x720",
                  "1280x720",
                  "1680x720"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "bytedance/seedance-2.0-fast"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Request geometry is required for the pre-generation estimate and reserve. Returned geometry and track time describe the generated output; final charge follows the actual billed configuration.",
                "Video references with *_with_video_input quantity are rejected; image/audio references only where model reference types admit them."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image",
              "audio"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "kirish: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.00495000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.00000495",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "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.18144",
                "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.18144",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"model\":\"bytedance/seedance-2.0-fast\",\"prompt\":\"A serene mountain landscape at sunset\",\"duration\":4,\"resolution\":\"480p\",\"size\":\"480x480\",\"generate_audio\":false}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.00495000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.00000495",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "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.18144",
                "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.18144",
                "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": "bytedance/seedance-2.0-fast",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.00495000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.00000495",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_without_audio",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.18144",
            "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.18144",
            "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": "bytedance/seedance-2.0-fast",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3d8c7c4c133096cf4a9a76c380cb1671ad43e343bb0c40de4e65666e75c1e349",
    "input_html_sha256": "ad1acfd7c7c6eb691872c4aeac71227e4f2259d64e19b491c0a7f0349f73fe83",
    "private_audit_sha256": "e330f17f70148c4d8dcc9d69eaea1cbe4e197e5c706d277116030dd9cc1c128b",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/bytedance-seedance-2-0-fast/",
    "description": "ByteDance Seedance 2.0 Fast matn, rasm, video va tovush namunalaridan audio-video sahnalar yaratadi. Tezlikka yo‘naltirilgan nashri harakat va uslub ko‘chirish, video tahrirlari va oldinga yoki orqaga uzaytirishni qo‘llab-quvvatlaydi; 480p va 720p chiqish hujjatlashtirilgan.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/bytedance-seedance-2-0-fast/index.md",
    "title": "ByteDance: Seedance 2.0 Fast — Ailoot",
    "url": "https://ailoot.ai/models/uz/bytedance-seedance-2-0-fast/"
  },
  "rawModel": {
    "about": "Seedance 2.0 Fast — ByteDance Seed ning Seedance 2.0 oilasidagi tezlikka yo‘naltirilgan nashri. U video va audioni birga yaratishni, matn, rasm, video va tovushdan tuzilgan multimodal topshiriqni qo‘llab-quvvatlaydi. Ijodiy imkoniyatlariga yangi namuna asosidagi sahnalar, mavjud lavhalarni tahrirlash va sahnani uzaytirish kiradi; hujjatlashtirilgan chiqish darajalari 480p va 720p.\n\n### Multimodal namuna: materialga rol berish\n\nRasm qahramon, mahsulot, kompozitsiya yoki vizual ishlovni berishi mumkin. Namuna video harakat, kamera yurishi yoki effektni berishi mumkin. Namuna audio ovoz tembri, musiqiy kuy yoki dialog mazmunini berishi mumkin. Har bir manbaning qaysi qismini yangi sahnaga ko‘chirmoqchi ekaningizni tushuntiring; namuna aniq ijodiy rolga ega bo‘lsa foydaliroq.\n\nMasalan: “Image 1 dagi keramik chiroqni mahsulot sifatida ishlating. Video 1 dagi sekin kamera aylanishini takrorlang, lekin chiroqni sokin o‘qish burchagiga joylang. Musiqiy kayfiyat uchun Audio 1 dan foydalaning.” Ko‘zlangan chiqish namunalarning har bir detaliga noaniq taqlid emas, tanlangan ko‘rinish, harakat va tovush yo‘nalishini birlashtirgan yangi sahnadir.\n\nHujjatlashtirilgan birikmalar rasm va audio, rasm va video, video va audio hamda uchalasini birga o‘z ichiga oladi. Faqat matn va audio, shuningdek faqat audio kirishi qo‘llab-quvvatlanmaydi. Model matndan video hamda birinchi kadr yoki birinchi va oxirgi kadr juftidan rasmga asoslangan yaratishni ham qo‘llab-quvvatlaydi. Aniq chegara kadr topshiriqning asosiy sharti bo‘lsa, maxsus chegara kadr jarayonidan foydalaning; omni-reference ko‘rsatmasida namuna rasmini chegara kadr deb tasvirlash bilvosita boshqaruvdir.\n\n### Mavjud videoni tahrirlash\n\nModel elementlarni qo‘shishi, olib tashlashi yoki o‘zgartirishi, obyektni almashtirishi va sahna qismlarini qayta chizishi yoki tuzatishi mumkin. Asl video, o‘zgartiriladigan buyum va qolishi kerak bo‘lgan elementlarni belgilang. Qo‘shishda qayerda va qachon paydo bo‘lishini tasvirlang. Olib tashlashda buyumni butun klip davomida izchil belgilang.\n\nAmaliy tahrir topshirig‘i namoyishdagi oddiy shishani Image 1 dagi shisha bilan almashtirishi, Video 1 ning qo‘l harakati, foni va kamera yo‘lini saqlashni so‘rashi mumkin. Almashtirishni ham, barqaror qolishi kerak bo‘lgan sohalarni ham tekshiring. Saqlashga doir aniq ko‘rsatmalar kerakli tahrirni baholashni umumiy “yaxshilash” so‘rovidan osonroq qiladi.\n\n### Kliplarni uzaytirish va bog‘lash\n\nSeedance 2.0 Fast oldinga yoki orqaga uzaytirish va ikki yoki uch klipni yaratilgan o‘tishlar bilan bog‘lashni qo‘llab-quvvatlaydi. Uzaytirishda yangi harakat berilgan videodan oldinmi yoki keyinmi, ayting va shu harakatni tasvirlang. Bog‘lashda kliplarni kerakli tartibda bering va ularni tutashtiruvchi vizual voqeani tushuntiring.\n\nOddiy uzaytirish odatda butun asl klip takrorlanishini taxmin qilmay, asl lavha atrofida yangi yaratilgan davomni qaytaradi. Chiqish asl segmentni ham o‘z ichiga olishi kerak bo‘lsa, topshiriqda ayting. Ikki yoki uch video orasidagi o‘tishni to‘ldirganda hujjatlashtirilgan jarayon asl va yangi yaratilgan mazmunni birlashtirishi mumkin. Bu mahsulotning keng ko‘rinishini maqsadli kamera harakati orqali detal kadriga bog‘lash uchun foydali.\n\n### Chiqish va nashr farqlari\n\nHujjatlashtirilgan Fast chiqishi — 24 fps da MP4, 480p yoki 720p, 8-bit rang chuqurligi va 4–15 soniyalik kliplar. Qo‘llab-quvvatlanadigan nisbatlar 21:9, 16:9, 4:3, 1:1, 3:4 va 9:16. Standart Seedance 2.0 nashri 1080p va 4K chiqishni alohida sanaydi; bu darajalar Fast spetsifikatsiyasiga kirmaydi. 2.0 oilasi oxirgi yaratilgan kadrni qaytarishni qo‘llab-quvvatlaydi, ammo alohida Draft oldindan ko‘rish rejimini qo‘llab-quvvatlamaydi.\n\nAudio lavha bilan yaratilishi yoki tovushsiz klip uchun o‘chirilishi mumkin. Yaratilgan audio mono. Hujjatlashtirilgan ko‘rsatma tillariga ingliz, ispan, indonez, portugal va yapon kiradi. Dialog ichida aytiladigan tilni izchil saqlang; qo‘llanma atoqli otlardan tashqari tillarni aralashtirmaslikni maslahat beradi. Ovozli sahnada so‘zlovchini nomlang, gapni qo‘shtirnoqqa oling, keyin ijro va tegishli tovush effektlarini belgilang. Kerakli ijroni tanlangan klip uzunligiga mos tuting.\n\n### Namunalarni tayyorlash va kirish chegaralari\n\nHujjatlashtirilgan namuna chegaralari to‘qqiztagacha rasm, uchta video va uchta audio klip. Ushbu hujjatlashtirilgan ishlab chiqaruvchi profilida haqiqiy inson yuzlari bor namuna rasm yoki videoni to‘g‘ridan-to‘g‘ri yuklash qabul qilinmaydi; portret ishi qo‘llab-quvvatlanadigan portret materiali jarayonidan foydalanadi. Har bir video yoki audio klip 2–15 soniya bo‘lishi kerak; videolarning umumiy davomiyligi ko‘pi bilan 15 soniya, audioniki alohida ko‘pi bilan 15 soniya. Video namunalari 24–60 fps da MP4 yoki MOV bo‘lib, har biri 200 MB dan oshmasligi kerak. Audio namunalari WAV yoki MP3 bo‘lib, har biri 15 MB dan oshmasligi kerak. Rasm formatlari JPEG, PNG, WebP, BMP, TIFF, GIF, HEIC va HEIF. Har bir rasm 30 MB dan kichik; umumiy so‘rov tanasi chegarasi 64 MB. Hujjatlashtirilgan namuna kirish profilida rasm eni va bo‘yi har biri qat’iy 300 bilan 6,000 piksel orasida, en–bo‘y nisbati qat’iy 0.4 bilan 2.5 orasida bo‘lishi kerak. Namuna videolarda har bir o‘lcham 300–6,000 piksel va nisbatlar 0.4–2.5, chegaralar ham kiradi; umumiy piksel soni 407,696–8,295,044. MP4 yoki MOV videolar H.264/AVC yoki H.265/HEVC video va AAC yoki MP3 audiodan foydalanadi.\n\nMateriallarni tartiblang va izchil Image 1, Video 1 yoki Audio 1 deb atang. Material raqami bilan birga ko‘rinadigan obyektning nomi yoki farqlovchi belgisini ishlating. Chegara rasmlarining kadr tuzilishini kerakli video nisbatiga moslang, chunki nomoslik rasmni kesishi yoki keskin kadr o‘zgarishini keltirib chiqarishi mumkin. Topshiriqni ko‘chiriladigan xususiyatlar, yaratiladigan voqea va o‘zgarmasligi kerak bo‘lgan narsalarga qarating; uzun ko‘rsatma yo‘riqlarni tarqatib yuborib, ikkilamchi detallarni hal etmay qoldirishi mumkin.\n\n### Kadr rejalash, matn va ma’lum xatti-harakatlar\n\nMurakkab topshiriqni Kadr 1, Kadr 2 va Kadr 3 qilib tuzing; har birida obyekt, harakat, joy va tovush aniq bo‘lsin. Qo‘llanma har bir kadrga bitta kamera harakatini tavsiya qiladi va aniq kadr vaqt belgilari beqarorligini aytadi. Har bir qahramonga barqaror belgi va bir necha farqlovchi xususiyat bering; yuz shaxsiyati muhim bo‘lsa, birlashtirilgan qahramonning turli tomondan ko‘rinishlar varag‘i o‘rniga alohida ravshan yuz surati va to‘liq gavda namunasidan foydalaning.\n\nModel shior, subtitr va nutq pufaklari kabi odatiy matnlarni rang, uslub, joy va kirish yo‘riqlari bilan yaratishi mumkin. Noyob belgilar yoki maxsus ramzlardan ko‘ra odatiy belgilar afzal. Harflarni harakatda tekshiring. Keraksiz subtitrlar, logotiplar va takroriy qahramonlar hujjatlashtirilgan xatti-harakatlardir; aniq shartlar va toza namunalar ularni kamaytirishi mumkin, ammo yo‘qligini kafolatlamaydi. To‘rttadan ko‘p namuna shaxs barqarorlik xavfi sifatida qayd etilgan, qat’iy fayl soni cheklovi emas.\n\nTakroriy uzaytirishlar tasvir sifati yo‘qolishini kuchaytirishi, uzaytirish ulanishi esa sakrashi yoki orqaga qaytishi mumkin. Ustma-ust davomlarni cheklang va montajda ulanishni tekshiring. Namuna ovoz tembri og‘ishi, bayon oxirida chertish paydo bo‘lishi va xitoy tilining ko‘p o‘qilishli yoki kam uchraydigan belgilari noto‘g‘ri talaffuz qilinishi mumkin. Aytilgan gap va yakuniy audioni tekshiring; audioni qisqa vaqt ichida sekin so‘ndirish keskin uzilishni yumshatishi mumkin. Ayniqsa nutq yoki qahramon davomiyligi hikoyani olib borganda, bu tekshiruvlar ijodiy natijani tayyorlashning bir qismidir.",
    "alias_of": null,
    "aliases": [],
    "author": "ByteDance",
    "available": null,
    "canonical_model": "bytedance/seedance-2.0-fast",
    "capabilities": {
      "context_length": 0,
      "manufacturer_input": [
        "text",
        "image",
        "video",
        "audio"
      ],
      "manufacturer_output": [
        "video"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.18144",
            "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.18144",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "ctx": null,
    "declared_tariff_references": [
      {
        "client_selectable": false,
        "key": "24999f354c53561f1fcfc3f1",
        "label": "Video sozlamalari narxiga havolalar",
        "profiles": [
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "Ushbu narxlash kalitida qo‘shimcha shart ko‘rsatilmagan."
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.0084",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "ovoz: without_audio"
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.0084",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "kirish: with_video_input"
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.00495",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "key": "video_token",
                "label": "Video-token price",
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "rate_role": "typed_video_token_primary_reference",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          }
        ]
      }
    ],
    "entity_type": "model",
    "formats": [
      "videos"
    ],
    "id": "bytedance/seedance-2.0-fast",
    "input": [
      "text",
      "image",
      "audio"
    ],
    "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": "Egalik qilinadigan har bir haqiqiy chiqish natijasini va u bilan qaytarilgan o‘lchangan metama’lumotlarni saqlang.",
            "defaults": {
              "aspect_ratio": null,
              "duration": null,
              "generate_audio": "endpoint capability flag when published; omitted unknown stays unknown; never guarantees audio track",
              "resolution": null,
              "seed": null,
              "size": null,
              "wire_omissions_preserved": true
            },
            "errors": [
              {
                "condition": "Videoga kirish mavjud emas yoki ushbu video ID si topilmadi.",
                "http_status": 404,
                "public_identifier_field": "error.type",
                "recovery": "Videoga kirishni tekshiring. Mavjud video uchun uning dastlabki ochiq ID si va ayni API kalitidan foydalaning.",
                "type": "not_found_error"
              },
              {
                "condition": "API kaliti autentifikatsiyadan o‘tgan hisobga mos kelmaydi.",
                "http_status": 401,
                "public_identifier_field": "error.type",
                "recovery": "Yuborishdan oldin API kalitingiz va hisobga kirishingizni tekshiring.",
                "type": "authentication_error"
              },
              {
                "condition": "So‘rovni o‘qib bo‘lmadi yoki yuklab olish indeksi yaroqsiz.",
                "http_status": 400,
                "public_identifier_field": "error.type",
                "recovery": "So‘rov tanasini tuzating. Yuklab olish uchun dastlabki vazifa qaytargan chiqish indeksini tanlang.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Tanlangan video sozlamasining narxini hisoblab bo‘lmaydi.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Tuzatilgan so‘rovni yuborishdan oldin qo‘llab-quvvatlanadigan video sozlamasini tanlang va uning majburiy parametrlarini to‘ldiring.",
                "type": "price_unavailable"
              },
              {
                "condition": "Video kirishi yoki dastlabki davom ettirish vazifasi yaroqsiz.",
                "http_status": 422,
                "public_identifier_field": "error.type",
                "recovery": "Yaroqli HTTPS kirishlaridan foydalaning. Davom ettirish uchun yakunlangan dastlabki videongizning ochiq ID si va ayni API kalitidan foydalaning.",
                "type": "invalid_request_error"
              },
              {
                "condition": "Mavjud balans yoki limitlar mablag‘ni band qilishga imkon bermaydi.",
                "http_status": 402,
                "public_identifier_field": "error.type",
                "recovery": "Yangi so‘rov yuborishdan oldin mavjud balans va limitlaringizni tekshiring.",
                "type": "billing_error"
              },
              {
                "condition": "Videoni tekshirish, saqlash yoki xizmatga kirish vaqtincha mavjud emas.",
                "http_status": 503,
                "public_identifier_field": "error.type",
                "recovery": "Xizmat mavjud bo‘lishini kuting. Video ID si allaqachon bo‘lsa, boshqa yaratishni boshlash o‘rniga shu dastlabki vazifani tekshiring.",
                "type": "server_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Dastlabki video natijasi va to‘lovni tekshirish kerak.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Qaytarilgan video ID sini saqlang va shu vazifani tekshiring. U tekshirilayotgan paytda o‘rniga boshqa yaratish so‘rovini yubormang.",
                "type": "server_error"
              },
              {
                "code": "owned_result_unavailable",
                "condition": "Mavjud videoni yuklab olish vaqtincha ishlamayapti.",
                "http_status": 503,
                "public_identifier_field": "error.code",
                "recovery": "Keyinroq ayni video vazifasini tekshiring va uning mavjud chiqishini yuklab oling. Yangi yaratish alohida operatsiya hosil qiladi.",
                "type": "server_error"
              },
              {
                "condition": "Video mazmuni e’lon qilinmagan.",
                "http_status": 409,
                "public_identifier_field": "error.type",
                "recovery": "Dastlabki vazifa holatini tekshiring. completed bildirgach yuklab oling; failed bildirsa, uning to‘lovni tekshirish bildirishnomasiga rioya qiling.",
                "type": "video_not_ready"
              }
            ],
            "hints": [
              "No null values or duplicate keys at any JSON object level",
              "No duration/resolution/aspect default is inserted",
              "Prompt required for all21 despite broader official image-only schema",
              "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
              "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
              "No n/output-count/client price fields accepted",
              "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
            ],
            "ignored_fields": [],
            "lifecycle": {
              "cancel_endpoint": null,
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}/content",
                  "query": {
                    "index": "actual output index"
                  }
                }
              ],
              "create": {
                "http": "POST",
                "path": "/v1/videos"
              },
              "mode": "submit_once_poll_original",
              "public_id": "video_<uuid>; owner user/key/group scope",
              "status": [
                {
                  "http": "GET",
                  "path": "/v1/videos/{public_id}"
                }
              ],
              "submit_status": 202,
              "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
              "terminal_provider_states": [
                "failed",
                "cancelled",
                "expired"
              ],
              "unknown": "503 result_pending_check + dastlabki id + X-Should-Retry:false; dastlabki so‘rovni hech qachon qayta yubormang"
            },
            "material_combinations": [
              {
                "mode": "text_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0-fast"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "Matnli ko‘rsatma va qo‘llab-quvvatlanadigan butun soniyali davomiylikni bering. Ro‘yxatdagi aniq o‘lchamdan yoki ro‘yxatdagi o‘lchamlarga mos keladigan aniqlik va tomonlar nisbatidan foydalaning.",
                "required": [
                  "model",
                  "prompt",
                  "duration"
                ],
                "required_material": "Yozma ko‘rsatma."
              },
              {
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "mode": "image_to_video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0-fast"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "frame_images — type=image_url, url saqlovchi image_url va frame_type maydonlaridan iborat obyektlar massivi. Ochiq HTTPS rasm URL idan foydalaning; first_frame va last_frame har biri bir martadan uchrashi mumkin. Ro‘yxatdagi chiqish o‘lchami yoki mos o‘lchamlardan foydalaning. Video referenslarni qo‘shmang.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "frame_images"
                ],
                "required_material": "Yozma ko‘rsatma va kadr rasmi."
              },
              {
                "mode": "Reference to video",
                "model": {
                  "enum": [
                    "bytedance/seedance-2.0-fast"
                  ],
                  "enum_known": true,
                  "type": "string"
                },
                "prompt": {
                  "max_utf8_bytes": 10000,
                  "non_whitespace": true,
                  "type": "string"
                },
                "representation": "input_references — massiv. Har bir obyektda type=image_url yoki type=audio_url hamda url saqlovchi mos URL obyekti mavjud. Ochiq HTTPS havolalaridan foydalaning. Referens rejimini tanlash uchun frame_images ni yubormang. Video referenslar narxini hisoblab bo‘lmaydi.",
                "required": [
                  "model",
                  "prompt",
                  "duration",
                  "input_references"
                ],
                "required_material": "Yozma ko‘rsatma va rasm yoki audio referenslari."
              }
            ],
            "operation_modes": [
              "text_to_video",
              "image_to_video_frame_images",
              "reference_to_video"
            ],
            "outputs": {
              "content_range_supported": true,
              "every_actual_output": true,
              "family": "video",
              "fields": [
                {
                  "condition": "Always present for each completed output.",
                  "description": "Ushbu videoning chiqishlar ro‘yxatidagi noldan boshlanuvchi o‘rni.",
                  "field_path": "outputs[].index",
                  "json_schema": {
                    "type": "integer"
                  },
                  "name": "index",
                  "nullable": false,
                  "type": "integer"
                },
                {
                  "condition": "Present after the owned result is available and a signed URL is created.",
                  "description": "Ushbu yakunlangan video uchun imzolangan HTTPS yuklab olish URL i.",
                  "field_path": "outputs[].content_url",
                  "json_schema": {
                    "type": "string"
                  },
                  "name": "content_url",
                  "nullable": false,
                  "type": "string"
                },
                {
                  "condition": "A nonempty recorded digest is returned; otherwise null.",
                  "description": "Dastlabki video baytlarining SHA-256 xeshi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].sha256",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "sha256",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when the recorded file size is positive.",
                  "description": "Dastlabki video faylining baytlardagi hajmi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].size_bytes",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "size_bytes",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned when the measured duration is positive.",
                  "description": "Videoning millisoniyalarda o‘lchangan davomiyligi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].duration_ms",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "duration_ms",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videoning piksellardagi eni; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].width",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "width",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Width, height and the video codec are returned together when recorded.",
                  "description": "Videoning piksellardagi bo‘yi; mavjud bo‘lmasa null.",
                  "field_path": "outputs[].height",
                  "json_schema": {
                    "type": [
                      "integer",
                      "null"
                    ]
                  },
                  "name": "height",
                  "nullable": true,
                  "type": "integer | null"
                },
                {
                  "condition": "Returned together with positive recorded width and height.",
                  "description": "Video kodeki identifikatori; qayd etilmagan bo‘lsa null.",
                  "field_path": "outputs[].video_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "video_codec",
                  "nullable": true,
                  "type": "string | null"
                },
                {
                  "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                  "description": "Videoda audio yo‘lak bor-yo‘qligi; o‘lchanmagan bo‘lsa null.",
                  "field_path": "outputs[].has_audio",
                  "json_schema": {
                    "type": [
                      "boolean",
                      "null"
                    ]
                  },
                  "name": "has_audio",
                  "nullable": true,
                  "type": "boolean | null"
                },
                {
                  "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                  "description": "Audio kodeki identifikatori; identifikator qayd etilmagan bo‘lsa null.",
                  "field_path": "outputs[].audio_codec",
                  "json_schema": {
                    "type": [
                      "string",
                      "null"
                    ]
                  },
                  "name": "audio_codec",
                  "nullable": true,
                  "type": "string | null"
                }
              ],
              "format": "original MP4 bytes; no normalization/transcode",
              "max_aggregate_seconds": 2400,
              "max_bytes_per_output": 67108864,
              "max_seconds_per_output": 600,
              "result": "egalik qilinadigan mazmunning imzolangan URL lari",
              "unmeasured_fields_nullable": true
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "bytedance/seedance-2.0-fast"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "schema": {
                  "const": "bytedance/seedance-2.0-fast"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minLength": 1,
                "name": "prompt",
                "required": true,
                "schema": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  4,
                  5,
                  6,
                  7,
                  8,
                  9,
                  10,
                  11,
                  12,
                  13,
                  14,
                  15
                ],
                "enum_known": true,
                "maximum": 600,
                "minimum": 1,
                "name": "duration",
                "required": true,
                "schema": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480p",
                  "720p"
                ],
                "enum_known": true,
                "name": "resolution",
                "required": false,
                "schema": {
                  "enum": [
                    "480p",
                    "720p"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "1:1",
                  "3:4",
                  "9:16",
                  "4:3",
                  "16:9",
                  "21:9",
                  "9:21"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "schema": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "conditions": "generate_audio ni bermaslik audioli narxni, false esa audiosiz narxni tanlaydi. Audio yo‘lak qaytarilganini bilish uchun natijadagi has_audio ni tekshiring.",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  true
                ],
                "enum_known": true,
                "name": "generate_audio",
                "required": false,
                "schema": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "type": "boolean"
              },
              {
                "availability": "source_interface",
                "conditions": "Bu kalitlar har bir kadr obyektiga tegishli. Faqat matnli so‘rov uchun frame_images ni yubormang.",
                "content": "Kadr obyektlari massivi. Har birida type=image_url, url saqlovchi image_url va frame_type=first_frame yoki last_frame bo‘ladi. Har bir vazifa ko‘pi bilan bir marta uchraydi. Ochiq HTTPS URL laridan foydalaning.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "exact_keys": [
                  "type",
                  "image_url",
                  "frame_type"
                ],
                "maxItems": 2,
                "max_items": 2,
                "minItems": 1,
                "min_items": 1,
                "name": "frame_images",
                "required": false,
                "schema": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "conditions": "Referens rejimini ishlatish uchun frame_images ni yubormang. Ochiq HTTPS URL laridan foydalaning.",
                "content": "Rasm yoki audio referens obyektlari massivi. type qiymatini image_url yoki audio_url qilib belgilang va url saqlovchi mos URL obyektini bering. Video referenslar narxini hisoblab bo‘lmaydi.",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "input_references",
                "required": false,
                "schema": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "type": "array"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "480x480",
                  "480x640",
                  "480x854",
                  "640x480",
                  "854x480",
                  "1120x480",
                  "720x720",
                  "720x960",
                  "720x1280",
                  "720x1680",
                  "960x720",
                  "1280x720",
                  "1680x720"
                ],
                "enum_known": true,
                "name": "size",
                "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                "required": false,
                "schema": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maximum": 9223372036854775807,
                "minimum": -9223372036854775808,
                "name": "seed",
                "required": false,
                "schema": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "callback_url",
                "pattern": "^https://",
                "required": false,
                "schema": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "session_id",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "trace",
                "required": false,
                "schema": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "maxLength": 256,
                "name": "user",
                "required": false,
                "schema": {
                  "maxLength": 256,
                  "type": "string"
                },
                "type": "string"
              }
            ],
            "request_schema": {
              "$schema": "https://json-schema.org/draft/2020-12/schema",
              "additionalProperties": false,
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "3:4",
                    "9:16",
                    "4:3",
                    "16:9",
                    "21:9",
                    "9:21"
                  ]
                },
                "callback_url": {
                  "format": "uri",
                  "pattern": "^https://",
                  "type": "string",
                  "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                },
                "creativity": false,
                "duration": {
                  "enum": [
                    4,
                    5,
                    6,
                    7,
                    8,
                    9,
                    10,
                    11,
                    12,
                    13,
                    14,
                    15
                  ],
                  "maximum": 600,
                  "minimum": 1,
                  "type": "integer"
                },
                "frame_images": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "frame_type": {
                        "enum": [
                          "first_frame",
                          "last_frame"
                        ]
                      },
                      "image_url": {
                        "additionalProperties": false,
                        "properties": {
                          "url": {
                            "format": "uri",
                            "pattern": "^https://",
                            "type": "string",
                            "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url",
                      "frame_type"
                    ],
                    "type": "object"
                  },
                  "maxItems": 2,
                  "minItems": 1,
                  "type": "array",
                  "x-source-unique-role": "frame_type"
                },
                "generate_audio": {
                  "enum": [
                    false,
                    true
                  ],
                  "x-omitted-default": "published audio capability when true/false; unknown if null; output audio must be measured"
                },
                "input_references": {
                  "items": {
                    "oneOf": [
                      {
                        "additionalProperties": false,
                        "properties": {
                          "image_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "image_url"
                          }
                        },
                        "required": [
                          "type",
                          "image_url"
                        ],
                        "type": "object"
                      },
                      {
                        "additionalProperties": false,
                        "properties": {
                          "audio_url": {
                            "additionalProperties": false,
                            "properties": {
                              "url": {
                                "format": "uri",
                                "pattern": "^https://",
                                "type": "string",
                                "x-source-rule": "public HTTPS; no userinfo, fragment, whitespace, private/reserved hosts; own-media links additionally require owner/signature/status/hash/MIME/bytes"
                              }
                            },
                            "required": [
                              "url"
                            ],
                            "type": "object"
                          },
                          "type": {
                            "const": "audio_url"
                          }
                        },
                        "required": [
                          "type",
                          "audio_url"
                        ],
                        "type": "object"
                      }
                    ]
                  },
                  "type": "array"
                },
                "model": {
                  "const": "bytedance/seedance-2.0-fast"
                },
                "previous_job_id": false,
                "prompt": {
                  "minLength": 1,
                  "type": "string",
                  "x-source-max-utf8-bytes": 10000,
                  "x-source-non-whitespace": true
                },
                "provider": false,
                "resolution": {
                  "enum": [
                    "480p",
                    "720p"
                  ]
                },
                "seed": {
                  "maximum": 9223372036854775807,
                  "minimum": -9223372036854775808,
                  "type": "integer"
                },
                "session_id": {
                  "maxLength": 256,
                  "type": "string"
                },
                "size": {
                  "enum": [
                    "480x480",
                    "480x640",
                    "480x854",
                    "640x480",
                    "854x480",
                    "1120x480",
                    "720x720",
                    "720x960",
                    "720x1280",
                    "720x1680",
                    "960x720",
                    "1280x720",
                    "1680x720"
                  ],
                  "pattern": "^[1-9][0-9]*x[1-9][0-9]*$",
                  "type": "string"
                },
                "trace": {
                  "additionalProperties": true,
                  "properties": {
                    "generation_name": {
                      "type": "string"
                    },
                    "parent_span_id": {
                      "type": "string"
                    },
                    "span_name": {
                      "type": "string"
                    },
                    "trace_id": {
                      "type": "string"
                    },
                    "trace_name": {
                      "type": "string"
                    }
                  },
                  "type": "object"
                },
                "upscale_factor": false,
                "user": {
                  "maxLength": 256,
                  "type": "string"
                }
              },
              "required": [
                "model",
                "prompt",
                "duration"
              ],
              "title": "Video generation request",
              "type": "object",
              "x-source-global-rules": [
                "No null values or duplicate keys at any JSON object level",
                "No duration/resolution/aspect default is inserted",
                "Prompt required for all21 despite broader official image-only schema",
                "A request must also pass model membership, exact price card, SKU selection and frozen quote construction",
                "Non-string known trace fields reject; other trace keys retain arbitrary JSON",
                "No n/output-count/client price fields accepted",
                "Provider passthrough disabled for all21; feed allowlist names do not supply provider slug/value contract"
              ],
              "x-source-material-combinations": [
                "Exact model/card, positive published duration, model resolution/aspect membership and valid frozen quote are all required; independent enum arrays are not proven provider Cartesian combinations.",
                "Use exact published size or compatible resolution/aspect. Omitted options stay omitted; no guessed geometry.",
                "first_frame/last_frame roles each occur at most once; frame_images wins mode precedence over input_references.",
                "provider options are unavailable for this model despite any published passthrough-name allowlist.",
                "Request geometry is required for the pre-generation estimate and reserve. Returned geometry and track time describe the generated output; final charge follows the actual billed configuration.",
                "Video references with *_with_video_input quantity are rejected; image/audio references only where model reference types admit them."
              ]
            },
            "unsupported": [
              "provider",
              "previous_job_id",
              "upscale_factor",
              "creativity"
            ]
          },
          "input": {
            "additional_properties": false,
            "content_type": "application/json",
            "material_types": [
              "text",
              "image",
              "audio"
            ],
            "optional_controls": [
              "resolution",
              "aspect_ratio",
              "generate_audio",
              "frame_images",
              "input_references",
              "size",
              "seed",
              "callback_url",
              "session_id",
              "trace",
              "user"
            ],
            "required": [
              "model",
              "prompt",
              "duration"
            ]
          },
          "lifecycle": {
            "cancel_endpoint": null,
            "content": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}/content",
                "query": {
                  "index": "actual output index"
                }
              }
            ],
            "create": {
              "http": "POST",
              "path": "/v1/videos"
            },
            "mode": "submit_once_poll_original",
            "public_id": "video_<uuid>; owner user/key/group scope",
            "status": [
              {
                "http": "GET",
                "path": "/v1/videos/{public_id}"
              }
            ],
            "submit_status": 202,
            "terminal_failure_public": "200 failed + charge_pending_check=true; inspect original operation",
            "terminal_provider_states": [
              "failed",
              "cancelled",
              "expired"
            ],
            "unknown": "503 result_pending_check + originalid + X-Should-Retry:false; never replay original"
          },
          "method": {
            "http": "POST",
            "path": "/v1/videos"
          },
          "method_aliases": [],
          "operation_modes": [
            "text_to_video",
            "image_to_video_frame_images",
            "reference_to_video"
          ],
          "output": {
            "content_range_supported": true,
            "every_actual_output": true,
            "family": "video",
            "fields": [
              {
                "condition": "Always present for each completed output.",
                "description": "Zero-based position of this video in the outputs list.",
                "field_path": "outputs[].index",
                "json_schema": {
                  "type": "integer"
                },
                "name": "index",
                "nullable": false,
                "type": "integer"
              },
              {
                "condition": "Present after the owned result is available and a signed URL is created.",
                "description": "Signed HTTPS download URL for this completed video.",
                "field_path": "outputs[].content_url",
                "json_schema": {
                  "type": "string"
                },
                "name": "content_url",
                "nullable": false,
                "type": "string"
              },
              {
                "condition": "A nonempty recorded digest is returned; otherwise null.",
                "description": "SHA-256 digest of the original video bytes; null if unavailable.",
                "field_path": "outputs[].sha256",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "sha256",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when the recorded file size is positive.",
                "description": "Size of the original video file in bytes; null if unavailable.",
                "field_path": "outputs[].size_bytes",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "size_bytes",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned when the measured duration is positive.",
                "description": "Measured video duration in milliseconds; null if unavailable.",
                "field_path": "outputs[].duration_ms",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "duration_ms",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video width in pixels; null if unavailable.",
                "field_path": "outputs[].width",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "width",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Width, height and the video codec are returned together when recorded.",
                "description": "Video height in pixels; null if unavailable.",
                "field_path": "outputs[].height",
                "json_schema": {
                  "type": [
                    "integer",
                    "null"
                  ]
                },
                "name": "height",
                "nullable": true,
                "type": "integer | null"
              },
              {
                "condition": "Returned together with positive recorded width and height.",
                "description": "Video codec identifier; null if not recorded.",
                "field_path": "outputs[].video_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "video_codec",
                "nullable": true,
                "type": "string | null"
              },
              {
                "condition": "Returned when width, height and the video codec are recorded; false is a known result.",
                "description": "Whether the video contains an audio track; null if not measured.",
                "field_path": "outputs[].has_audio",
                "json_schema": {
                  "type": [
                    "boolean",
                    "null"
                  ]
                },
                "name": "has_audio",
                "nullable": true,
                "type": "boolean | null"
              },
              {
                "condition": "Returned when video metadata is recorded and the audio codec identifier is nonempty.",
                "description": "Audio codec identifier; null when no identifier is recorded.",
                "field_path": "outputs[].audio_codec",
                "json_schema": {
                  "type": [
                    "string",
                    "null"
                  ]
                },
                "name": "audio_codec",
                "nullable": true,
                "type": "string | null"
              }
            ],
            "format": "original MP4 bytes; no normalization/transcode",
            "max_aggregate_seconds": 2400,
            "max_bytes_per_output": 67108864,
            "max_seconds_per_output": 600,
            "result": "signed owned content URLs",
            "unmeasured_fields_nullable": true
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "Video token tarifi asosiy narx ma’lumotidir. Soniyasiga ko‘rsatilgan umumiy narx taxminlari alohida ma’lumot bo‘lib, qo‘shimcha to‘lov hisoblanmaydi.",
            "dimensions": {
              "conditions": "kirish: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video tokeni narxi",
            "units": [
              {
                "amount": "0.00495000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.00000495",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "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.18144",
                "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.18144",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nfrom pathlib import Path\nPath('request.json').write_text('{\"model\":\"bytedance/seedance-2.0-fast\",\"prompt\":\"A serene mountain landscape at sunset\",\"duration\":4,\"resolution\":\"480p\",\"size\":\"480x480\",\"generate_audio\":false}', encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/videos \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('result.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "curl · create video",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_STATUS_URL'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nr=json.loads(Path('result.json').read_text())\nif not isinstance(r.get('id'),str) or not r['id']:raise SystemExit('Keep the original response and headers for reconciliation; no returned ID')\nPath('status-url.txt').write_text('https://api.ailoot.ai/v1/videos/'+quote(r['id'],safe=''))\nPY_STATUS_URL\ncurl --fail-with-body --silent --show-error \"$(cat status-url.txt)\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -D status-headers.txt -o status.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path('status.json').read_text())\nprint(json.dumps(r,ensure_ascii=False,indent=2))\nprint('Keep the complete JSON and response headers; do not resubmit an unknown creation.')\nPY_RESULT\n",
            "label": "GET original status",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_ASSETS'\nimport json,os,subprocess\nfrom pathlib import Path\nfrom urllib.parse import urljoin,urlsplit\nr=json.loads(Path('status.json').read_text())\nif r.get('status')!='completed':raise SystemExit('Keep the original ID and read its status; never recreate an unknown job')\nif not isinstance(r.get('data'),list) or not r['data']:raise SystemExit('Keep the complete original status; no completed outputs supplied')\nurls=[]\nfor i,u in enumerate(r.get('data',[])):\n    if not isinstance(u,str):raise SystemExit('Keep the original response; unexpected asset shape')\n    urls.append((str(i),u))\nfor label,path in urls:\n    u=urljoin('https://api.ailoot.ai',path);z=urlsplit(u)\n    if z.scheme!='https' or z.netloc!='api.ailoot.ai' or z.username or z.password:raise SystemExit('Use the actual returned Ailoot owned content URL')\n    target=Path('owned-'+label+'.bin')\n    subprocess.run(['curl','--fail-with-body','--silent','--show-error',u,'-H','Authorization: Bearer '+os.environ['AILOOT_API_KEY'],'-D',str(target)+'.headers','-o',str(target)],check=True)\nprint('All returned owned URLs saved; complete metadata, timing and usage remain in the JSON.')\nPY_ASSETS\n",
            "label": "Save every completed owned output",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "videos",
        "hints": [],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image",
          "audio"
        ],
        "label": "Видео",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": null,
        "output": [
          "video"
        ],
        "path": "/v1/videos",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "No additional condition is declared in this pricing key.",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "input: with_video_input",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.00495000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_with_video_input",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.00000495",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "reference",
                "unit": "video_token"
              }
            ]
          },
          {
            "basis": "The video-token rate is the primary price reference. Per-second headline estimates are separate references, not an extra charge.",
            "dimensions": {
              "conditions": "audio: without_audio",
              "quoted_unit": "per 1,000 video tokens"
            },
            "label": "Video-token price",
            "units": [
              {
                "amount": "0.0084000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "video_tokens_without_audio",
                "label": "Video-token price",
                "native_amount_usd_per_unit": "0.0000084",
                "native_quantity": 1,
                "public_unit_label": "per 1,000 video tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "video_token"
              }
            ]
          },
          {
            "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.18144",
                "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.18144",
                "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": "bytedance/seedance-2.0-fast",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/videos/{public_id}",
          "GET /v1/videos/{public_id}/content"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.00495000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_with_video_input",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.00000495",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "reference",
            "unit": "video_token"
          },
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "video_tokens_without_audio",
            "label": "Video-token price",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "public_unit_label": "per 1,000 video tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.18144",
            "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.18144",
            "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": "bytedance/seedance-2.0-fast",
        "request_model_id": "bytedance/seedance-2.0-fast",
        "route_label": "Ultra"
      }
    ],
    "name": "ByteDance: Seedance 2.0 Fast",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.18144,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.18144,
      "varies": false
    },
    "pricing_profiles": [
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": false,
          "maker_model_id": "dreamina-seedance-2-0-fast-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": false,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "480p/720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000112",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": false,
              "maker_model_id": "dreamina-seedance-2-0-fast-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": false,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "480p/720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 0,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "native_profile_selection_pending": true,
          "scope": "manufacturer_reference"
        },
        "dimensions": {
          "billable_token_source": "usage.completion_tokens",
          "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
          "image_audio_ref_independent_charge": "not listed separately in this tariff",
          "input_includes_video": true,
          "maker_model_id": "dreamina-seedance-2-0-fast-260128",
          "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
          "minimum_tokens_when_video_input": true,
          "offline_not_supported": true,
          "quoted_unit": "1000000_video_tokens",
          "resolution": "480p/720p"
        },
        "label": "Ultra",
        "units": [
          {
            "amount": "0.0000066",
            "amount_unit": "usd_per_token",
            "conditions": {
              "billable_token_source": "usage.completion_tokens",
              "estimated_quantity_formula": "(input_video_duration+output_video_duration)*output_width*output_height*output_fps/1024",
              "image_audio_ref_independent_charge": "not listed separately in this tariff",
              "input_includes_video": true,
              "maker_model_id": "dreamina-seedance-2-0-fast-260128",
              "minimum_token_schedule": "depends on resolution/aspect/output duration; separate official estimate table, actual usage governs",
              "minimum_tokens_when_video_input": true,
              "offline_not_supported": true,
              "quoted_unit": "1000000_video_tokens",
              "resolution": "480p/720p"
            },
            "key": "base",
            "label": "base",
            "profile_index": 1,
            "quantity": "1",
            "rate_role": "binding_component_rate",
            "side": "out",
            "unit": "video_token"
          }
        ]
      },
      {
        "applicability": {
          "client_selectable": false,
          "no_method_admission_claim": true,
          "scope": "supplier_tariff_reference"
        },
        "dimensions": {},
        "label": "Ailoot Ultra · Tariff components",
        "units": [
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video token",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000084",
            "key": "video_tokens",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.0084000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "audio=false",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.0000084",
            "key": "video_tokens_without_audio",
            "label": "video token",
            "native_amount_usd_per_unit": "0.0000084",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          },
          {
            "amount": "0.004950000",
            "amount_unit": "usd_per_thousand_tokens",
            "basis": "video_reference_present Source-only tariff component.",
            "billing_original_currency": "USD",
            "billing_original_rate": "0.000004950",
            "key": "video_tokens_with_video_input",
            "label": "video token",
            "native_amount_usd_per_unit": "0.000004950",
            "native_quantity": 1,
            "quantity": 1000,
            "side": "out",
            "unit": "video_token"
          }
        ]
      }
    ],
    "public_id": "bytedance/seedance-2.0-fast",
    "short": "ByteDance Seedance 2.0 Fast matn, rasm, video va tovush namunalaridan audio-video sahnalar yaratadi. Tezlikka yo‘naltirilgan nashri harakat va uslub ko‘chirish, video tahrirlari va oldinga yoki orqaga uzaytirishni qo‘llab-quvvatlaydi; 480p va 720p chiqish hujjatlashtirilgan."
  },
  "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": "ByteDance Seedance 2.0 Fast matn, rasm, video va tovush namunalaridan audio-video sahnalar yaratadi. Tezlikka yo‘naltirilgan nashri harakat va uslub ko‘chirish, video tahrirlari va oldinga yoki orqaga uzaytirishni qo‘llab-quvvatlaydi; 480p va 720p chiqish hujjatlashtirilgan.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_exact_canonical_sha256": "0df21f343cdeb07d573dc2c2445826580d02d8add4c7b63aeeb3703e9db3bd18",
    "raw_model_js_projection_sha256": "30f87e5b76e9213d5564bf393129eb25010222e2d47642df8f84ec1b9aead89d",
    "raw_model_json_sha256": "0df21f343cdeb07d573dc2c2445826580d02d8add4c7b63aeeb3703e9db3bd18",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "69fb83c650103fee269442ed9384a56b0aa8394d43592dcd1d2f7bd67eeb2d81"
}
