{
  "aboutHtml": "<p>Mistral Medium 3.1 — matnli va vizual tushunish uchun multimodal Mistral AI nashri. Ishlab chiqaruvchi bu tahrirni Medium 3 qatori ichida ohang va samaradorlikni yaxshilaydigan versiya deb ta’riflaydi. U matn va tasvirlarni qabul qilib, matn yaratadi: tushuntirish, hujjat javobi, tuzilmali yozuv yoki taklif etilgan funksiya chaqiruvi. Ishlab chiqaruvchining ushbu nashr uchun qat’iy identifikatori — mistral-medium-2508.</p><p>Kontekst va muayyan nashr</p><p>Model sahifasida 128k kontekst oynasi hujjatlashtirilgan. Bog‘liq manba parchalarini, tasvir dalillarini, suhbat va foydalanuvchi vazifasini birga saqlash uchun undan foydalaning. Katta to‘plamni berishdan oldin hujjatlarning rollari va javob beriladigan savolni belgilang. Yakuniy material qisqa jadval yoki qayta ko‘rilgan bo‘lim bo‘lib qolgan holda, uzun kontekst aniq yo‘naltirilgan taqqoslashni qo‘llashi mumkin.</p><p>Medium 3.1 o‘z spetsifikatsiyasini saqlaydi. Medium 3.5 uchun ta’riflangan 256k kontekst, 128B zich arxitektura va sozlanadigan gibrid mulohaza rejimlarini ushbu yozuvga nisbat bermaslik kerak. 3.1 sahifasida keyingi modeldan ishonchli tarzda olinadigan parametrlar soni yoki alohida maksimal javob uzunligi soni berilmagan.</p><p>Tuzilmali natija va funksiyalar</p><p>Ishlab chiqaruvchi ushbu nashr imkoniyatlari orasida tuzilmali natijalar, funksiya chaqirish va oldindan ma’lum natijalarni sanaydi. Tuzilmali ajratish vazifasi uchun zarur maydonlar, kutilgan turlar va manbada yo‘q ma’lumotga munosabatni belgilang. Yozuv hujjat identifikatori, ajratilgan bayonot, uning manba joyi va qolgan savolni o‘z ichiga olishi mumkin. Dastur uni tahlil qilsa, faqat yozuvni so‘rang; kimdir talqinni tekshirishi kerak bo‘lsa, matnli izohni alohida saqlang.</p><p>Mistralning umumiy tuzilmali natija hujjatlari JSON rejimini maxsus sxemadan farqlaydi. JSON rejimi kerakli JSON shakli haqida aniq ko‘rsatma talab qiladi, maxsus yo‘l esa aniqroq tuzilmani belgilaydi. Bu yangi mazmun modali yoki tashqi harakat emas, matnli natijani formatlashdir.</p><p>Funksiyalar uchun ilova mavjud amal va argumentlarni belgilaydi, model mos chaqiruvni tanlab qiymatlarni tayyorlaydi, ilova esa uni bajaradi. Keyin uning natijasi keyingi javob uchun ma’lumotga aylanadi. Hujjat yordamchisi yetishmayotgan tayanch ma’lumotni olish uchun qidiruvdan foydalanishi mumkin, ammo faqat tashqi ilova shu qidiruvni taqdim etib, haqiqiy natijasini qaytarsa. Taklif etilgan chaqiruv va qaytgan ma’lumotni bir-biriga bog‘liq saqlang.</p><p>Oldindan ma’lum qismlarni saqlagan tahrirlar va javob prefikslari</p><p>Oldindan ma’lum natijalar kerakli natijaning katta qismi avvaldan ma’lum bo‘lganda, masalan cheklangan tahrirga muhtoj hujjat yoki kod faylida foydali. Mavjud mazmunni bering va o‘zgarishni, jumladan nima o‘zgarmasligi shartligini aniq tavsiflang. So‘rov hujjatning qolgan qismini saqlab, bitta bo‘lim atamalarini yangilashi yoki amalga oshirishning bir tafsilotini almashtirishi mumkin. Bashorat faylga qo‘llangan tugallangan o‘zgarishni emas, kutilgan chiqish mazmunini o‘z ichiga oladi.</p><p>Model sahifasida javob prefiksidan davom ettirish ham sanalgan. Ishlab chiqaruvchining suhbat hujjatlarida prefiks yordamchi javobining ma’lum boshlanishini beradi, undan keyin yaratish davom etadi. Ma’lum boshlanish va oldindan ma’lum tana tayyorlashning turli muammolarini hal qiladi. Paketli ishlov va agent/suhbat interfeyslari ham Medium 3.1ning alohida tasvir, audio yoki mulohaza nashrlari emas, ish jarayoni imkoniyatlaridir.</p><p>Hujjat va vizual savollar</p><p>Sanalgan hujjat-QnA jarayoni OCR bilan tayyorlangan matn, tuzilma va formatni til modeli tahlili bilan birlashtiradi. Vazifaga kerakli muayyan shart, parcha yoki bog‘lanish haqida so‘rang. Taqqoslash manba hujjatlarini belgilab, har bir topilma yonida manba joyini saqlagan holda umumiy bayonotlar, ziddiyatlar va ochiq tafsilotlarni so‘rashi mumkin.</p><p>Ishlab chiqaruvchining vizual yo‘riqnomasi Medium 3.1ni aniq o‘z ichiga oladi. Bevosita vizual savol o‘qiladigan diagramma, hujjat tasviri yoki skrinshotni berib, qaysi ko‘rinadigan dalil xulosani asoslashini so‘rashi mumkin. O‘qlar, birliklar, belgilar va qirqilgan maydon atrofidagi kontekstni saqlang. Bir nechta tasvir berilsa, qaysi biri asl, tahrir yoki tayanch ekanini modelning o‘zi topishiga qo‘yish o‘rniga ularning tartibi va rolini ko‘rsating.</p><p>Masalan, yozma jarayon talabini skrinshot bilan birlashtiring va ko‘rinadigan mosliklar, farqlar hamda ko‘proq ma’lumot talab qiladigan savollar jadvalini so‘rang. Boshqa vazifa hujjatning ikki versiyasini berib, nomlangan nomuvofiqlikni hal qilgan holda ularning umumiy shartlarini saqlaydigan qayta ko‘rilgan parchani so‘rashi mumkin. Bular hujjatlashtirilgan vizual, hujjat va tahrir imkoniyatlarining taklif etilgan qo‘llanishlari bo‘lib, zarur natija oldindan belgilanadi.</p><p>Yakuniy materialni tayyorlash</p><p>Yordamchiga aniq rol, foydalaniladigan manba materiali va javob shaklini bering. Doimiy javob qoidalarini tekshirilayotgan hujjatdan farqlang hamda yakuniy til va atamalarni ayting. Foydali javob ajratilgan fakt, uning manbasi va talqinni alohida berib, bitta birlashgan xulosaga qaraganda tekshirishni osonlashtirishi mumkin.</p><p>Hujjatlashtirilgan natija matn bo‘lib qoladi. Tashqi vositalar, fayl o‘zgarishlari va hujjatga keyingi ishlov suhbatga ulangan ilovaga tegishli. Nomlangan Medium 3.1 nashri va uning 128k kontekstini saqlang hamda keyingi qadamga haqiqatan kerakli tushuntirish, tuzilmali yozuv yoki aniq yo‘naltirilgan tahrirni so‘rang.</p>",
  "aboutText": "Mistral Medium 3.1 — matnli va vizual tushunish uchun multimodal Mistral AI nashri. Ishlab chiqaruvchi bu tahrirni Medium 3 qatori ichida ohang va samaradorlikni yaxshilaydigan versiya deb ta’riflaydi. U matn va tasvirlarni qabul qilib, matn yaratadi: tushuntirish, hujjat javobi, tuzilmali yozuv yoki taklif etilgan funksiya chaqiruvi. Ishlab chiqaruvchining ushbu nashr uchun qat’iy identifikatori — mistral-medium-2508.\n\nKontekst va muayyan nashr\n\nModel sahifasida 128k kontekst oynasi hujjatlashtirilgan. Bog‘liq manba parchalarini, tasvir dalillarini, suhbat va foydalanuvchi vazifasini birga saqlash uchun undan foydalaning. Katta to‘plamni berishdan oldin hujjatlarning rollari va javob beriladigan savolni belgilang. Yakuniy material qisqa jadval yoki qayta ko‘rilgan bo‘lim bo‘lib qolgan holda, uzun kontekst aniq yo‘naltirilgan taqqoslashni qo‘llashi mumkin.\n\nMedium 3.1 o‘z spetsifikatsiyasini saqlaydi. Medium 3.5 uchun ta’riflangan 256k kontekst, 128B zich arxitektura va sozlanadigan gibrid mulohaza rejimlarini ushbu yozuvga nisbat bermaslik kerak. 3.1 sahifasida keyingi modeldan ishonchli tarzda olinadigan parametrlar soni yoki alohida maksimal javob uzunligi soni berilmagan.\n\nTuzilmali natija va funksiyalar\n\nIshlab chiqaruvchi ushbu nashr imkoniyatlari orasida tuzilmali natijalar, funksiya chaqirish va oldindan ma’lum natijalarni sanaydi. Tuzilmali ajratish vazifasi uchun zarur maydonlar, kutilgan turlar va manbada yo‘q ma’lumotga munosabatni belgilang. Yozuv hujjat identifikatori, ajratilgan bayonot, uning manba joyi va qolgan savolni o‘z ichiga olishi mumkin. Dastur uni tahlil qilsa, faqat yozuvni so‘rang; kimdir talqinni tekshirishi kerak bo‘lsa, matnli izohni alohida saqlang.\n\nMistralning umumiy tuzilmali natija hujjatlari JSON rejimini maxsus sxemadan farqlaydi. JSON rejimi kerakli JSON shakli haqida aniq ko‘rsatma talab qiladi, maxsus yo‘l esa aniqroq tuzilmani belgilaydi. Bu yangi mazmun modali yoki tashqi harakat emas, matnli natijani formatlashdir.\n\nFunksiyalar uchun ilova mavjud amal va argumentlarni belgilaydi, model mos chaqiruvni tanlab qiymatlarni tayyorlaydi, ilova esa uni bajaradi. Keyin uning natijasi keyingi javob uchun ma’lumotga aylanadi. Hujjat yordamchisi yetishmayotgan tayanch ma’lumotni olish uchun qidiruvdan foydalanishi mumkin, ammo faqat tashqi ilova shu qidiruvni taqdim etib, haqiqiy natijasini qaytarsa. Taklif etilgan chaqiruv va qaytgan ma’lumotni bir-biriga bog‘liq saqlang.\n\nOldindan ma’lum qismlarni saqlagan tahrirlar va javob prefikslari\n\nOldindan ma’lum natijalar kerakli natijaning katta qismi avvaldan ma’lum bo‘lganda, masalan cheklangan tahrirga muhtoj hujjat yoki kod faylida foydali. Mavjud mazmunni bering va o‘zgarishni, jumladan nima o‘zgarmasligi shartligini aniq tavsiflang. So‘rov hujjatning qolgan qismini saqlab, bitta bo‘lim atamalarini yangilashi yoki amalga oshirishning bir tafsilotini almashtirishi mumkin. Bashorat faylga qo‘llangan tugallangan o‘zgarishni emas, kutilgan chiqish mazmunini o‘z ichiga oladi.\n\nModel sahifasida javob prefiksidan davom ettirish ham sanalgan. Ishlab chiqaruvchining suhbat hujjatlarida prefiks yordamchi javobining ma’lum boshlanishini beradi, undan keyin yaratish davom etadi. Ma’lum boshlanish va oldindan ma’lum tana tayyorlashning turli muammolarini hal qiladi. Paketli ishlov va agent/suhbat interfeyslari ham Medium 3.1ning alohida tasvir, audio yoki mulohaza nashrlari emas, ish jarayoni imkoniyatlaridir.\n\nHujjat va vizual savollar\n\nSanalgan hujjat-QnA jarayoni OCR bilan tayyorlangan matn, tuzilma va formatni til modeli tahlili bilan birlashtiradi. Vazifaga kerakli muayyan shart, parcha yoki bog‘lanish haqida so‘rang. Taqqoslash manba hujjatlarini belgilab, har bir topilma yonida manba joyini saqlagan holda umumiy bayonotlar, ziddiyatlar va ochiq tafsilotlarni so‘rashi mumkin.\n\nIshlab chiqaruvchining vizual yo‘riqnomasi Medium 3.1ni aniq o‘z ichiga oladi. Bevosita vizual savol o‘qiladigan diagramma, hujjat tasviri yoki skrinshotni berib, qaysi ko‘rinadigan dalil xulosani asoslashini so‘rashi mumkin. O‘qlar, birliklar, belgilar va qirqilgan maydon atrofidagi kontekstni saqlang. Bir nechta tasvir berilsa, qaysi biri asl, tahrir yoki tayanch ekanini modelning o‘zi topishiga qo‘yish o‘rniga ularning tartibi va rolini ko‘rsating.\n\nMasalan, yozma jarayon talabini skrinshot bilan birlashtiring va ko‘rinadigan mosliklar, farqlar hamda ko‘proq ma’lumot talab qiladigan savollar jadvalini so‘rang. Boshqa vazifa hujjatning ikki versiyasini berib, nomlangan nomuvofiqlikni hal qilgan holda ularning umumiy shartlarini saqlaydigan qayta ko‘rilgan parchani so‘rashi mumkin. Bular hujjatlashtirilgan vizual, hujjat va tahrir imkoniyatlarining taklif etilgan qo‘llanishlari bo‘lib, zarur natija oldindan belgilanadi.\n\nYakuniy materialni tayyorlash\n\nYordamchiga aniq rol, foydalaniladigan manba materiali va javob shaklini bering. Doimiy javob qoidalarini tekshirilayotgan hujjatdan farqlang hamda yakuniy til va atamalarni ayting. Foydali javob ajratilgan fakt, uning manbasi va talqinni alohida berib, bitta birlashgan xulosaga qaraganda tekshirishni osonlashtirishi mumkin.\n\nHujjatlashtirilgan natija matn bo‘lib qoladi. Tashqi vositalar, fayl o‘zgarishlari va hujjatga keyingi ishlov suhbatga ulangan ilovaga tegishli. Nomlangan Medium 3.1 nashri va uning 128k kontekstini saqlang hamda keyingi qadamga haqiqatan kerakli tushuntirish, tuzilmali yozuv yoki aniq yo‘naltirilgan tahrirni so‘rang.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "56c28aa5cd2f319d93a5822cef417265ba80d2ef54f8ed96b7ff049179ec160a",
    "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: Mistral Medium 3.1 (batch)</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Mistral /</span><code>mistralai/mistral-medium-3.1: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%2Fmistral-medium-3.1%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\">Mistral Medium 3.1 — suhbat javoblari, hujjat savollari va tuzilmali ajratish uchun matn va tasvir modeli. Ishlab chiqaruvchi ko‘rsatgan 128k kontekst hamda sanalgan funksiya chaqirish, oldindan ma’lum natija va prefiks imkoniyatlari manbaga asoslangan tushuntirishlar va aniq tahrirlash jarayonlarini qo‘llab-quvvatlaydi.</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>Mistral Medium 3.1 — matnli va vizual tushunish uchun multimodal Mistral AI nashri. Ishlab chiqaruvchi bu tahrirni Medium 3 qatori ichida ohang va samaradorlikni yaxshilaydigan versiya deb ta’riflaydi. U matn va tasvirlarni qabul qilib, matn yaratadi: tushuntirish, hujjat javobi, tuzilmali yozuv yoki taklif etilgan funksiya chaqiruvi. Ishlab chiqaruvchining ushbu nashr uchun qat’iy identifikatori — mistral-medium-2508.</p><p>Kontekst va muayyan nashr</p><p>Model sahifasida 128k kontekst oynasi hujjatlashtirilgan. Bog‘liq manba parchalarini, tasvir dalillarini, suhbat va foydalanuvchi vazifasini birga saqlash uchun undan foydalaning. Katta to‘plamni berishdan oldin hujjatlarning rollari va javob beriladigan savolni belgilang. Yakuniy material qisqa jadval yoki qayta ko‘rilgan bo‘lim bo‘lib qolgan holda, uzun kontekst aniq yo‘naltirilgan taqqoslashni qo‘llashi mumkin.</p><p>Medium 3.1 o‘z spetsifikatsiyasini saqlaydi. Medium 3.5 uchun ta’riflangan 256k kontekst, 128B zich arxitektura va sozlanadigan gibrid mulohaza rejimlarini ushbu yozuvga nisbat bermaslik kerak. 3.1 sahifasida keyingi modeldan ishonchli tarzda olinadigan parametrlar soni yoki alohida maksimal javob uzunligi soni berilmagan.</p><p>Tuzilmali natija va funksiyalar</p><p>Ishlab chiqaruvchi ushbu nashr imkoniyatlari orasida tuzilmali natijalar, funksiya chaqirish va oldindan ma’lum natijalarni sanaydi. Tuzilmali ajratish vazifasi uchun zarur maydonlar, kutilgan turlar va manbada yo‘q ma’lumotga munosabatni belgilang. Yozuv hujjat identifikatori, ajratilgan bayonot, uning manba joyi va qolgan savolni o‘z ichiga olishi mumkin. Dastur uni tahlil qilsa, faqat yozuvni so‘rang; kimdir talqinni tekshirishi kerak bo‘lsa, matnli izohni alohida saqlang.</p><p>Mistralning umumiy tuzilmali natija hujjatlari JSON rejimini maxsus sxemadan farqlaydi. JSON rejimi kerakli JSON shakli haqida aniq ko‘rsatma talab qiladi, maxsus yo‘l esa aniqroq tuzilmani belgilaydi. Bu yangi mazmun modali yoki tashqi harakat emas, matnli natijani formatlashdir.</p><p>Funksiyalar uchun ilova mavjud amal va argumentlarni belgilaydi, model mos chaqiruvni tanlab qiymatlarni tayyorlaydi, ilova esa uni bajaradi. Keyin uning natijasi keyingi javob uchun ma’lumotga aylanadi. Hujjat yordamchisi yetishmayotgan tayanch ma’lumotni olish uchun qidiruvdan foydalanishi mumkin, ammo faqat tashqi ilova shu qidiruvni taqdim etib, haqiqiy natijasini qaytarsa. Taklif etilgan chaqiruv va qaytgan ma’lumotni bir-biriga bog‘liq saqlang.</p><p>Oldindan ma’lum qismlarni saqlagan tahrirlar va javob prefikslari</p><p>Oldindan ma’lum natijalar kerakli natijaning katta qismi avvaldan ma’lum bo‘lganda, masalan cheklangan tahrirga muhtoj hujjat yoki kod faylida foydali. Mavjud mazmunni bering va o‘zgarishni, jumladan nima o‘zgarmasligi shartligini aniq tavsiflang. So‘rov hujjatning qolgan qismini saqlab, bitta bo‘lim atamalarini yangilashi yoki amalga oshirishning bir tafsilotini almashtirishi mumkin. Bashorat faylga qo‘llangan tugallangan o‘zgarishni emas, kutilgan chiqish mazmunini o‘z ichiga oladi.</p><p>Model sahifasida javob prefiksidan davom ettirish ham sanalgan. Ishlab chiqaruvchining suhbat hujjatlarida prefiks yordamchi javobining ma’lum boshlanishini beradi, undan keyin yaratish davom etadi. Ma’lum boshlanish va oldindan ma’lum tana tayyorlashning turli muammolarini hal qiladi. Paketli ishlov va agent/suhbat interfeyslari ham Medium 3.1ning alohida tasvir, audio yoki mulohaza nashrlari emas, ish jarayoni imkoniyatlaridir.</p><p>Hujjat va vizual savollar</p><p>Sanalgan hujjat-QnA jarayoni OCR bilan tayyorlangan matn, tuzilma va formatni til modeli tahlili bilan birlashtiradi. Vazifaga kerakli muayyan shart, parcha yoki bog‘lanish haqida so‘rang. Taqqoslash manba hujjatlarini belgilab, har bir topilma yonida manba joyini saqlagan holda umumiy bayonotlar, ziddiyatlar va ochiq tafsilotlarni so‘rashi mumkin.</p><p>Ishlab chiqaruvchining vizual yo‘riqnomasi Medium 3.1ni aniq o‘z ichiga oladi. Bevosita vizual savol o‘qiladigan diagramma, hujjat tasviri yoki skrinshotni berib, qaysi ko‘rinadigan dalil xulosani asoslashini so‘rashi mumkin. O‘qlar, birliklar, belgilar va qirqilgan maydon atrofidagi kontekstni saqlang. Bir nechta tasvir berilsa, qaysi biri asl, tahrir yoki tayanch ekanini modelning o‘zi topishiga qo‘yish o‘rniga ularning tartibi va rolini ko‘rsating.</p><p>Masalan, yozma jarayon talabini skrinshot bilan birlashtiring va ko‘rinadigan mosliklar, farqlar hamda ko‘proq ma’lumot talab qiladigan savollar jadvalini so‘rang. Boshqa vazifa hujjatning ikki versiyasini berib, nomlangan nomuvofiqlikni hal qilgan holda ularning umumiy shartlarini saqlaydigan qayta ko‘rilgan parchani so‘rashi mumkin. Bular hujjatlashtirilgan vizual, hujjat va tahrir imkoniyatlarining taklif etilgan qo‘llanishlari bo‘lib, zarur natija oldindan belgilanadi.</p><p>Yakuniy materialni tayyorlash</p><p>Yordamchiga aniq rol, foydalaniladigan manba materiali va javob shaklini bering. Doimiy javob qoidalarini tekshirilayotgan hujjatdan farqlang hamda yakuniy til va atamalarni ayting. Foydali javob ajratilgan fakt, uning manbasi va talqinni alohida berib, bitta birlashgan xulosaga qaraganda tekshirishni osonlashtirishi mumkin.</p><p>Hujjatlashtirilgan natija matn bo‘lib qoladi. Tashqi vositalar, fayl o‘zgarishlari va hujjatga keyingi ishlov suhbatga ulangan ilovaga tegishli. Nomlangan Medium 3.1 nashri va uning 128k kontekstini saqlang hamda keyingi qadamga haqiqatan kerakli tushuntirish, tuzilmali yozuv yoki aniq yo‘naltirilgan tahrirni so‘rang.</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/mistral-medium-3.1: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/mistral-medium-3.1:batch, mistralai/mistral-medium-3.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\">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.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.00004</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.0004</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.002</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.00004</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-1922-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1922-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl · Saqlangan sinov namunasi</button><button class=\"cg-tab\" id=\"model-code-1922-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1922-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python HTTP · Mijozning haqiqiy JSONL ma’lumotlari</button><button class=\"cg-tab\" id=\"model-code-1922-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1922-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-1922-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1922-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/mistral-medium-3.1: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-1922-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1922-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/mistral-medium-3.1:batch&#39;, &#39;mistralai/mistral-medium-3.1&#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/mistral-medium-3.1: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-1922-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1922-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-1923-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1923-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-1923-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1923-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%2Fmistral-medium-3.1%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fmistral-medium-3.1%3Abatch&amp;fmt=batches\"><code>mistralai/mistral-medium-3.1: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%2Fmistral-medium-3.1%3Abatch&amp;route=Ultra&amp;caller=mistralai%2Fmistral-medium-3.1%3Abatch&amp;fmt=batches\"><code>mistralai/mistral-medium-3.1:batch</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "mistralai/mistral-medium-3.1:batch",
        "fmt": "batches",
        "http": "POST",
        "path": "/v1/batches",
        "request_model_id": "mistralai/mistral-medium-3.1:batch",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|batches|/v1/batches|mistralai%2Fmistral-medium-3.1%3Abatch",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.04,
        "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/mistral-medium-3.1: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/mistral-medium-3.1: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/mistral-medium-3.1:batch",
                  "mistralai/mistral-medium-3.1"
                ],
                "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/mistral-medium-3.1: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/mistral-medium-3.1:batch",
                              "mistralai/mistral-medium-3.1"
                            ],
                            "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/mistral-medium-3.1: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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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/mistral-medium-3.1: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/mistral-medium-3.1:batch', 'mistralai/mistral-medium-3.1']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/mistral-medium-3.1: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.4,
        "input": [
          "text"
        ],
        "label": "Paketli ishlov berish",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 2,
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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/mistral-medium-3.1:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.04,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.4,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 2,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000002",
            "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.00004000",
            "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.00000004",
            "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/mistral-medium-3.1:batch",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "87ef5675ee9d35b1c4a4e63d0a41934ef6b4b2c298f2f4b93e6ac58e73cd2164",
    "input_html_sha256": "4f33aef5f8d60824fd8f2640fbf1fdaa88ddbc9047cc095bc48ef48838783088",
    "private_audit_sha256": "74835703a58ea8f878902d7cd2acf3034cce6526b7067f0866866b4f9c774206",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/mistralai-mistral-medium-3-1-u003a-batch/",
    "description": "Mistral Medium 3.1 — suhbat javoblari, hujjat savollari va tuzilmali ajratish uchun matn va tasvir modeli. Ishlab chiqaruvchi ko‘rsatgan 128k kontekst hamda sanalgan funksiya chaqirish, oldindan ma’lum natija va prefiks imkoniyatlari manbaga asoslangan tushuntirishlar va aniq tahrirlash jarayonlarini qo‘llab-quvvatlaydi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/mistralai-mistral-medium-3-1-u003a-batch/index.md",
    "title": "Mistral: Mistral Medium 3.1 (batch) — Ailoot",
    "url": "https://ailoot.ai/models/uz/mistralai-mistral-medium-3-1-u003a-batch/"
  },
  "rawModel": {
    "about": "Mistral Medium 3.1 — matnli va vizual tushunish uchun multimodal Mistral AI nashri. Ishlab chiqaruvchi bu tahrirni Medium 3 qatori ichida ohang va samaradorlikni yaxshilaydigan versiya deb ta’riflaydi. U matn va tasvirlarni qabul qilib, matn yaratadi: tushuntirish, hujjat javobi, tuzilmali yozuv yoki taklif etilgan funksiya chaqiruvi. Ishlab chiqaruvchining ushbu nashr uchun qat’iy identifikatori — mistral-medium-2508.\n\nKontekst va muayyan nashr\n\nModel sahifasida 128k kontekst oynasi hujjatlashtirilgan. Bog‘liq manba parchalarini, tasvir dalillarini, suhbat va foydalanuvchi vazifasini birga saqlash uchun undan foydalaning. Katta to‘plamni berishdan oldin hujjatlarning rollari va javob beriladigan savolni belgilang. Yakuniy material qisqa jadval yoki qayta ko‘rilgan bo‘lim bo‘lib qolgan holda, uzun kontekst aniq yo‘naltirilgan taqqoslashni qo‘llashi mumkin.\n\nMedium 3.1 o‘z spetsifikatsiyasini saqlaydi. Medium 3.5 uchun ta’riflangan 256k kontekst, 128B zich arxitektura va sozlanadigan gibrid mulohaza rejimlarini ushbu yozuvga nisbat bermaslik kerak. 3.1 sahifasida keyingi modeldan ishonchli tarzda olinadigan parametrlar soni yoki alohida maksimal javob uzunligi soni berilmagan.\n\nTuzilmali natija va funksiyalar\n\nIshlab chiqaruvchi ushbu nashr imkoniyatlari orasida tuzilmali natijalar, funksiya chaqirish va oldindan ma’lum natijalarni sanaydi. Tuzilmali ajratish vazifasi uchun zarur maydonlar, kutilgan turlar va manbada yo‘q ma’lumotga munosabatni belgilang. Yozuv hujjat identifikatori, ajratilgan bayonot, uning manba joyi va qolgan savolni o‘z ichiga olishi mumkin. Dastur uni tahlil qilsa, faqat yozuvni so‘rang; kimdir talqinni tekshirishi kerak bo‘lsa, matnli izohni alohida saqlang.\n\nMistralning umumiy tuzilmali natija hujjatlari JSON rejimini maxsus sxemadan farqlaydi. JSON rejimi kerakli JSON shakli haqida aniq ko‘rsatma talab qiladi, maxsus yo‘l esa aniqroq tuzilmani belgilaydi. Bu yangi mazmun modali yoki tashqi harakat emas, matnli natijani formatlashdir.\n\nFunksiyalar uchun ilova mavjud amal va argumentlarni belgilaydi, model mos chaqiruvni tanlab qiymatlarni tayyorlaydi, ilova esa uni bajaradi. Keyin uning natijasi keyingi javob uchun ma’lumotga aylanadi. Hujjat yordamchisi yetishmayotgan tayanch ma’lumotni olish uchun qidiruvdan foydalanishi mumkin, ammo faqat tashqi ilova shu qidiruvni taqdim etib, haqiqiy natijasini qaytarsa. Taklif etilgan chaqiruv va qaytgan ma’lumotni bir-biriga bog‘liq saqlang.\n\nOldindan ma’lum qismlarni saqlagan tahrirlar va javob prefikslari\n\nOldindan ma’lum natijalar kerakli natijaning katta qismi avvaldan ma’lum bo‘lganda, masalan cheklangan tahrirga muhtoj hujjat yoki kod faylida foydali. Mavjud mazmunni bering va o‘zgarishni, jumladan nima o‘zgarmasligi shartligini aniq tavsiflang. So‘rov hujjatning qolgan qismini saqlab, bitta bo‘lim atamalarini yangilashi yoki amalga oshirishning bir tafsilotini almashtirishi mumkin. Bashorat faylga qo‘llangan tugallangan o‘zgarishni emas, kutilgan chiqish mazmunini o‘z ichiga oladi.\n\nModel sahifasida javob prefiksidan davom ettirish ham sanalgan. Ishlab chiqaruvchining suhbat hujjatlarida prefiks yordamchi javobining ma’lum boshlanishini beradi, undan keyin yaratish davom etadi. Ma’lum boshlanish va oldindan ma’lum tana tayyorlashning turli muammolarini hal qiladi. Paketli ishlov va agent/suhbat interfeyslari ham Medium 3.1ning alohida tasvir, audio yoki mulohaza nashrlari emas, ish jarayoni imkoniyatlaridir.\n\nHujjat va vizual savollar\n\nSanalgan hujjat-QnA jarayoni OCR bilan tayyorlangan matn, tuzilma va formatni til modeli tahlili bilan birlashtiradi. Vazifaga kerakli muayyan shart, parcha yoki bog‘lanish haqida so‘rang. Taqqoslash manba hujjatlarini belgilab, har bir topilma yonida manba joyini saqlagan holda umumiy bayonotlar, ziddiyatlar va ochiq tafsilotlarni so‘rashi mumkin.\n\nIshlab chiqaruvchining vizual yo‘riqnomasi Medium 3.1ni aniq o‘z ichiga oladi. Bevosita vizual savol o‘qiladigan diagramma, hujjat tasviri yoki skrinshotni berib, qaysi ko‘rinadigan dalil xulosani asoslashini so‘rashi mumkin. O‘qlar, birliklar, belgilar va qirqilgan maydon atrofidagi kontekstni saqlang. Bir nechta tasvir berilsa, qaysi biri asl, tahrir yoki tayanch ekanini modelning o‘zi topishiga qo‘yish o‘rniga ularning tartibi va rolini ko‘rsating.\n\nMasalan, yozma jarayon talabini skrinshot bilan birlashtiring va ko‘rinadigan mosliklar, farqlar hamda ko‘proq ma’lumot talab qiladigan savollar jadvalini so‘rang. Boshqa vazifa hujjatning ikki versiyasini berib, nomlangan nomuvofiqlikni hal qilgan holda ularning umumiy shartlarini saqlaydigan qayta ko‘rilgan parchani so‘rashi mumkin. Bular hujjatlashtirilgan vizual, hujjat va tahrir imkoniyatlarining taklif etilgan qo‘llanishlari bo‘lib, zarur natija oldindan belgilanadi.\n\nYakuniy materialni tayyorlash\n\nYordamchiga aniq rol, foydalaniladigan manba materiali va javob shaklini bering. Doimiy javob qoidalarini tekshirilayotgan hujjatdan farqlang hamda yakuniy til va atamalarni ayting. Foydali javob ajratilgan fakt, uning manbasi va talqinni alohida berib, bitta birlashgan xulosaga qaraganda tekshirishni osonlashtirishi mumkin.\n\nHujjatlashtirilgan natija matn bo‘lib qoladi. Tashqi vositalar, fayl o‘zgarishlari va hujjatga keyingi ishlov suhbatga ulangan ilovaga tegishli. Nomlangan Medium 3.1 nashri va uning 128k kontekstini saqlang hamda keyingi qadamga haqiqatan kerakli tushuntirish, tuzilmali yozuv yoki aniq yo‘naltirilgan tahrirni so‘rang.",
    "alias_of": null,
    "aliases": [],
    "author": "Mistral",
    "capabilities": {
      "context_length": 131072,
      "manufacturer_input": [
        "text",
        "image",
        "file"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000002",
            "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/mistral-medium-3.1:batch",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.04,
        "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/mistral-medium-3.1: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/mistral-medium-3.1: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/mistral-medium-3.1:batch",
                  "mistralai/mistral-medium-3.1"
                ],
                "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/mistral-medium-3.1: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/mistral-medium-3.1:batch",
                              "mistralai/mistral-medium-3.1"
                            ],
                            "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/mistral-medium-3.1: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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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/mistral-medium-3.1: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/mistral-medium-3.1:batch', 'mistralai/mistral-medium-3.1']: raise ValueError(\"body.model must be an exact documented caller or wire ID\")\n    return {\"endpoint\":\"/v1/chat/completions\", \"model\":\"mistralai/mistral-medium-3.1: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.4,
        "input": [
          "text"
        ],
        "label": "Paketli ishlov berish",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "out": 2,
        "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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.0004000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.0000004",
                "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.002000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000002",
                "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.00004000",
                "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.00000004",
                "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/mistral-medium-3.1:batch",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/batches/{operation_id}"
        ],
        "tiers": [
          {
            "cache_read": 0.04,
            "cache_read_multiplier": null,
            "cache_write": null,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 0.4,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 2,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.0004000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.0000004",
            "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.002000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000002",
            "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.00004000",
            "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.00000004",
            "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/mistral-medium-3.1:batch",
        "request_model_id": "mistralai/mistral-medium-3.1:batch",
        "route_label": "Ultra"
      }
    ],
    "name": "Mistral: Mistral Medium 3.1 (batch)",
    "price": {
      "in": 0.4,
      "in_label": null,
      "out": 2,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 0.4,
      "sort_out": 2,
      "varies": true
    },
    "short": "Mistral Medium 3.1 — suhbat javoblari, hujjat savollari va tuzilmali ajratish uchun matn va tasvir modeli. Ishlab chiqaruvchi ko‘rsatgan 128k kontekst hamda sanalgan funksiya chaqirish, oldindan ma’lum natija va prefiks imkoniyatlari manbaga asoslangan tushuntirishlar va aniq tahrirlash jarayonlarini qo‘llab-quvvatlaydi."
  },
  "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": "Mistral Medium 3.1 — suhbat javoblari, hujjat savollari va tuzilmali ajratish uchun matn va tasvir modeli. Ishlab chiqaruvchi ko‘rsatgan 128k kontekst hamda sanalgan funksiya chaqirish, oldindan ma’lum natija va prefiks imkoniyatlari manbaga asoslangan tushuntirishlar va aniq tahrirlash jarayonlarini qo‘llab-quvvatlaydi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "85ed4a6986d87afe66646e759ed83e00cc2cecfa8c18ed4be6e316563c7a1287",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "90a87944534941b5a7da1648a6546c9224df375982310fcf34b2f4ed618b50e0"
}
