{
  "aboutHtml": "<p>Codestral 2508 — Mistral AI kompaniyasining tez-tez takrorlanadigan, kechikishga sezgir to‘ldirish va yaratish vazifalari uchun kod modeli. U manba kodi va matnli talablarni qabul qilib, amalga oshirilgan yechim, to‘ldirish, tuzatish yoki tushuntirishni o‘z ichiga olishi mumkin bo‘lgan matn qaytaradi. Nomlangan 2508 nashri embedding modeli yoki mustaqil to‘liq repozitoriy agenti bo‘lishdan ko‘ra dasturchining joriy tahrir kontekstiga yo‘naltirilgan.</p><p>Kodni to‘ldirish va 2508 yangilanishi</p><p>Ishlab chiqaruvchi Codestralni kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlash uchun tavsiya qiladi. Relizda to‘ldirish xatti-harakatidagi yaxshilanishlar, jumladan nazoratsiz davom etuvchi yaratishni kamaytirish, shuningdek suhbat rejimida ko‘rsatmalarga rioya qilish va kod vazifalaridagi yaxshilanishlar ta’riflanadi. Bular Codestralning ushbu nashridagi o‘zgarishlar; uni o‘rab turgan dasturlash tizimining qidiruv va avtonom agent imkoniyatlari alohida nomlangan komponentlarga tegishli.</p><p>To‘ldirish vazifasida tegishli funksiya imzosi, e’lonlar va chaqiruv kontekstini kursor joylashuvi bilan birga saqlang. Kerakli natija faqat yetishmayotgan kodmi yoki to‘liq qayta ko‘rilgan funksiyami, aniqlang. Muharrir uslubidagi so‘rov mavjud qaytarish turini saqlaydigan, takroriy qiymatlarni qoldiradigan va chaqiruvchi bergan kirish ma’lumotini o‘zgartirmaydigan sikl tanasini talab qilishi mumkin. Shunda natijaning aniq kiritish joyi va belgilangan xatti-harakati bo‘ladi.</p><p>O‘rtadagi bo‘shliqni to‘ldirishga tayyorlash</p><p>Ishlab chiqaruvchining FIM interfeysida prompt to‘ldiriladigan matn yoki kodni, ixtiyoriy suffiks esa bo‘shliqdan keyingi materialni beradi. Ikkalasi ham berilganda model ular orasidagi bo‘shliqni to‘ldiradi. Suffikssiz u promptdan boshlab davom ettiradi. Bu kod o‘zgarishi va izoh so‘raladigan odatiy suhbat so‘rovidan farq qiladi; tayyorlashning har bir usuli natija uchun boshqacha talablarni belgilaydi.</p><p>Bo‘shliqni to‘ldirish uchun foydali kirish ma’lumoti funksiya boshlanishi, kiritilgan parchadan keyin kelishi shart bo‘lgan kod va tegishli tur yoki yordamchi ta’riflarni o‘z ichiga oladi. Qaytgan matn mavjud parchaga mos tushishi uchun chekinishlar va ajratgichlarni saqlang. Vazifaga faqat yetishmayotgan tana kerak bo‘lsa, butun faylni qayta yozish o‘rniga shu tanani so‘rang. Alohida suhbat savoli to‘ldirilgan parcha nega talabga mos kelishini tushuntirishi mumkin.</p><p>Rasmiy FIM hujjatlari chiqish tokenlari budjetini belgilashga ruxsat beradi va prompt bilan ushbu budjet yig‘indisi model konteksti ichida qolishini talab qiladi. Shuningdek, to‘xtatish ketma-ketliklari va yaratilayotgan mazmunni oqim orqali uzatishni hujjatlashtiradi. Natija koddagi bo‘shliqqa mos tushishi shart bo‘lsa, to‘ldirish jarayonini; vazifa kod bilan birga izoh talab qilsa, suhbat jarayonini tanlang.</p><p>Kontekst va yordamchi imkoniyatlar</p><p>Model sahifasida 128k kontekst oynasi berilgan. Amaldagi tahrir vazifasini aniq saqlagan holda, ko‘zlangan o‘zgarishni belgilaydigan manba va e’lonlarni kontekstda qoldiring. Xato tuzatish so‘rovi uchun ta’sirlangan funksiya, aniq muvaffaqiyatsiz kirish, kutilgan natija va xato yoki kuzatilgan xatti-harakatni bering. Taklif etilgan tuzatishni uning izohi va misollaridan alohida so‘rang.</p><p>Sahifada suhbat va FIM imkoniyatlari bilan bir qatorda tuzilmali natijalar, funksiya chaqirish, oldindan ma’lum natijalar, hujjat bo‘yicha savol-javob, javob prefikslari va paketli ishlov berish ham sanaladi. Tuzilmali kod tahlili natijasi uchun ta’sirlangan belgi, kuzatilgan nomuvofiqlik, taklif etilgan o‘zgarish va hali aniqlashtirilishi kerak bo‘lgan taxmin kabi maydonlarni belgilang. Mistralning tuzilmali natija yo‘riqnomasi JSON rejimini maxsus sxemadan farqlaydi; kerakli JSON shakli promptda aytiladi.</p><p>Oldindan ma’lum natijalar javobning katta qismlari avvaldan ma’lum bo‘lgan mazmun uchun mo‘ljallangan. Ulardan hujjat yoki kod faylini cheklangan tahrir bilan qayta yaratishda, qolgan mazmunni saqlagan holda foydalanish mumkin. Aniq o‘zgarish va saqlanishi kerak bo‘lgan materialni ko‘rsating. Javob prefiksi esa yaratish davom etadigan ma’lum boshlanishni beradi; u to‘liq ma’lum tanadan ham, FIM suffiksidan ham farq qiladi.</p><p>Hujjatga oid savolda til modeli tahlilidan oldin OCR yordamida matn va tuzilmani tayyorlash uchun ishlab chiqaruvchining hujjatga ishlov berish jarayonidan foydalanish mumkin. Dasturlash materiali allaqachon matn ko‘rinishida bo‘lsa, hujjatning tegishli parchalarini bering va amalga oshirishni qaysi shart belgilashini so‘rang. Yaratilgan kod yoki izoh berilgan spetsifikatsiyaga bog‘liq qolishi uchun har bir ajratilgan talabni uning manba bo‘limi bilan bog‘lang.</p><p>Vositalar va amaliy natijalar</p><p>Funksiya chaqirish ilovaga tavsiflangan amallar va ularning parametrlarini berish imkonini beradi. Model chaqiruvni tayyorlaydi, ilova uni bajaradi va qaytgan natija keyingi javob kontekstiga aylanadi. Kod yordamchisi ushbu sikl orqali qidiruv yoki hisoblash natijasini olishi mumkin, ammo taklif etilgan o‘zgarishni kompilyatsiya qilish, sinash yoki qo‘llash uchun hamon tashqi ishlab chiqish muhiti kerak.</p><p>Amaliy tuzatishda mosligi saqlanishi shart bo‘lgan ochiq interfeysni belgilang va qayta ko‘rilgan parcha, qisqa tushuntirish hamda kutilgan natijali kirish misollarini so‘rang. Yaratiladigan funksiya uchun qabul qilinadigan turlar va chegaraviy shartlarni ayting. Tushuntirish uchun kuzatib chiqiladigan kirish ma’lumotini bering, shunda javob aniq bajarilish yo‘lini qaytarilgan qiymat bilan bog‘laydi.</p><p>Codestral matn yaratadi. U Codestral Embedning kod qidirish vektorlarini, Devstralning repozitoriy avtomatizatsiyasini yoki vizual modelning tasvir yaratishini meros qilib olmaydi. Aynan 2508 model sahifasida parametrlar soni yoki boshqa relizdan olinadigan mustaqil maksimal javob uzunligi e’lon qilinmagan. Takrorlanadigan muharrir yoki suhbat jarayonini tayyorlashda nomlangan nashr, kod konteksti va zarur materialni saqlang.</p>",
  "aboutText": "Codestral 2508 — Mistral AI kompaniyasining tez-tez takrorlanadigan, kechikishga sezgir to‘ldirish va yaratish vazifalari uchun kod modeli. U manba kodi va matnli talablarni qabul qilib, amalga oshirilgan yechim, to‘ldirish, tuzatish yoki tushuntirishni o‘z ichiga olishi mumkin bo‘lgan matn qaytaradi. Nomlangan 2508 nashri embedding modeli yoki mustaqil to‘liq repozitoriy agenti bo‘lishdan ko‘ra dasturchining joriy tahrir kontekstiga yo‘naltirilgan.\n\nKodni to‘ldirish va 2508 yangilanishi\n\nIshlab chiqaruvchi Codestralni kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlash uchun tavsiya qiladi. Relizda to‘ldirish xatti-harakatidagi yaxshilanishlar, jumladan nazoratsiz davom etuvchi yaratishni kamaytirish, shuningdek suhbat rejimida ko‘rsatmalarga rioya qilish va kod vazifalaridagi yaxshilanishlar ta’riflanadi. Bular Codestralning ushbu nashridagi o‘zgarishlar; uni o‘rab turgan dasturlash tizimining qidiruv va avtonom agent imkoniyatlari alohida nomlangan komponentlarga tegishli.\n\nTo‘ldirish vazifasida tegishli funksiya imzosi, e’lonlar va chaqiruv kontekstini kursor joylashuvi bilan birga saqlang. Kerakli natija faqat yetishmayotgan kodmi yoki to‘liq qayta ko‘rilgan funksiyami, aniqlang. Muharrir uslubidagi so‘rov mavjud qaytarish turini saqlaydigan, takroriy qiymatlarni qoldiradigan va chaqiruvchi bergan kirish ma’lumotini o‘zgartirmaydigan sikl tanasini talab qilishi mumkin. Shunda natijaning aniq kiritish joyi va belgilangan xatti-harakati bo‘ladi.\n\nO‘rtadagi bo‘shliqni to‘ldirishga tayyorlash\n\nIshlab chiqaruvchining FIM interfeysida prompt to‘ldiriladigan matn yoki kodni, ixtiyoriy suffiks esa bo‘shliqdan keyingi materialni beradi. Ikkalasi ham berilganda model ular orasidagi bo‘shliqni to‘ldiradi. Suffikssiz u promptdan boshlab davom ettiradi. Bu kod o‘zgarishi va izoh so‘raladigan odatiy suhbat so‘rovidan farq qiladi; tayyorlashning har bir usuli natija uchun boshqacha talablarni belgilaydi.\n\nBo‘shliqni to‘ldirish uchun foydali kirish ma’lumoti funksiya boshlanishi, kiritilgan parchadan keyin kelishi shart bo‘lgan kod va tegishli tur yoki yordamchi ta’riflarni o‘z ichiga oladi. Qaytgan matn mavjud parchaga mos tushishi uchun chekinishlar va ajratgichlarni saqlang. Vazifaga faqat yetishmayotgan tana kerak bo‘lsa, butun faylni qayta yozish o‘rniga shu tanani so‘rang. Alohida suhbat savoli to‘ldirilgan parcha nega talabga mos kelishini tushuntirishi mumkin.\n\nRasmiy FIM hujjatlari chiqish tokenlari budjetini belgilashga ruxsat beradi va prompt bilan ushbu budjet yig‘indisi model konteksti ichida qolishini talab qiladi. Shuningdek, to‘xtatish ketma-ketliklari va yaratilayotgan mazmunni oqim orqali uzatishni hujjatlashtiradi. Natija koddagi bo‘shliqqa mos tushishi shart bo‘lsa, to‘ldirish jarayonini; vazifa kod bilan birga izoh talab qilsa, suhbat jarayonini tanlang.\n\nKontekst va yordamchi imkoniyatlar\n\nModel sahifasida 128k kontekst oynasi berilgan. Amaldagi tahrir vazifasini aniq saqlagan holda, ko‘zlangan o‘zgarishni belgilaydigan manba va e’lonlarni kontekstda qoldiring. Xato tuzatish so‘rovi uchun ta’sirlangan funksiya, aniq muvaffaqiyatsiz kirish, kutilgan natija va xato yoki kuzatilgan xatti-harakatni bering. Taklif etilgan tuzatishni uning izohi va misollaridan alohida so‘rang.\n\nSahifada suhbat va FIM imkoniyatlari bilan bir qatorda tuzilmali natijalar, funksiya chaqirish, oldindan ma’lum natijalar, hujjat bo‘yicha savol-javob, javob prefikslari va paketli ishlov berish ham sanaladi. Tuzilmali kod tahlili natijasi uchun ta’sirlangan belgi, kuzatilgan nomuvofiqlik, taklif etilgan o‘zgarish va hali aniqlashtirilishi kerak bo‘lgan taxmin kabi maydonlarni belgilang. Mistralning tuzilmali natija yo‘riqnomasi JSON rejimini maxsus sxemadan farqlaydi; kerakli JSON shakli promptda aytiladi.\n\nOldindan ma’lum natijalar javobning katta qismlari avvaldan ma’lum bo‘lgan mazmun uchun mo‘ljallangan. Ulardan hujjat yoki kod faylini cheklangan tahrir bilan qayta yaratishda, qolgan mazmunni saqlagan holda foydalanish mumkin. Aniq o‘zgarish va saqlanishi kerak bo‘lgan materialni ko‘rsating. Javob prefiksi esa yaratish davom etadigan ma’lum boshlanishni beradi; u to‘liq ma’lum tanadan ham, FIM suffiksidan ham farq qiladi.\n\nHujjatga oid savolda til modeli tahlilidan oldin OCR yordamida matn va tuzilmani tayyorlash uchun ishlab chiqaruvchining hujjatga ishlov berish jarayonidan foydalanish mumkin. Dasturlash materiali allaqachon matn ko‘rinishida bo‘lsa, hujjatning tegishli parchalarini bering va amalga oshirishni qaysi shart belgilashini so‘rang. Yaratilgan kod yoki izoh berilgan spetsifikatsiyaga bog‘liq qolishi uchun har bir ajratilgan talabni uning manba bo‘limi bilan bog‘lang.\n\nVositalar va amaliy natijalar\n\nFunksiya chaqirish ilovaga tavsiflangan amallar va ularning parametrlarini berish imkonini beradi. Model chaqiruvni tayyorlaydi, ilova uni bajaradi va qaytgan natija keyingi javob kontekstiga aylanadi. Kod yordamchisi ushbu sikl orqali qidiruv yoki hisoblash natijasini olishi mumkin, ammo taklif etilgan o‘zgarishni kompilyatsiya qilish, sinash yoki qo‘llash uchun hamon tashqi ishlab chiqish muhiti kerak.\n\nAmaliy tuzatishda mosligi saqlanishi shart bo‘lgan ochiq interfeysni belgilang va qayta ko‘rilgan parcha, qisqa tushuntirish hamda kutilgan natijali kirish misollarini so‘rang. Yaratiladigan funksiya uchun qabul qilinadigan turlar va chegaraviy shartlarni ayting. Tushuntirish uchun kuzatib chiqiladigan kirish ma’lumotini bering, shunda javob aniq bajarilish yo‘lini qaytarilgan qiymat bilan bog‘laydi.\n\nCodestral matn yaratadi. U Codestral Embedning kod qidirish vektorlarini, Devstralning repozitoriy avtomatizatsiyasini yoki vizual modelning tasvir yaratishini meros qilib olmaydi. Aynan 2508 model sahifasida parametrlar soni yoki boshqa relizdan olinadigan mustaqil maksimal javob uzunligi e’lon qilinmagan. Takrorlanadigan muharrir yoki suhbat jarayonini tayyorlashda nomlangan nashr, kod konteksti va zarur materialni saqlang.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "c4b37951ad08126a4cac3093ec5cb25443d07e41e56ed981f0eb1eeb4f17f93a",
    "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\">Mistral: Codestral 2508 (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/codestral-2508:batch</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|batches|/v1/batches|mistralai%2Fcodestral-2508%3Abatch\">Paketli vazifalar</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\">Codestral 2508 — Mistral AI kompaniyasining kod yaratish va kontekstga mos to‘ldirish uchun matn modeli. U tez-tez bajariladigan muharrir vazifalari, jumladan kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlar uchun optimallashtirilgan; ishlab chiqaruvchi ko‘rsatgan konteksti 128k, suhbat, tuzilmali natija va vosita imkoniyatlari hujjatlashtirilgan.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn</dd></div><div><dt>Natijalar</dt><dd>Matn</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>Codestral 2508 — Mistral AI kompaniyasining tez-tez takrorlanadigan, kechikishga sezgir to‘ldirish va yaratish vazifalari uchun kod modeli. U manba kodi va matnli talablarni qabul qilib, amalga oshirilgan yechim, to‘ldirish, tuzatish yoki tushuntirishni o‘z ichiga olishi mumkin bo‘lgan matn qaytaradi. Nomlangan 2508 nashri embedding modeli yoki mustaqil to‘liq repozitoriy agenti bo‘lishdan ko‘ra dasturchining joriy tahrir kontekstiga yo‘naltirilgan.</p><p>Kodni to‘ldirish va 2508 yangilanishi</p><p>Ishlab chiqaruvchi Codestralni kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlash uchun tavsiya qiladi. Relizda to‘ldirish xatti-harakatidagi yaxshilanishlar, jumladan nazoratsiz davom etuvchi yaratishni kamaytirish, shuningdek suhbat rejimida ko‘rsatmalarga rioya qilish va kod vazifalaridagi yaxshilanishlar ta’riflanadi. Bular Codestralning ushbu nashridagi o‘zgarishlar; uni o‘rab turgan dasturlash tizimining qidiruv va avtonom agent imkoniyatlari alohida nomlangan komponentlarga tegishli.</p><p>To‘ldirish vazifasida tegishli funksiya imzosi, e’lonlar va chaqiruv kontekstini kursor joylashuvi bilan birga saqlang. Kerakli natija faqat yetishmayotgan kodmi yoki to‘liq qayta ko‘rilgan funksiyami, aniqlang. Muharrir uslubidagi so‘rov mavjud qaytarish turini saqlaydigan, takroriy qiymatlarni qoldiradigan va chaqiruvchi bergan kirish ma’lumotini o‘zgartirmaydigan sikl tanasini talab qilishi mumkin. Shunda natijaning aniq kiritish joyi va belgilangan xatti-harakati bo‘ladi.</p><p>O‘rtadagi bo‘shliqni to‘ldirishga tayyorlash</p><p>Ishlab chiqaruvchining FIM interfeysida prompt to‘ldiriladigan matn yoki kodni, ixtiyoriy suffiks esa bo‘shliqdan keyingi materialni beradi. Ikkalasi ham berilganda model ular orasidagi bo‘shliqni to‘ldiradi. Suffikssiz u promptdan boshlab davom ettiradi. Bu kod o‘zgarishi va izoh so‘raladigan odatiy suhbat so‘rovidan farq qiladi; tayyorlashning har bir usuli natija uchun boshqacha talablarni belgilaydi.</p><p>Bo‘shliqni to‘ldirish uchun foydali kirish ma’lumoti funksiya boshlanishi, kiritilgan parchadan keyin kelishi shart bo‘lgan kod va tegishli tur yoki yordamchi ta’riflarni o‘z ichiga oladi. Qaytgan matn mavjud parchaga mos tushishi uchun chekinishlar va ajratgichlarni saqlang. Vazifaga faqat yetishmayotgan tana kerak bo‘lsa, butun faylni qayta yozish o‘rniga shu tanani so‘rang. Alohida suhbat savoli to‘ldirilgan parcha nega talabga mos kelishini tushuntirishi mumkin.</p><p>Rasmiy FIM hujjatlari chiqish tokenlari budjetini belgilashga ruxsat beradi va prompt bilan ushbu budjet yig‘indisi model konteksti ichida qolishini talab qiladi. Shuningdek, to‘xtatish ketma-ketliklari va yaratilayotgan mazmunni oqim orqali uzatishni hujjatlashtiradi. Natija koddagi bo‘shliqqa mos tushishi shart bo‘lsa, to‘ldirish jarayonini; vazifa kod bilan birga izoh talab qilsa, suhbat jarayonini tanlang.</p><p>Kontekst va yordamchi imkoniyatlar</p><p>Model sahifasida 128k kontekst oynasi berilgan. Amaldagi tahrir vazifasini aniq saqlagan holda, ko‘zlangan o‘zgarishni belgilaydigan manba va e’lonlarni kontekstda qoldiring. Xato tuzatish so‘rovi uchun ta’sirlangan funksiya, aniq muvaffaqiyatsiz kirish, kutilgan natija va xato yoki kuzatilgan xatti-harakatni bering. Taklif etilgan tuzatishni uning izohi va misollaridan alohida so‘rang.</p><p>Sahifada suhbat va FIM imkoniyatlari bilan bir qatorda tuzilmali natijalar, funksiya chaqirish, oldindan ma’lum natijalar, hujjat bo‘yicha savol-javob, javob prefikslari va paketli ishlov berish ham sanaladi. Tuzilmali kod tahlili natijasi uchun ta’sirlangan belgi, kuzatilgan nomuvofiqlik, taklif etilgan o‘zgarish va hali aniqlashtirilishi kerak bo‘lgan taxmin kabi maydonlarni belgilang. Mistralning tuzilmali natija yo‘riqnomasi JSON rejimini maxsus sxemadan farqlaydi; kerakli JSON shakli promptda aytiladi.</p><p>Oldindan ma’lum natijalar javobning katta qismlari avvaldan ma’lum bo‘lgan mazmun uchun mo‘ljallangan. Ulardan hujjat yoki kod faylini cheklangan tahrir bilan qayta yaratishda, qolgan mazmunni saqlagan holda foydalanish mumkin. Aniq o‘zgarish va saqlanishi kerak bo‘lgan materialni ko‘rsating. Javob prefiksi esa yaratish davom etadigan ma’lum boshlanishni beradi; u to‘liq ma’lum tanadan ham, FIM suffiksidan ham farq qiladi.</p><p>Hujjatga oid savolda til modeli tahlilidan oldin OCR yordamida matn va tuzilmani tayyorlash uchun ishlab chiqaruvchining hujjatga ishlov berish jarayonidan foydalanish mumkin. Dasturlash materiali allaqachon matn ko‘rinishida bo‘lsa, hujjatning tegishli parchalarini bering va amalga oshirishni qaysi shart belgilashini so‘rang. Yaratilgan kod yoki izoh berilgan spetsifikatsiyaga bog‘liq qolishi uchun har bir ajratilgan talabni uning manba bo‘limi bilan bog‘lang.</p><p>Vositalar va amaliy natijalar</p><p>Funksiya chaqirish ilovaga tavsiflangan amallar va ularning parametrlarini berish imkonini beradi. Model chaqiruvni tayyorlaydi, ilova uni bajaradi va qaytgan natija keyingi javob kontekstiga aylanadi. Kod yordamchisi ushbu sikl orqali qidiruv yoki hisoblash natijasini olishi mumkin, ammo taklif etilgan o‘zgarishni kompilyatsiya qilish, sinash yoki qo‘llash uchun hamon tashqi ishlab chiqish muhiti kerak.</p><p>Amaliy tuzatishda mosligi saqlanishi shart bo‘lgan ochiq interfeysni belgilang va qayta ko‘rilgan parcha, qisqa tushuntirish hamda kutilgan natijali kirish misollarini so‘rang. Yaratiladigan funksiya uchun qabul qilinadigan turlar va chegaraviy shartlarni ayting. Tushuntirish uchun kuzatib chiqiladigan kirish ma’lumotini bering, shunda javob aniq bajarilish yo‘lini qaytarilgan qiymat bilan bog‘laydi.</p><p>Codestral matn yaratadi. U Codestral Embedning kod qidirish vektorlarini, Devstralning repozitoriy avtomatizatsiyasini yoki vizual modelning tasvir yaratishini meros qilib olmaydi. Aynan 2508 model sahifasida parametrlar soni yoki boshqa relizdan olinadigan mustaqil maksimal javob uzunligi e’lon qilinmagan. Takrorlanadigan muharrir yoki suhbat jarayonini tayyorlashda nomlangan nashr, kod konteksti va zarur materialni saqlang.</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 · Paketli ishlov berish</b> <code>POST /v1/batches</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code></dd></div><div><dt>Chiqish</dt><dd><code>text</code></dd></div><div><dt>Chiqish formati</dt><dd>Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari</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\">endpoint</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>/v1/chat/completions</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\">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>mistralai/codestral-2508:batch</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\">requests</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>batch_item[]</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Elementlarning eng kam soni: 1</div></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\">requests[].custom_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>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\">requests[].body.messages</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>message[]</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\">completion_window</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>24h</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\">provider</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object|null</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\">requests[].body.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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>mistralai/codestral-2508:batch, mistralai/codestral-2508</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\">provider.only</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>mistral</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\">provider.allow_fallbacks</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean|null</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, null</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>endpoint, model, requests</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>text</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>representation</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>So‘rovga bevosita kiritilgan requests[] massivi; har bir elementda custom_id va body mavjud.</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>request_endpoint_profile</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>/v1/chat/completions</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>file_material</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>Chaqiruvchi haqiqiy UTF-8 JSONL ma’lumotlarini mahalliy tarzda requests[] ichiga o‘qishi mumkin. Yuklash maqsadi, input_file_id yoki faylga havola ishlatilmaydi. Mijoz materiali yo‘q yoki bo‘sh bo‘lsa, tayyorlash POST dan oldin to‘xtaydi.</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>serialization_order</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>endpoint, model, provider (agar berilgan bo‘lsa), completion_window (agar berilgan bo‘lsa), requests eng oxirida</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>provider.only, provider.allow_fallbacks, completion_window</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>schema_scope</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>Hujjatlarda ko‘rsatilgan Batch tuzilmasiga bevosita kiritilgan matnli Chat Completions so‘rovlarining tanalari.</td></tr></tbody></table></div><p>Hayot sikli: <code>asynchronous</code></p><p class=\"note-s\"><code>GET /v1/batches/{operation_id}</code> · Dastlabki yaratish javobida amalda qaytarilgan response.id; aynan o‘sha foydalanuvchi/kalit/guruh</p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariflar</h3><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><dt>Ochiq ko‘rsatilgan keshlash narxlari</dt><dd>Yoqilmagan <span class=\"note-s\">Ochiq ko‘rsatilgan keshlash so‘ralganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</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>Kontekst tokenlari soni bundan ko‘p</th><th>Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</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=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.0009</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.00003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</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>So‘rov uzunligi bo‘yicha 1-daraja</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>0</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.0009</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.00003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Paketli ishlov berish</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-1890-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1890-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · Saqlangan sinov namunasi</button><button class=\"cg-tab\" id=\"model-code-1890-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1890-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · Mijozning haqiqiy JSONL ma’lumotlari</button><button class=\"cg-tab\" id=\"model-code-1890-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1890-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · Har bir yakunlangan natijani saqlang</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-1890-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1890-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json\nfrom pathlib import Path\nbody=json.loads(&#39;{&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;,&quot;model&quot;:&quot;mistralai/codestral-2508:batch&quot;,&quot;requests&quot;:[{&quot;custom_id&quot;:&quot;req-0001&quot;,&quot;body&quot;:{&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Hello!&quot;}],&quot;max_tokens&quot;:16}}]}&#39;)\nPath(&quot;batch-request.json&quot;).write_text(json.dumps(body,ensure_ascii=False),encoding=&quot;utf-8&quot;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1890-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1890-tab-1\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(&quot;Customer JSONL file is missing&quot;)\n    items = [json.loads(line) for line in path.read_text(encoding=&quot;utf-8&quot;).splitlines() if line.strip()]\n    if not items: raise ValueError(&quot;Customer JSONL contains no requests&quot;)\n    ids = set()\n    for item in items:\n        if set(item) != {&quot;custom_id&quot;, &quot;body&quot;}: raise ValueError(&quot;Each item needs custom_id and body&quot;)\n        cid = item[&quot;custom_id&quot;]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(&quot;custom_id must be nonempty and unique&quot;)\n        ids.add(cid)\n        if not isinstance(item[&quot;body&quot;], dict) or not item[&quot;body&quot;].get(&quot;messages&quot;): raise ValueError(&quot;Supply actual text messages&quot;)\n        supplied_model = item[&quot;body&quot;].get(&quot;model&quot;)\n        if supplied_model is not None and supplied_model not in [&#39;mistralai/codestral-2508:batch&#39;, &#39;mistralai/codestral-2508&#39;]: raise ValueError(&quot;body.model must be an exact documented caller or wire ID&quot;)\n    return {&quot;endpoint&quot;:&quot;/v1/chat/completions&quot;, &quot;model&quot;:&quot;mistralai/codestral-2508:batch&quot;, &quot;requests&quot;:items}\n\nif __name__ == &quot;__main__&quot;:\n    material = os.environ.get(&quot;AILOOT_BATCH_REQUESTS_JSONL&quot;, &quot;&quot;)\n    if not material: raise SystemExit(&quot;Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file&quot;)\n    body = prepare_requests(material)\n    key = os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;)\n    if not key: raise SystemExit(&quot;Set AILOOT_API_KEY&quot;)\n    request = Request(&quot;https://api.ailoot.ai/v1/batches&quot;, data=json.dumps(body, ensure_ascii=False).encode(&quot;utf-8&quot;), headers={&quot;Authorization&quot;:&quot;Bearer &quot; + key, &quot;Content-Type&quot;:&quot;application/json&quot;}, method=&quot;POST&quot;)\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(&quot;batch-create-response.json&quot;).write_bytes(raw)\n        print(raw.decode(&quot;utf-8&quot;))\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-1890-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1890-tab-2\" hidden><pre data-lang=\"python\"><code>import json\nfrom pathlib import Path\nraw = Path(&quot;batch-status-response.json&quot;).read_bytes()\nresponse = json.loads(raw)\nif response.get(&quot;status&quot;) != &quot;completed&quot;:\n    raise SystemExit(&quot;Keep the original operation; read its status without resubmitting&quot;)\nresults = response.get(&quot;results&quot;)\nif not isinstance(results, list) or not results:\n    raise SystemExit(&quot;Preserve the original response; completed results are missing&quot;)\nPath(&quot;batch-results.jsonl&quot;).write_text(&quot;&quot;.join(json.dumps(item, ensure_ascii=False) + &quot;\\n&quot; for item in results), encoding=&quot;utf-8&quot;)\n# Preserve batch-status-response.json with aggregate usage and every result/error.\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 · Paketli ishlov berish</h4><p class=\"note-s\">Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari</p><ul class=\"card-result-paths\"><li><code>GET /v1/batches/{operation_id}</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-1891-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1891-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · 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-1891-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1891-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nBATCH_OPERATION_ID=&quot;$(python3 - &lt;&lt;&#39;PY_ID&#39;\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(&quot;batch-create-response.json&quot;).read_text(encoding=&quot;utf-8&quot;))\noperation = response.get(&quot;id&quot;)\nif not isinstance(operation, str) or not operation: raise SystemExit(&quot;No actual original operation ID; preserve the response and do not resubmit&quot;)\nprint(quote(operation, safe=&quot;&quot;))\nPY_ID\n)&quot;\ncurl --fail-with-body --silent --show-error &quot;https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID&quot; \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o batch-status-response.json\n</code></pre></div></div></div><div class=\"card-result-process\" data-all-results><h5>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.</p><p class=\"note-s\">Dastlabki holat haqidagi to‘liq JSON ni, har bir natija/custom_id ni va to‘liq javob yoki xato tanasini saqlang. Tugallangan results[] ni hech narsani filtrlab tashlamasdan JSONL sifatida saqlang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Dastlabki operatsiya ID sini saqlang. 503 result_pending_check javobida X-Should-Retry:false mavjud; natijasi noma’lum bo‘lgan dastlabki paketni 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></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">results[].custom_id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">results[].response.body.choices[].message.content</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string|null</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">results[].error</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object|null</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object|null</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">endpoint</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">status</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">request_counts</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">results[].id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">results[].response.status_code</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>integer</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">results[].response.request_id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>string</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Hujjatlarda ko‘rsatilgan, so‘rovga bevosita kiritiladigan tuzilma yaroqsiz, kalitlar takrorlangan, element identifikatori noto‘g‘ri yoki so‘rov modelning sozlangan imkoniyatlariga zid.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Har qanday yangi yuborishdan oldin ko‘rsatilgan maydonlarni tuzating.</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 yaroqsiz.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Foydalanishga ruxsat berilgan Ailoot kalitidan foydalaning.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>403 · <code>permission_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Paketli ishlov berish guruhi mavjud emas.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Kalit/guruhning foydalanish huquqini tekshiring.</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>Paketli ishlov berish to‘lovi balansdan yechiladi; obuna orqali yaratish rad etiladi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Foydalanishga ruxsat berilgan, to‘lovi balansdan yechiladigan guruhdan foydalaning.</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>Paket kirish ma’lumotlari uchun narx hisoblab bo‘lmaydi.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Javobni saqlang; tegishli API oilasi uchun hujjatlarda belgilangan kirish ma’lumotlaridan 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>Paketli ishlov berish uchun zaxira mavjud emas.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi so‘rovdan oldin so‘rovni qabul qilishga ruxsat masalasini hal qiling.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code>price_unavailable</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Paketli ishlov berish usulining narxi yoki tizimning ichki tariflari mavjud emas.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Javobni saqlang; narxlarni almashtirmang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>503 · <code>api_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Ta’minotchining aynan shu yo‘nalishi mavjud emas.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yo‘nalishni tuzatish uchun javobni saqlang.</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 natijani tekshirish kerak; X-Should-Retry:false.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Dastlabki operation_id/id ni saqlang va uning holatini o‘qing; dastlabki POST ni hech qachon takrorlamang.</td></tr><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>404 · <code>not_found</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Paket holatini tekshirish operatsiyasi mavjud emas yoki boshqa foydalanuvchi/kalit/guruhga tegishli.</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Aynan dastlabki id va o‘sha foydalanuvchi/kalit/guruhdan foydalaning.</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=mistralai%2Fcodestral-2508%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-2508%3Abatch&amp;fmt=batches\"><code>mistralai/codestral-2508:batch</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=mistralai%2Fcodestral-2508%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fcodestral-2508%3Abatch&amp;fmt=batches\"><code>mistralai/codestral-2508:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/codestral-2508:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|mistralai%2Fcodestral-2508%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.03,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Hujjatlarda ko‘rsatilgan, so‘rovga bevosita kiritiladigan tuzilma yaroqsiz, kalitlar takrorlangan, element identifikatori noto‘g‘ri yoki so‘rov modelning sozlangan imkoniyatlariga zid.",
                "http_status": 400,
                "recovery": "Har qanday yangi yuborishdan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "API kaliti yaroqsiz.",
                "http_status": 401,
                "recovery": "Foydalanishga ruxsat berilgan Ailoot kalitidan foydalaning.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish guruhi mavjud emas.",
                "http_status": 403,
                "recovery": "Kalit/guruhning foydalanish huquqini tekshiring.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish to‘lovi balansdan yechiladi; obuna orqali yaratish rad etiladi.",
                "http_status": 422,
                "recovery": "Foydalanishga ruxsat berilgan, to‘lovi balansdan yechiladigan guruhdan foydalaning.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Paket kirish ma’lumotlari uchun narx hisoblab bo‘lmaydi.",
                "http_status": 422,
                "recovery": "Javobni saqlang; tegishli API oilasi uchun hujjatlarda belgilangan kirish ma’lumotlaridan foydalaning.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish uchun zaxira mavjud emas.",
                "http_status": 402,
                "recovery": "Yangi so‘rovdan oldin so‘rovni qabul qilishga ruxsat masalasini hal qiling.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish usulining narxi yoki tizimning ichki tariflari mavjud emas.",
                "http_status": 503,
                "recovery": "Javobni saqlang; narxlarni almashtirmang.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Ta’minotchining aynan shu yo‘nalishi mavjud emas.",
                "http_status": 503,
                "recovery": "Yo‘nalishni tuzatish uchun javobni saqlang.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Dastlabki natijani tekshirish kerak; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Dastlabki operation_id/id ni saqlang va uning holatini o‘qing; dastlabki POST ni hech qachon takrorlamang.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "Paket holatini tekshirish operatsiyasi mavjud emas yoki boshqa foydalanuvchi/kalit/guruhga tegishli.",
                "http_status": 404,
                "recovery": "Aynan dastlabki id va o‘sha foydalanuvchi/kalit/guruhdan foydalaning.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Dastlabki holat haqidagi to‘liq JSON ni, har bir natija/custom_id ni va to‘liq javob yoki xato tanasini saqlang. Tugallangan results[] ni hech narsani filtrlab tashlamasdan JSONL sifatida saqlang.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch",
                  "mistralai/codestral-2508"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "mistral"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "mistralai/codestral-2508:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "mistralai/codestral-2508:batch",
                              "mistralai/codestral-2508"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Chaqiruvchi haqiqiy UTF-8 JSONL ma’lumotlarini mahalliy tarzda requests[] ichiga o‘qishi mumkin. Yuklash maqsadi, input_file_id yoki faylga havola ishlatilmaydi. Mijoz materiali yo‘q yoki bo‘sh bo‘lsa, tayyorlash POST dan oldin to‘xtaydi.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "So‘rovga bevosita kiritilgan requests[] massivi; har bir elementda custom_id va body mavjud.",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Hujjatlarda ko‘rsatilgan Batch tuzilmasiga bevosita kiritilgan matnli Chat Completions so‘rovlarining tanalari.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (agar berilgan bo‘lsa)",
              "completion_window (agar berilgan bo‘lsa)",
              "requests eng oxirida"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Dastlabki yaratish javobida amalda qaytarilgan response.id; aynan o‘sha foydalanuvchi/kalit/guruh",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Dastlabki operatsiya ID sini saqlang. 503 result_pending_check javobida X-Should-Retry:false mavjud; natijasi noma’lum bo‘lgan dastlabki paketni hech qachon qayta yubormang."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenlar uchun bazaviy tariflar",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "So‘rov uzunligi bo‘yicha 1-daraja",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"mistralai/codestral-2508:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/codestral-2508:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text"
        ],
        "label": "Paketli ishlov berish",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.9,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.03,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.9,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0009000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000009",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.00003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000003",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    }
  ],
  "model_id": "mistralai/codestral-2508:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "9c9da4b2414eded9b4281f54346d49970a6737dcb7f6b371dec9543f9fc5fa31",
    "input_html_sha256": "9f84e86efc4233f68677a7a25a5fa9877b3b93d283e01727706b2317c2daebe4",
    "private_audit_sha256": "5fe8dbc7aec6d132b42c2692ad5af6aa4e04ffa130ff90e28b5dc04916a3e91d",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/mistralai-codestral-2508-u003a-batch/",
    "description": "Codestral 2508 — Mistral AI kompaniyasining kod yaratish va kontekstga mos to‘ldirish uchun matn modeli. U tez-tez bajariladigan muharrir vazifalari, jumladan kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlar uchun optimallashtirilgan; ishlab chiqaruvchi ko‘rsatgan konteksti 128k, suhbat, tuzilmali natija va vosita imkoniyatlari hujjatlashtirilgan.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/mistralai-codestral-2508-u003a-batch/index.md",
    "title": "Mistral: Codestral 2508 (batch) — Ailoot",
    "url": "https://ailoot.ai/models/uz/mistralai-codestral-2508-u003a-batch/"
  },
  "rawModel": {
    "about": "Codestral 2508 — Mistral AI kompaniyasining tez-tez takrorlanadigan, kechikishga sezgir to‘ldirish va yaratish vazifalari uchun kod modeli. U manba kodi va matnli talablarni qabul qilib, amalga oshirilgan yechim, to‘ldirish, tuzatish yoki tushuntirishni o‘z ichiga olishi mumkin bo‘lgan matn qaytaradi. Nomlangan 2508 nashri embedding modeli yoki mustaqil to‘liq repozitoriy agenti bo‘lishdan ko‘ra dasturchining joriy tahrir kontekstiga yo‘naltirilgan.\n\nKodni to‘ldirish va 2508 yangilanishi\n\nIshlab chiqaruvchi Codestralni kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlash uchun tavsiya qiladi. Relizda to‘ldirish xatti-harakatidagi yaxshilanishlar, jumladan nazoratsiz davom etuvchi yaratishni kamaytirish, shuningdek suhbat rejimida ko‘rsatmalarga rioya qilish va kod vazifalaridagi yaxshilanishlar ta’riflanadi. Bular Codestralning ushbu nashridagi o‘zgarishlar; uni o‘rab turgan dasturlash tizimining qidiruv va avtonom agent imkoniyatlari alohida nomlangan komponentlarga tegishli.\n\nTo‘ldirish vazifasida tegishli funksiya imzosi, e’lonlar va chaqiruv kontekstini kursor joylashuvi bilan birga saqlang. Kerakli natija faqat yetishmayotgan kodmi yoki to‘liq qayta ko‘rilgan funksiyami, aniqlang. Muharrir uslubidagi so‘rov mavjud qaytarish turini saqlaydigan, takroriy qiymatlarni qoldiradigan va chaqiruvchi bergan kirish ma’lumotini o‘zgartirmaydigan sikl tanasini talab qilishi mumkin. Shunda natijaning aniq kiritish joyi va belgilangan xatti-harakati bo‘ladi.\n\nO‘rtadagi bo‘shliqni to‘ldirishga tayyorlash\n\nIshlab chiqaruvchining FIM interfeysida prompt to‘ldiriladigan matn yoki kodni, ixtiyoriy suffiks esa bo‘shliqdan keyingi materialni beradi. Ikkalasi ham berilganda model ular orasidagi bo‘shliqni to‘ldiradi. Suffikssiz u promptdan boshlab davom ettiradi. Bu kod o‘zgarishi va izoh so‘raladigan odatiy suhbat so‘rovidan farq qiladi; tayyorlashning har bir usuli natija uchun boshqacha talablarni belgilaydi.\n\nBo‘shliqni to‘ldirish uchun foydali kirish ma’lumoti funksiya boshlanishi, kiritilgan parchadan keyin kelishi shart bo‘lgan kod va tegishli tur yoki yordamchi ta’riflarni o‘z ichiga oladi. Qaytgan matn mavjud parchaga mos tushishi uchun chekinishlar va ajratgichlarni saqlang. Vazifaga faqat yetishmayotgan tana kerak bo‘lsa, butun faylni qayta yozish o‘rniga shu tanani so‘rang. Alohida suhbat savoli to‘ldirilgan parcha nega talabga mos kelishini tushuntirishi mumkin.\n\nRasmiy FIM hujjatlari chiqish tokenlari budjetini belgilashga ruxsat beradi va prompt bilan ushbu budjet yig‘indisi model konteksti ichida qolishini talab qiladi. Shuningdek, to‘xtatish ketma-ketliklari va yaratilayotgan mazmunni oqim orqali uzatishni hujjatlashtiradi. Natija koddagi bo‘shliqqa mos tushishi shart bo‘lsa, to‘ldirish jarayonini; vazifa kod bilan birga izoh talab qilsa, suhbat jarayonini tanlang.\n\nKontekst va yordamchi imkoniyatlar\n\nModel sahifasida 128k kontekst oynasi berilgan. Amaldagi tahrir vazifasini aniq saqlagan holda, ko‘zlangan o‘zgarishni belgilaydigan manba va e’lonlarni kontekstda qoldiring. Xato tuzatish so‘rovi uchun ta’sirlangan funksiya, aniq muvaffaqiyatsiz kirish, kutilgan natija va xato yoki kuzatilgan xatti-harakatni bering. Taklif etilgan tuzatishni uning izohi va misollaridan alohida so‘rang.\n\nSahifada suhbat va FIM imkoniyatlari bilan bir qatorda tuzilmali natijalar, funksiya chaqirish, oldindan ma’lum natijalar, hujjat bo‘yicha savol-javob, javob prefikslari va paketli ishlov berish ham sanaladi. Tuzilmali kod tahlili natijasi uchun ta’sirlangan belgi, kuzatilgan nomuvofiqlik, taklif etilgan o‘zgarish va hali aniqlashtirilishi kerak bo‘lgan taxmin kabi maydonlarni belgilang. Mistralning tuzilmali natija yo‘riqnomasi JSON rejimini maxsus sxemadan farqlaydi; kerakli JSON shakli promptda aytiladi.\n\nOldindan ma’lum natijalar javobning katta qismlari avvaldan ma’lum bo‘lgan mazmun uchun mo‘ljallangan. Ulardan hujjat yoki kod faylini cheklangan tahrir bilan qayta yaratishda, qolgan mazmunni saqlagan holda foydalanish mumkin. Aniq o‘zgarish va saqlanishi kerak bo‘lgan materialni ko‘rsating. Javob prefiksi esa yaratish davom etadigan ma’lum boshlanishni beradi; u to‘liq ma’lum tanadan ham, FIM suffiksidan ham farq qiladi.\n\nHujjatga oid savolda til modeli tahlilidan oldin OCR yordamida matn va tuzilmani tayyorlash uchun ishlab chiqaruvchining hujjatga ishlov berish jarayonidan foydalanish mumkin. Dasturlash materiali allaqachon matn ko‘rinishida bo‘lsa, hujjatning tegishli parchalarini bering va amalga oshirishni qaysi shart belgilashini so‘rang. Yaratilgan kod yoki izoh berilgan spetsifikatsiyaga bog‘liq qolishi uchun har bir ajratilgan talabni uning manba bo‘limi bilan bog‘lang.\n\nVositalar va amaliy natijalar\n\nFunksiya chaqirish ilovaga tavsiflangan amallar va ularning parametrlarini berish imkonini beradi. Model chaqiruvni tayyorlaydi, ilova uni bajaradi va qaytgan natija keyingi javob kontekstiga aylanadi. Kod yordamchisi ushbu sikl orqali qidiruv yoki hisoblash natijasini olishi mumkin, ammo taklif etilgan o‘zgarishni kompilyatsiya qilish, sinash yoki qo‘llash uchun hamon tashqi ishlab chiqish muhiti kerak.\n\nAmaliy tuzatishda mosligi saqlanishi shart bo‘lgan ochiq interfeysni belgilang va qayta ko‘rilgan parcha, qisqa tushuntirish hamda kutilgan natijali kirish misollarini so‘rang. Yaratiladigan funksiya uchun qabul qilinadigan turlar va chegaraviy shartlarni ayting. Tushuntirish uchun kuzatib chiqiladigan kirish ma’lumotini bering, shunda javob aniq bajarilish yo‘lini qaytarilgan qiymat bilan bog‘laydi.\n\nCodestral matn yaratadi. U Codestral Embedning kod qidirish vektorlarini, Devstralning repozitoriy avtomatizatsiyasini yoki vizual modelning tasvir yaratishini meros qilib olmaydi. Aynan 2508 model sahifasida parametrlar soni yoki boshqa relizdan olinadigan mustaqil maksimal javob uzunligi e’lon qilinmagan. Takrorlanadigan muharrir yoki suhbat jarayonini tayyorlashda nomlangan nashr, kod konteksti va zarur materialni saqlang.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 256000,
      "manufacturer_input": [
        "text",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0009000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000009",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          }
        ],
        "summary": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "ctx": null,
    "formats": [
      "batches"
    ],
    "id": "mistralai/codestral-2508:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.03,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Preserve full JSON and every result; provider real IDs are only read from actual returned responses.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Hujjatlarda ko‘rsatilgan, so‘rovga bevosita kiritiladigan tuzilma yaroqsiz, kalitlar takrorlangan, element identifikatori noto‘g‘ri yoki so‘rov modelning sozlangan imkoniyatlariga zid.",
                "http_status": 400,
                "recovery": "Har qanday yangi yuborishdan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "API kaliti yaroqsiz.",
                "http_status": 401,
                "recovery": "Foydalanishga ruxsat berilgan Ailoot kalitidan foydalaning.",
                "type": "authentication_error"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish guruhi mavjud emas.",
                "http_status": 403,
                "recovery": "Kalit/guruhning foydalanish huquqini tekshiring.",
                "type": "permission_error"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish to‘lovi balansdan yechiladi; obuna orqali yaratish rad etiladi.",
                "http_status": 422,
                "recovery": "Foydalanishga ruxsat berilgan, to‘lovi balansdan yechiladigan guruhdan foydalaning.",
                "type": "invalid_request_error"
              },
              {
                "code": null,
                "condition": "Paket kirish ma’lumotlari uchun narx hisoblab bo‘lmaydi.",
                "http_status": 422,
                "recovery": "Javobni saqlang; tegishli API oilasi uchun hujjatlarda belgilangan kirish ma’lumotlaridan foydalaning.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish uchun zaxira mavjud emas.",
                "http_status": 402,
                "recovery": "Yangi so‘rovdan oldin so‘rovni qabul qilishga ruxsat masalasini hal qiling.",
                "type": "billing_error"
              },
              {
                "code": null,
                "condition": "Paketli ishlov berish usulining narxi yoki tizimning ichki tariflari mavjud emas.",
                "http_status": 503,
                "recovery": "Javobni saqlang; narxlarni almashtirmang.",
                "type": "price_unavailable"
              },
              {
                "code": null,
                "condition": "Ta’minotchining aynan shu yo‘nalishi mavjud emas.",
                "http_status": 503,
                "recovery": "Yo‘nalishni tuzatish uchun javobni saqlang.",
                "type": "api_error"
              },
              {
                "code": "result_pending_check",
                "condition": "Dastlabki natijani tekshirish kerak; X-Should-Retry:false.",
                "http_status": 503,
                "recovery": "Dastlabki operation_id/id ni saqlang va uning holatini o‘qing; dastlabki POST ni hech qachon takrorlamang.",
                "type": null
              },
              {
                "code": "not_found",
                "condition": "Paket holatini tekshirish operatsiyasi mavjud emas yoki boshqa foydalanuvchi/kalit/guruhga tegishli.",
                "http_status": 404,
                "recovery": "Aynan dastlabki id va o‘sha foydalanuvchi/kalit/guruhdan foydalaning.",
                "type": null
              }
            ],
            "example_body": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "input_constraints": [
              "Use the exact shown :batch model ID.",
              "Each custom_id must be nonempty and unique within the batch.",
              "Keep requests last in the serialized body; duplicate JSON keys are rejected.",
              "Each body.model is omitted or equals the exact batch caller or its documented base ID.",
              "Per-item provider, service_tier and input_type are outside this batch profile.",
              "stream is omitted or false.",
              "Supply text messages for this Chat batch profile; image/audio/file/video objects, hosted tools and cache-control fields are outside this profile.",
              "If body.model is present, use only the exact caller or wire ID listed here; no suffix conversion is needed.",
              "For google/ wire IDs, all items use an identical response_format."
            ],
            "outputs": {
              "all_results": "Dastlabki holat haqidagi to‘liq JSON ni, har bir natija/custom_id ni va to‘liq javob yoki xato tanasini saqlang. Tugallangan results[] ni hech narsani filtrlab tashlamasdan JSONL sifatida saqlang.",
              "enclosing_family": "batch",
              "family": "text",
              "fields": [
                {
                  "name": "results[].custom_id",
                  "type": "string"
                },
                {
                  "name": "results[].response.body.choices[].message.content",
                  "type": "string|null"
                },
                {
                  "name": "results[].error",
                  "type": "object|null"
                },
                {
                  "name": "usage",
                  "type": "object|null"
                },
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "endpoint",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "status",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "request_counts",
                  "type": "object"
                },
                {
                  "description": null,
                  "name": "results[].id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "results[].response.status_code",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "results[].response.request_id",
                  "type": "string"
                }
              ],
              "format": "Javobga bevosita kiritilgan results[].response.body JSON ma’lumotlari"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "/v1/chat/completions"
                ],
                "enum_known": true,
                "name": "endpoint",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "min_items": 1,
                "name": "requests",
                "required": true,
                "type": "batch_item[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].custom_id",
                "required": true,
                "type": "string",
                "unique_within_batch": true
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "requests[].body.messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "24h"
                ],
                "enum_known": true,
                "name": "completion_window",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "mistralai/codestral-2508:batch",
                  "mistralai/codestral-2508"
                ],
                "enum_known": true,
                "name": "requests[].body.model",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  [
                    "mistral"
                  ]
                ],
                "enum_known": true,
                "name": "provider.only",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  false,
                  null
                ],
                "enum_known": true,
                "name": "provider.allow_fallbacks",
                "required": false,
                "type": "boolean|null"
              }
            ],
            "provider_policy": {
              "allow_fallbacks": false,
              "configured_only": [
                "mistral"
              ],
              "per_item_override": false,
              "when_omitted": "Current Source injects the exact persisted declaration before fresh submission."
            },
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "completion_window": {
                  "enum": [
                    "24h"
                  ],
                  "type": "string"
                },
                "endpoint": {
                  "enum": [
                    "/v1/chat/completions"
                  ],
                  "type": "string"
                },
                "model": {
                  "enum": [
                    "mistralai/codestral-2508:batch"
                  ],
                  "type": "string"
                },
                "provider": {
                  "additionalProperties": false,
                  "properties": {
                    "allow_fallbacks": {
                      "enum": [
                        false,
                        null
                      ],
                      "type": [
                        "boolean",
                        "null"
                      ]
                    },
                    "only": {
                      "enum": [
                        [
                          "mistral"
                        ]
                      ],
                      "items": {
                        "enum": [
                          "mistral"
                        ],
                        "type": "string"
                      },
                      "maxItems": 1,
                      "minItems": 1,
                      "type": "array"
                    }
                  },
                  "type": [
                    "object",
                    "null"
                  ]
                },
                "requests": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "body": {
                        "additionalProperties": true,
                        "properties": {
                          "max_tokens": {
                            "minimum": 1,
                            "type": "integer"
                          },
                          "messages": {
                            "items": {
                              "properties": {
                                "content": {
                                  "type": "string"
                                },
                                "role": {
                                  "type": "string"
                                }
                              },
                              "required": [
                                "role",
                                "content"
                              ],
                              "type": "object"
                            },
                            "minItems": 1,
                            "type": "array"
                          },
                          "model": {
                            "enum": [
                              "mistralai/codestral-2508:batch",
                              "mistralai/codestral-2508"
                            ],
                            "type": "string"
                          }
                        },
                        "required": [
                          "messages"
                        ],
                        "type": "object"
                      },
                      "custom_id": {
                        "minLength": 1,
                        "type": "string"
                      }
                    },
                    "required": [
                      "custom_id",
                      "body"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                }
              },
              "required": [
                "endpoint",
                "model",
                "requests"
              ],
              "type": "object"
            },
            "schema_template": {
              "endpoint": "/v1/chat/completions",
              "model": "mistralai/codestral-2508:batch",
              "requests": [
                {
                  "body": {
                    "max_tokens": 16,
                    "messages": [
                      {
                        "content": "Hello!",
                        "role": "user"
                      }
                    ]
                  },
                  "custom_id": "req-0001"
                }
              ]
            },
            "unsupported": [
              "Files/input_file_id batch upload workflow",
              "active cancel route",
              "public batch list/delete/result-download route",
              "model-name-derived capability or weights equivalence"
            ]
          },
          "input": {
            "content_type": "application/json",
            "file_material": "Chaqiruvchi haqiqiy UTF-8 JSONL ma’lumotlarini mahalliy tarzda requests[] ichiga o‘qishi mumkin. Yuklash maqsadi, input_file_id yoki faylga havola ishlatilmaydi. Mijoz materiali yo‘q yoki bo‘sh bo‘lsa, tayyorlash POST dan oldin to‘xtaydi.",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "provider.only",
              "provider.allow_fallbacks",
              "completion_window"
            ],
            "representation": "So‘rovga bevosita kiritilgan requests[] massivi; har bir elementda custom_id va body mavjud.",
            "request_endpoint_profile": "/v1/chat/completions",
            "required": [
              "endpoint",
              "model",
              "requests"
            ],
            "schema_scope": "Hujjatlarda ko‘rsatilgan Batch tuzilmasiga bevosita kiritilgan matnli Chat Completions so‘rovlarining tanalari.",
            "serialization_order": [
              "endpoint",
              "model",
              "provider (agar berilgan bo‘lsa)",
              "completion_window (agar berilgan bo‘lsa)",
              "requests eng oxirida"
            ]
          },
          "lifecycle": {
            "cancel": null,
            "create": {
              "accepted_status": 202,
              "http": "POST",
              "path": "/v1/batches"
            },
            "delete": null,
            "file_upload": null,
            "mode": "asynchronous",
            "observed_status_values": [
              "validating",
              "in_progress",
              "finalizing",
              "completed",
              "failed",
              "expired",
              "cancelling",
              "cancelled"
            ],
            "owned_results": {
              "behavior": "Completed results are saved as owned JSONL, read back byte-for-byte and registered in the existing media library before publication after settlement. Status returns inline results; no separate Batch download route is added.",
              "format": "application/x-ndjson",
              "public_url_field_in_status": null
            },
            "status": {
              "http": "GET",
              "id_source": "Dastlabki yaratish javobida amalda qaytarilgan response.id; aynan o‘sha foydalanuvchi/kalit/guruh",
              "path": "/v1/batches/{operation_id}"
            },
            "terminal": [
              "completed",
              "failed",
              "expired",
              "cancelled"
            ],
            "unknown": "Dastlabki operatsiya ID sini saqlang. 503 result_pending_check javobida X-Should-Retry:false mavjud; natijasi noma’lum bo‘lgan dastlabki paketni hech qachon qayta yubormang."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/batches"
          },
          "output": {
            "all_results": "Preserve the full original status JSON, every result/custom_id and complete response or error body. Save completed results[] as JSONL without filtering.",
            "family": "batch",
            "format": "JSON; completed results[] are returned inline and can be saved as JSONL."
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenlar uchun bazaviy tariflar",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "So‘rov uzunligi bo‘yicha 1-daraja",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\npython3 - <<'PY_REQUEST'\nimport json\nfrom pathlib import Path\nbody=json.loads('{\"endpoint\":\"/v1/chat/completions\",\"model\":\"mistralai/codestral-2508:batch\",\"requests\":[{\"custom_id\":\"req-0001\",\"body\":{\"messages\":[{\"role\":\"user\",\"content\":\"Hello!\"}],\"max_tokens\":16}}]}')\nPath(\"batch-request.json\").write_text(json.dumps(body,ensure_ascii=False),encoding=\"utf-8\")\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/batches \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @batch-request.json -D batch-response-headers.txt -o batch-create-response.json\n",
            "label": "curl · retained fixture",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\nfrom urllib.request import Request, urlopen\n\ndef prepare_requests(customer_path):\n    path = Path(customer_path)\n    if not path.is_file(): raise ValueError(\"Customer JSONL file is missing\")\n    items = [json.loads(line) for line in path.read_text(encoding=\"utf-8\").splitlines() if line.strip()]\n    if not items: raise ValueError(\"Customer JSONL contains no requests\")\n    ids = set()\n    for item in items:\n        if set(item) != {\"custom_id\", \"body\"}: raise ValueError(\"Each item needs custom_id and body\")\n        cid = item[\"custom_id\"]\n        if not isinstance(cid, str) or not cid.strip() or cid in ids: raise ValueError(\"custom_id must be nonempty and unique\")\n        ids.add(cid)\n        if not isinstance(item[\"body\"], dict) or not item[\"body\"].get(\"messages\"): raise ValueError(\"Supply actual text messages\")\n        supplied_model = item[\"body\"].get(\"model\")\n        if supplied_model is not None and supplied_model not in ['mistralai/codestral-2508:batch', 'mistralai/codestral-2508']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/codestral-2508:batch\", \"requests\":items}\n\nif __name__ == \"__main__\":\n    material = os.environ.get(\"AILOOT_BATCH_REQUESTS_JSONL\", \"\")\n    if not material: raise SystemExit(\"Set AILOOT_BATCH_REQUESTS_JSONL to your actual customer file\")\n    body = prepare_requests(material)\n    key = os.environ.get(\"AILOOT_API_KEY\", \"\")\n    if not key: raise SystemExit(\"Set AILOOT_API_KEY\")\n    request = Request(\"https://api.ailoot.ai/v1/batches\", data=json.dumps(body, ensure_ascii=False).encode(\"utf-8\"), headers={\"Authorization\":\"Bearer \" + key, \"Content-Type\":\"application/json\"}, method=\"POST\")\n    with urlopen(request) as response:\n        raw = response.read()\n        Path(\"batch-create-response.json\").write_bytes(raw)\n        print(raw.decode(\"utf-8\"))\n",
            "label": "Python HTTP · actual customer JSONL",
            "language": "python"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nBATCH_OPERATION_ID=\"$(python3 - <<'PY_ID'\nimport json\nfrom pathlib import Path\nfrom urllib.parse import quote\nresponse = json.loads(Path(\"batch-create-response.json\").read_text(encoding=\"utf-8\"))\noperation = response.get(\"id\")\nif not isinstance(operation, str) or not operation: raise SystemExit(\"No actual original operation ID; preserve the response and do not resubmit\")\nprint(quote(operation, safe=\"\"))\nPY_ID\n)\"\ncurl --fail-with-body --silent --show-error \"https://api.ailoot.ai/v1/batches/$BATCH_OPERATION_ID\" \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o batch-status-response.json\n",
            "label": "curl · original operation status",
            "language": "bash"
          },
          {
            "code": "import json\nfrom pathlib import Path\nraw = Path(\"batch-status-response.json\").read_bytes()\nresponse = json.loads(raw)\nif response.get(\"status\") != \"completed\":\n    raise SystemExit(\"Keep the original operation; read its status without resubmitting\")\nresults = response.get(\"results\")\nif not isinstance(results, list) or not results:\n    raise SystemExit(\"Preserve the original response; completed results are missing\")\nPath(\"batch-results.jsonl\").write_text(\"\".join(json.dumps(item, ensure_ascii=False) + \"\\n\" for item in results), encoding=\"utf-8\")\n# Preserve batch-status-response.json with aggregate usage and every result/error.\n",
            "label": "Python · save every completed result",
            "language": "python"
          }
        ],
        "family": "batch",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "batches",
        "hints": [
          "Read your actual request items before submission; inline requests are required.",
          "Keep the returned operation ID and every result. Never replay an unknown submission."
        ],
        "http": "POST",
        "in": 0.3,
        "input": [
          "text"
        ],
        "label": "Paketli ishlov berish",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 0.9,
        "output": [
          "text"
        ],
        "path": "/v1/batches",
        "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"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.0003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000003",
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": "0.0009000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.0000009",
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": "0.00003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": "0.00000003",
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "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": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          }
        ],
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.03,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 0.9,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000003",
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": "0.0009000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.0000009",
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": "0.00003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": "0.00000003",
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "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": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "mistralai/codestral-2508:batch",
        "request_model_id": "mistralai/codestral-2508:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Codestral 2508 (batch)",
    "price": {
      "in": 0.3,
      "in_label": null,
      "out": 0.9,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.3,
      "sort_out": 0.9,
      "varies": true
    },
    "short": "Codestral 2508 — Mistral AI kompaniyasining kod yaratish va kontekstga mos to‘ldirish uchun matn modeli. U tez-tez bajariladigan muharrir vazifalari, jumladan kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlar uchun optimallashtirilgan; ishlab chiqaruvchi ko‘rsatgan konteksti 128k, suhbat, tuzilmali natija va vosita imkoniyatlari 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": "Codestral 2508 — Mistral AI kompaniyasining kod yaratish va kontekstga mos to‘ldirish uchun matn modeli. U tez-tez bajariladigan muharrir vazifalari, jumladan kod o‘rtasidagi bo‘shliqni to‘ldirish va ko‘p qatorli tahrirlar uchun optimallashtirilgan; ishlab chiqaruvchi ko‘rsatgan konteksti 128k, suhbat, tuzilmali natija va vosita imkoniyatlari hujjatlashtirilgan.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "e20784bc037d5f661ae9526af23a1606e8b200a4db65d136774d121895f6f180",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "47af9b5b4701eaa63b6afa40adc3f29bf3587ba6b0211784ba10b390e7277426"
}
