{
  "aboutHtml": "<p>KAT-Coder — Kuaishou’ning vositalar mavjud muhitdagi dasturiy muhandislik vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchining dastlabki relizi ishlab chiqish so‘rovini repozitoriyni tekshirish, tuzatish yaratish va ko‘rib chiqish orqali bajarishga qaratilgan. O‘qitishi funksiyalarni amalga oshirish va yaxshilash, xatolarni tuzatish, refaktoring, unumdorlik ishlari, test yaratish, kodni tushunish va konfiguratsiya vazifalarini qamraydi. Foydali materiallar haqiqiy loyiha xatti-harakatiga bog‘langan kod va matndir.</p><h4>Muammo va tegishli loyiha kontekstini bering</h4><p>Erishiladigan xatti-harakat, joriy amalga oshirish va bajarilishni belgilaydigan shartlarni ayting. Muammoni tushunish uchun kerakli manba fayllari yoki parchalarini, muhitdan allaqachon mavjud buyruq yoki kuzatuvlarni kiriting. Dastlabki xato tuzatish topshirig‘i xatoli kirish, kutilgan natija va xatti-harakati farq qiladigan funksiyani ko‘rsatishi mumkin. Yangi imkoniyat qo‘shish so‘rovi foydalanuvchiga ko‘rinadigan natija va izchil qolishi kerak bo‘lgan interfeyslarni nomlashi mumkin.</p><p>Ishlab chiqaruvchining agentli o‘qitishi muammo tavsiflari, Git tarmog‘idagi kod, bajariladigan muhitlar va tekshiriladigan vazifa shartlaridan foydalanadi. Ilova yordamidagi vazifada bu qismlarni mos tuting. Model taklifi haqiqiy ish nusxasi va berilgan dalillarga tegishli bo‘lishi, fayl yoki bajarish operatsiyalarini esa ilova amalga oshirib, natijalarni qaytarishi kerak. Har muhim operatsiya natijasini davom bilan saqlang.</p><h4>Vositalar va ko‘p navbatli ishlab chiqish</h4><p>Ishlab chiqaruvchi ko‘rsatmalarga amal qilish, vosita qo‘llash va davomli muloqotni oilani rivojlantirishning markaziy qismlari deb hujjatlashtiradi. Chiqarilgan dasturlash agenti yo‘riqnomasi fayl o‘qish va tahrirlash operatsiyalari hamda yakunlash harakatini beradi. Model axborotni tekshirishi, o‘zgarish so‘rashi va qaytgan kuzatuvdan davom etishi mumkin. Uning vazifasi keyingi qadamni tanlash va tavsiflash; haqiqatan nima bo‘lganini atrofdagi muhit belgilaydi.</p><p>Dastlabki reliz parallel vosita so‘rovlarini ham agentli o‘qitishdan keyin kuzatilgan imkoniyat deb tavsiflaydi. Mustaqil operatsiyalardan faqat natijalarini to‘g‘ri so‘rovga bog‘lab saqlash mumkin bo‘lganda foydalaning. Repozitoriy izohi bir nechta fayl axborotini birlashtirishi mumkin, tuzatish esa ta’sirlanadigan kodning joriy mazmuni va xatti-harakatiga muhtoj. Yetishmayotgan kuzatuv o‘rniga ehtimoliy muhit natijasini qo‘ymang.</p><h4>Nomzod o‘zgarishlarni puxta ko‘rib chiqing</h4><p>Ishlab chiqaruvchining e’lon qilingan agent yo‘riqnomasi tuzatish yaratish, saralash, tanlash va natijalar ustida mulohazani ajratadi. Saralash semantik takrorlarni yo‘qotishni bajarilishga asoslangan tekshiruvlar bilan birlashtiradi; tanlash qolgan nomzodlarni baholaydi; mulohaza esa oldingi natijalardan keyingi davrni yo‘naltirishda foydalanadi. Bu bosqichlar har oddiy matnli javobga avtomatik kafolat sifatida emas, hujjatlashtirilgan dasturlash jarayoniga tegishli.</p><p>Amaliy kod vazifasida taklif etilgan tuzatish, haqiqatan bajarilgan tekshiruvlar va natijalarini birga saqlang. Nomzod tuzatishlarni taqqoslash ularni farqlaydigan shartni tushuntirishi kerak, ayniqsa faqat diff bo‘yicha har biri ishonarli ko‘rinsa. Muvaffaqiyatsiz tekshiruv aloqasiz qayta yozishga undash o‘rniga keyingi navbatga tuzatiladigan aniq muammoni berishi mumkin.</p><h4>Oila va nashr farqlari</h4><p>Ishlab chiqaruvchining dastlabki relizi KAT-Coder’ni alohida ochiq KAT-Dev-32B modelidan ajratadi. O‘qitish muhokamasi va jarayon namoyishlari oilaning har nomlangan variantini bir xil checkpoint qilmaydi. Tanlangan variant va berilgan loyiha ko‘rsatmalarini natija bilan saqlang, operatsiyalar uchun esa aynan ishlab chiqaruvchi interfeysi yoki muhit yo‘riqnomasidan foydalaning.</p><p>Foydali topshirish materiali aniq yo‘naltirilgan yechim, nuqson izohi yoki xatti-harakatini asoslaydigan dalilli refaktoring bo‘lishi mumkin. Vazifani tugagan deb hisoblashdan oldin o‘zgargan mantiq va muhitning haqiqiy chiqishlarini ko‘rib chiqing. KAT-Coder’ning dasturiy muhandislik maqsadi aniq ishlab chiqish so‘rovi, tegishli kod va tekshiriladigan yakuniy materialga bog‘langanida eng foydali.</p>",
  "aboutText": "KAT-Coder — Kuaishou’ning vositalar mavjud muhitdagi dasturiy muhandislik vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchining dastlabki relizi ishlab chiqish so‘rovini repozitoriyni tekshirish, tuzatish yaratish va ko‘rib chiqish orqali bajarishga qaratilgan. O‘qitishi funksiyalarni amalga oshirish va yaxshilash, xatolarni tuzatish, refaktoring, unumdorlik ishlari, test yaratish, kodni tushunish va konfiguratsiya vazifalarini qamraydi. Foydali materiallar haqiqiy loyiha xatti-harakatiga bog‘langan kod va matndir.\n\n### Muammo va tegishli loyiha kontekstini bering\n\nErishiladigan xatti-harakat, joriy amalga oshirish va bajarilishni belgilaydigan shartlarni ayting. Muammoni tushunish uchun kerakli manba fayllari yoki parchalarini, muhitdan allaqachon mavjud buyruq yoki kuzatuvlarni kiriting. Dastlabki xato tuzatish topshirig‘i xatoli kirish, kutilgan natija va xatti-harakati farq qiladigan funksiyani ko‘rsatishi mumkin. Yangi imkoniyat qo‘shish so‘rovi foydalanuvchiga ko‘rinadigan natija va izchil qolishi kerak bo‘lgan interfeyslarni nomlashi mumkin.\n\nIshlab chiqaruvchining agentli o‘qitishi muammo tavsiflari, Git tarmog‘idagi kod, bajariladigan muhitlar va tekshiriladigan vazifa shartlaridan foydalanadi. Ilova yordamidagi vazifada bu qismlarni mos tuting. Model taklifi haqiqiy ish nusxasi va berilgan dalillarga tegishli bo‘lishi, fayl yoki bajarish operatsiyalarini esa ilova amalga oshirib, natijalarni qaytarishi kerak. Har muhim operatsiya natijasini davom bilan saqlang.\n\n### Vositalar va ko‘p navbatli ishlab chiqish\n\nIshlab chiqaruvchi ko‘rsatmalarga amal qilish, vosita qo‘llash va davomli muloqotni oilani rivojlantirishning markaziy qismlari deb hujjatlashtiradi. Chiqarilgan dasturlash agenti yo‘riqnomasi fayl o‘qish va tahrirlash operatsiyalari hamda yakunlash harakatini beradi. Model axborotni tekshirishi, o‘zgarish so‘rashi va qaytgan kuzatuvdan davom etishi mumkin. Uning vazifasi keyingi qadamni tanlash va tavsiflash; haqiqatan nima bo‘lganini atrofdagi muhit belgilaydi.\n\nDastlabki reliz parallel vosita so‘rovlarini ham agentli o‘qitishdan keyin kuzatilgan imkoniyat deb tavsiflaydi. Mustaqil operatsiyalardan faqat natijalarini to‘g‘ri so‘rovga bog‘lab saqlash mumkin bo‘lganda foydalaning. Repozitoriy izohi bir nechta fayl axborotini birlashtirishi mumkin, tuzatish esa ta’sirlanadigan kodning joriy mazmuni va xatti-harakatiga muhtoj. Yetishmayotgan kuzatuv o‘rniga ehtimoliy muhit natijasini qo‘ymang.\n\n### Nomzod o‘zgarishlarni puxta ko‘rib chiqing\n\nIshlab chiqaruvchining e’lon qilingan agent yo‘riqnomasi tuzatish yaratish, saralash, tanlash va natijalar ustida mulohazani ajratadi. Saralash semantik takrorlarni yo‘qotishni bajarilishga asoslangan tekshiruvlar bilan birlashtiradi; tanlash qolgan nomzodlarni baholaydi; mulohaza esa oldingi natijalardan keyingi davrni yo‘naltirishda foydalanadi. Bu bosqichlar har oddiy matnli javobga avtomatik kafolat sifatida emas, hujjatlashtirilgan dasturlash jarayoniga tegishli.\n\nAmaliy kod vazifasida taklif etilgan tuzatish, haqiqatan bajarilgan tekshiruvlar va natijalarini birga saqlang. Nomzod tuzatishlarni taqqoslash ularni farqlaydigan shartni tushuntirishi kerak, ayniqsa faqat diff bo‘yicha har biri ishonarli ko‘rinsa. Muvaffaqiyatsiz tekshiruv aloqasiz qayta yozishga undash o‘rniga keyingi navbatga tuzatiladigan aniq muammoni berishi mumkin.\n\n### Oila va nashr farqlari\n\nIshlab chiqaruvchining dastlabki relizi KAT-Coder’ni alohida ochiq KAT-Dev-32B modelidan ajratadi. O‘qitish muhokamasi va jarayon namoyishlari oilaning har nomlangan variantini bir xil checkpoint qilmaydi. Tanlangan variant va berilgan loyiha ko‘rsatmalarini natija bilan saqlang, operatsiyalar uchun esa aynan ishlab chiqaruvchi interfeysi yoki muhit yo‘riqnomasidan foydalaning.\n\nFoydali topshirish materiali aniq yo‘naltirilgan yechim, nuqson izohi yoki xatti-harakatini asoslaydigan dalilli refaktoring bo‘lishi mumkin. Vazifani tugagan deb hisoblashdan oldin o‘zgargan mantiq va muhitning haqiqiy chiqishlarini ko‘rib chiqing. KAT-Coder’ning dasturiy muhandislik maqsadi aniq ishlab chiqish so‘rovi, tegishli kod va tekshiriladigan yakuniy materialga bog‘langanida eng foydali.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "f18ffacc343c2a2c9c8f9c32e3b976a3003aae9744a09c301d8850aeea0993ec",
    "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\">kat-coder-pro-v1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Kuaishou /</span><code>KAT-Coder-Pro-V1</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|chat|/v1/chat/completions|KAT-Coder-Pro-V1\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-1\" data-card-method=\"Ultra|messages|/v1/messages|KAT-Coder-Pro-V1\">Messages</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\">KAT-Coder — Kuaishou’ning repozitoriy kontekstini hisobga oladigan ishlab chiqish vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchi jarayoni vositali tekshiruv, tuzatish yaratish, bajarilishga asoslangan ko‘rib chiqish va natijalar ustida mulohazani birlashtirib, haqiqiy loyiha xatti-harakatiga bog‘langan kod yoki tushuntirish beradi.</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>KAT-Coder — Kuaishou’ning vositalar mavjud muhitdagi dasturiy muhandislik vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchining dastlabki relizi ishlab chiqish so‘rovini repozitoriyni tekshirish, tuzatish yaratish va ko‘rib chiqish orqali bajarishga qaratilgan. O‘qitishi funksiyalarni amalga oshirish va yaxshilash, xatolarni tuzatish, refaktoring, unumdorlik ishlari, test yaratish, kodni tushunish va konfiguratsiya vazifalarini qamraydi. Foydali materiallar haqiqiy loyiha xatti-harakatiga bog‘langan kod va matndir.</p><h4>Muammo va tegishli loyiha kontekstini bering</h4><p>Erishiladigan xatti-harakat, joriy amalga oshirish va bajarilishni belgilaydigan shartlarni ayting. Muammoni tushunish uchun kerakli manba fayllari yoki parchalarini, muhitdan allaqachon mavjud buyruq yoki kuzatuvlarni kiriting. Dastlabki xato tuzatish topshirig‘i xatoli kirish, kutilgan natija va xatti-harakati farq qiladigan funksiyani ko‘rsatishi mumkin. Yangi imkoniyat qo‘shish so‘rovi foydalanuvchiga ko‘rinadigan natija va izchil qolishi kerak bo‘lgan interfeyslarni nomlashi mumkin.</p><p>Ishlab chiqaruvchining agentli o‘qitishi muammo tavsiflari, Git tarmog‘idagi kod, bajariladigan muhitlar va tekshiriladigan vazifa shartlaridan foydalanadi. Ilova yordamidagi vazifada bu qismlarni mos tuting. Model taklifi haqiqiy ish nusxasi va berilgan dalillarga tegishli bo‘lishi, fayl yoki bajarish operatsiyalarini esa ilova amalga oshirib, natijalarni qaytarishi kerak. Har muhim operatsiya natijasini davom bilan saqlang.</p><h4>Vositalar va ko‘p navbatli ishlab chiqish</h4><p>Ishlab chiqaruvchi ko‘rsatmalarga amal qilish, vosita qo‘llash va davomli muloqotni oilani rivojlantirishning markaziy qismlari deb hujjatlashtiradi. Chiqarilgan dasturlash agenti yo‘riqnomasi fayl o‘qish va tahrirlash operatsiyalari hamda yakunlash harakatini beradi. Model axborotni tekshirishi, o‘zgarish so‘rashi va qaytgan kuzatuvdan davom etishi mumkin. Uning vazifasi keyingi qadamni tanlash va tavsiflash; haqiqatan nima bo‘lganini atrofdagi muhit belgilaydi.</p><p>Dastlabki reliz parallel vosita so‘rovlarini ham agentli o‘qitishdan keyin kuzatilgan imkoniyat deb tavsiflaydi. Mustaqil operatsiyalardan faqat natijalarini to‘g‘ri so‘rovga bog‘lab saqlash mumkin bo‘lganda foydalaning. Repozitoriy izohi bir nechta fayl axborotini birlashtirishi mumkin, tuzatish esa ta’sirlanadigan kodning joriy mazmuni va xatti-harakatiga muhtoj. Yetishmayotgan kuzatuv o‘rniga ehtimoliy muhit natijasini qo‘ymang.</p><h4>Nomzod o‘zgarishlarni puxta ko‘rib chiqing</h4><p>Ishlab chiqaruvchining e’lon qilingan agent yo‘riqnomasi tuzatish yaratish, saralash, tanlash va natijalar ustida mulohazani ajratadi. Saralash semantik takrorlarni yo‘qotishni bajarilishga asoslangan tekshiruvlar bilan birlashtiradi; tanlash qolgan nomzodlarni baholaydi; mulohaza esa oldingi natijalardan keyingi davrni yo‘naltirishda foydalanadi. Bu bosqichlar har oddiy matnli javobga avtomatik kafolat sifatida emas, hujjatlashtirilgan dasturlash jarayoniga tegishli.</p><p>Amaliy kod vazifasida taklif etilgan tuzatish, haqiqatan bajarilgan tekshiruvlar va natijalarini birga saqlang. Nomzod tuzatishlarni taqqoslash ularni farqlaydigan shartni tushuntirishi kerak, ayniqsa faqat diff bo‘yicha har biri ishonarli ko‘rinsa. Muvaffaqiyatsiz tekshiruv aloqasiz qayta yozishga undash o‘rniga keyingi navbatga tuzatiladigan aniq muammoni berishi mumkin.</p><h4>Oila va nashr farqlari</h4><p>Ishlab chiqaruvchining dastlabki relizi KAT-Coder’ni alohida ochiq KAT-Dev-32B modelidan ajratadi. O‘qitish muhokamasi va jarayon namoyishlari oilaning har nomlangan variantini bir xil checkpoint qilmaydi. Tanlangan variant va berilgan loyiha ko‘rsatmalarini natija bilan saqlang, operatsiyalar uchun esa aynan ishlab chiqaruvchi interfeysi yoki muhit yo‘riqnomasidan foydalaning.</p><p>Foydali topshirish materiali aniq yo‘naltirilgan yechim, nuqson izohi yoki xatti-harakatini asoslaydigan dalilli refaktoring bo‘lishi mumkin. Vazifani tugagan deb hisoblashdan oldin o‘zgargan mantiq va muhitning haqiqiy chiqishlarini ko‘rib chiqing. KAT-Coder’ning dasturiy muhandislik maqsadi aniq ishlab chiqish so‘rovi, tegishli kod va tekshiriladigan yakuniy materialga bog‘langanida eng foydali.</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 · OpenAI Chat</b> <code>POST /v1/chat/completions</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>json yoki SSE</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>KAT-Coder-Pro-V1</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\">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><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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">messages[].role</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 class=\"note-s\">Modelga bogʻliq</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\">messages[].content</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>Quyidagi holatda qo‘llanadi: Matnli suhbat</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\">stream</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"known\"><span class=\"card-cell-label\">Standart</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>Matn</b> · UTF8 matni</p><p class=\"note-s\"><code>messages[].content</code></p></details><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, messages</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>messages</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>role/content tuzilishidagi xabarlar massivi</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>Haqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi</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>stream</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>control_scope</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>Matnli suhbat; stream mantiqiy qiymat bo‘lib, standart holatda false.</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>output_modalities</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>hosted_operations</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>false</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>multimodal_input_binding</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>null</td></tr></tbody></table></div><p>Usul taxalluslari: <code>/chat/completions</code></p><p>Hayot sikli: <code>synchronous_or_streamed</code></p><p class=\"note-s\">Aniq model IDsini messages bilan yuboring.</p><p class=\"note-s\">Kontekst uzunligi chiqishning yuqori chegarasi emas.</p><p class=\"note-s\">Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.</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></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</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=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.00114</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.00456</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0</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 · OpenAI Chat</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-876-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-876-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-876-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-876-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</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-876-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-876-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np=json.loads(&#39;{&quot;model&quot;:&quot;KAT-Coder-Pro-V1&quot;,&quot;messages&quot;:[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}],&quot;stream&quot;:false}&#39;)\n\nPath(&quot;request.json&quot;).write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\nr=json.loads(Path(&quot;result.json&quot;).read_text())\nfor x in r.get(&quot;choices&quot;,[]):\n    if x.get(&quot;message&quot;,{}).get(&quot;content&quot;): print(x[&quot;message&quot;][&quot;content&quot;])\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-876-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-876-tab-1\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\n\nif not os.environ.get(&quot;AILOOT_API_KEY&quot;, &quot;&quot;).strip(): raise SystemExit(&quot;Set AILOOT_API_KEY before making a request&quot;)\nclient=OpenAI(base_url=&quot;https://api.ailoot.ai/v1&quot;,api_key=os.environ[&quot;AILOOT_API_KEY&quot;],max_retries=0)\nresult=client.chat.completions.create(model=&quot;KAT-Coder-Pro-V1&quot;, messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;hello&quot;}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=&quot;result&quot;):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + &quot;.json&quot;).write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=&quot;utf-8&quot;)\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b&quot;-_&quot;, validate=True)\n        ext = &quot;png&quot; if raw.startswith(b&quot;\\x89PNG\\r\\n\\x1a\\n&quot;) else &quot;jpg&quot; if raw.startswith(b&quot;\\xff\\xd8&quot;) else &quot;webp&quot; if raw[:4] == b&quot;RIFF&quot; and raw[8:12] == b&quot;WEBP&quot; else suffix\n        file = Path(stem + &quot;-&quot; + label + &quot;.&quot; + ext)\n        file.write_bytes(raw)\n        print(&quot;Saved&quot;, file)\n    for index, block in enumerate(data.get(&quot;content&quot;) or []):\n        print(&quot;Content&quot;, index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(&quot;choices&quot;) or []:\n        print(&quot;Choice&quot;, choice.get(&quot;index&quot;), json.dumps(choice.get(&quot;message&quot;, choice.get(&quot;delta&quot;, {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(&quot;output&quot;) or []):\n        print(&quot;Output&quot;, index, json.dumps(item, ensure_ascii=False))\n        if item.get(&quot;type&quot;) == &quot;image_generation_call&quot; and item.get(&quot;result&quot;):\n            save_blob(item[&quot;result&quot;], item.get(&quot;output_format&quot;) or &quot;bin&quot;, &quot;output-&quot; + str(index))\n    for ci, candidate in enumerate(data.get(&quot;candidates&quot;) or []):\n        for pi, part in enumerate((candidate.get(&quot;content&quot;) or {}).get(&quot;parts&quot;) or []):\n            print(&quot;Candidate/part&quot;, ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(&quot;inlineData&quot;) or part.get(&quot;inline_data&quot;)\n            if blob and blob.get(&quot;data&quot;):\n                mime = blob.get(&quot;mimeType&quot;) or blob.get(&quot;mime_type&quot;)\n                suffix = {&quot;image/png&quot;:&quot;png&quot;, &quot;image/jpeg&quot;:&quot;jpg&quot;, &quot;image/webp&quot;:&quot;webp&quot;, &quot;audio/wav&quot;:&quot;wav&quot;, &quot;audio/mpeg&quot;:&quot;mp3&quot;, &quot;video/mp4&quot;:&quot;mp4&quot;}.get(mime, &quot;bin&quot;)\n                save_blob(blob[&quot;data&quot;], suffix, &quot;candidate-&quot; + str(ci) + &quot;-part-&quot; + str(pi))\n\nsave_result(result.to_dict(mode=&quot;json&quot;))\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 · OpenAI Chat</h4><p class=\"note-s\">json yoki SSE</p><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\">Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.</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\">choices[].index</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\">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\">choices[].message.tool_calls</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>tool_call[]</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">choices[].message.reasoning_content</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\">choices[].message.reasoning_details</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object|array</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">choices[].finish_reason</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\">usage</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.</td></tr></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=KAT-Coder-Pro-V1&amp;route=Ultra&amp;caller=KAT-Coder-Pro-V1&amp;fmt=chat\"><code>KAT-Coder-Pro-V1</code></a></span></p><h4>Usul yo‘llari taxalluslari</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Chaqirish uchun tegishli ID lar</h4><p class=\"note-s\"><a href=\"#m=KAT-Coder-Pro-V1&amp;route=Ultra&amp;caller=KAT-Coder-Pro-V1&amp;fmt=chat\"><code>KAT-Coder-Pro-V1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "KAT-Coder-Pro-V1",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "KAT-Coder-Pro-V1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|KAT-Coder-Pro-V1",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "UTF8 matni"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json yoki SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "KAT-Coder-Pro-V1"
                ],
                "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": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "Matnli suhbat"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "Aniq model IDsini messages bilan yuboring.",
            "Kontekst uzunligi chiqishning yuqori chegarasi emas.",
            "Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "Matnli suhbat; stream mantiqiy qiymat bo‘lib, standart holatda false.",
            "file_material": "Haqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "role/content tuzilishidagi xabarlar massivi",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenlar uchun bazaviy tariflar",
            "units": [
              {
                "amount": "0.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"KAT-Coder-Pro-V1\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"KAT-Coder-Pro-V1\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 1.14,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 4.56,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "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.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "KAT-Coder-Pro-V1",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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"
          }
        ]
      }
    },
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">kat-coder-pro-v1</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Kuaishou /</span><code>KAT-Coder-Pro-V1</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=\"-1\" aria-controls=\"card-method-content\" aria-selected=\"false\" id=\"card-method-tab-0\" data-card-method=\"Ultra|chat|/v1/chat/completions|KAT-Coder-Pro-V1\">Chat</button><button type=\"button\" role=\"tab\" tabindex=\"0\" aria-controls=\"card-method-content\" aria-selected=\"true\" id=\"card-method-tab-1\" data-card-method=\"Ultra|messages|/v1/messages|KAT-Coder-Pro-V1\">Messages</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-1\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Boshlash</h3><p class=\"mdesc-full\">KAT-Coder — Kuaishou’ning repozitoriy kontekstini hisobga oladigan ishlab chiqish vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchi jarayoni vositali tekshiruv, tuzatish yaratish, bajarilishga asoslangan ko‘rib chiqish va natijalar ustida mulohazani birlashtirib, haqiqiy loyiha xatti-harakatiga bog‘langan kod yoki tushuntirish beradi.</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>json · sse</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>KAT-Coder — Kuaishou’ning vositalar mavjud muhitdagi dasturiy muhandislik vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchining dastlabki relizi ishlab chiqish so‘rovini repozitoriyni tekshirish, tuzatish yaratish va ko‘rib chiqish orqali bajarishga qaratilgan. O‘qitishi funksiyalarni amalga oshirish va yaxshilash, xatolarni tuzatish, refaktoring, unumdorlik ishlari, test yaratish, kodni tushunish va konfiguratsiya vazifalarini qamraydi. Foydali materiallar haqiqiy loyiha xatti-harakatiga bog‘langan kod va matndir.</p><h4>Muammo va tegishli loyiha kontekstini bering</h4><p>Erishiladigan xatti-harakat, joriy amalga oshirish va bajarilishni belgilaydigan shartlarni ayting. Muammoni tushunish uchun kerakli manba fayllari yoki parchalarini, muhitdan allaqachon mavjud buyruq yoki kuzatuvlarni kiriting. Dastlabki xato tuzatish topshirig‘i xatoli kirish, kutilgan natija va xatti-harakati farq qiladigan funksiyani ko‘rsatishi mumkin. Yangi imkoniyat qo‘shish so‘rovi foydalanuvchiga ko‘rinadigan natija va izchil qolishi kerak bo‘lgan interfeyslarni nomlashi mumkin.</p><p>Ishlab chiqaruvchining agentli o‘qitishi muammo tavsiflari, Git tarmog‘idagi kod, bajariladigan muhitlar va tekshiriladigan vazifa shartlaridan foydalanadi. Ilova yordamidagi vazifada bu qismlarni mos tuting. Model taklifi haqiqiy ish nusxasi va berilgan dalillarga tegishli bo‘lishi, fayl yoki bajarish operatsiyalarini esa ilova amalga oshirib, natijalarni qaytarishi kerak. Har muhim operatsiya natijasini davom bilan saqlang.</p><h4>Vositalar va ko‘p navbatli ishlab chiqish</h4><p>Ishlab chiqaruvchi ko‘rsatmalarga amal qilish, vosita qo‘llash va davomli muloqotni oilani rivojlantirishning markaziy qismlari deb hujjatlashtiradi. Chiqarilgan dasturlash agenti yo‘riqnomasi fayl o‘qish va tahrirlash operatsiyalari hamda yakunlash harakatini beradi. Model axborotni tekshirishi, o‘zgarish so‘rashi va qaytgan kuzatuvdan davom etishi mumkin. Uning vazifasi keyingi qadamni tanlash va tavsiflash; haqiqatan nima bo‘lganini atrofdagi muhit belgilaydi.</p><p>Dastlabki reliz parallel vosita so‘rovlarini ham agentli o‘qitishdan keyin kuzatilgan imkoniyat deb tavsiflaydi. Mustaqil operatsiyalardan faqat natijalarini to‘g‘ri so‘rovga bog‘lab saqlash mumkin bo‘lganda foydalaning. Repozitoriy izohi bir nechta fayl axborotini birlashtirishi mumkin, tuzatish esa ta’sirlanadigan kodning joriy mazmuni va xatti-harakatiga muhtoj. Yetishmayotgan kuzatuv o‘rniga ehtimoliy muhit natijasini qo‘ymang.</p><h4>Nomzod o‘zgarishlarni puxta ko‘rib chiqing</h4><p>Ishlab chiqaruvchining e’lon qilingan agent yo‘riqnomasi tuzatish yaratish, saralash, tanlash va natijalar ustida mulohazani ajratadi. Saralash semantik takrorlarni yo‘qotishni bajarilishga asoslangan tekshiruvlar bilan birlashtiradi; tanlash qolgan nomzodlarni baholaydi; mulohaza esa oldingi natijalardan keyingi davrni yo‘naltirishda foydalanadi. Bu bosqichlar har oddiy matnli javobga avtomatik kafolat sifatida emas, hujjatlashtirilgan dasturlash jarayoniga tegishli.</p><p>Amaliy kod vazifasida taklif etilgan tuzatish, haqiqatan bajarilgan tekshiruvlar va natijalarini birga saqlang. Nomzod tuzatishlarni taqqoslash ularni farqlaydigan shartni tushuntirishi kerak, ayniqsa faqat diff bo‘yicha har biri ishonarli ko‘rinsa. Muvaffaqiyatsiz tekshiruv aloqasiz qayta yozishga undash o‘rniga keyingi navbatga tuzatiladigan aniq muammoni berishi mumkin.</p><h4>Oila va nashr farqlari</h4><p>Ishlab chiqaruvchining dastlabki relizi KAT-Coder’ni alohida ochiq KAT-Dev-32B modelidan ajratadi. O‘qitish muhokamasi va jarayon namoyishlari oilaning har nomlangan variantini bir xil checkpoint qilmaydi. Tanlangan variant va berilgan loyiha ko‘rsatmalarini natija bilan saqlang, operatsiyalar uchun esa aynan ishlab chiqaruvchi interfeysi yoki muhit yo‘riqnomasidan foydalaning.</p><p>Foydali topshirish materiali aniq yo‘naltirilgan yechim, nuqson izohi yoki xatti-harakatini asoslaydigan dalilli refaktoring bo‘lishi mumkin. Vazifani tugagan deb hisoblashdan oldin o‘zgargan mantiq va muhitning haqiqiy chiqishlarini ko‘rib chiqing. KAT-Coder’ning dasturiy muhandislik maqsadi aniq ishlab chiqish so‘rovi, tegishli kod va tekshiriladigan yakuniy materialga bog‘langanida eng foydali.</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 · Anthropic Messages</b> <code>POST /v1/messages</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code></dd></div><div><dt>Chiqish</dt><dd><code>json</code>, <code>sse</code></dd></div><div><dt>Chiqish formati</dt><dd>JSON yoki SSE</dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Maydon</th><th>Tur</th><th>Talab</th><th>Qiymatlar va cheklovlar</th><th>Standart</th></tr></thead><tbody><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>KAT-Coder-Pro-V1</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\">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\">messages[].role</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>user, assistant</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\">messages[].content</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\">max_tokens</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>integer</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></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\">stream</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"known\"><span class=\"card-cell-label\">Standart</span>false</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>Matn</b> · UTF-8 matni</p><p class=\"note-s\"><code>messages[].content satri</code></p></details><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, messages, max_tokens</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>stream</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>text_file_material</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>Haqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring.</td></tr></tbody></table></div><p>Hayot sikli: <code>synchronous_or_streamed</code></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></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</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=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.00114</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.00456</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0</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 · Anthropic Messages</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-877-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-877-panel-0\" aria-selected=\"true\" tabindex=\"0\">To‘liq minimal JSON so‘rov tanasi</button><button class=\"cg-tab\" id=\"model-code-877-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-877-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · O‘zingizning UTF-8 hujjatingizdan foydalaning</button><button class=\"cg-tab\" id=\"model-code-877-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-877-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python · Natijani to‘liq saqlang</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Kodni nusxalash\"><svg class=\"cp\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><rect x=\"5.25\" y=\"5.25\" width=\"8.5\" height=\"8.5\" rx=\"1.75\"/><path d=\"M10.75 5.25V3.5a1.25 1.25 0 0 0-1.25-1.25H3.5A1.25 1.25 0 0 0 2.25 3.5v6a1.25 1.25 0 0 0 1.25 1.25h1.75\"/></svg><svg class=\"ok\" viewBox=\"0 0 16 16\" fill=\"none\" stroke=\"currentColor\" stroke-width=\"1.4\"><path d=\"m3 8.5 3.25 3.25L13 5\"/></svg></button></div></div><div class=\"cg-body\"><div class=\"cg-pane\" id=\"model-code-877-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-877-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;KAT-Coder-Pro-V1&quot;,\n  &quot;max_tokens&quot;: 128,\n  &quot;messages&quot;: [\n    {\n      &quot;role&quot;: &quot;user&quot;,\n      &quot;content&quot;: &quot;Summarize the incident report.&quot;\n    }\n  ],\n  &quot;stream&quot;: false\n}</code></pre></div><div class=\"cg-pane\" id=\"model-code-877-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-877-tab-1\" hidden><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\n: &quot;${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}&quot;\nexport AILOOT_TEXT_FILE\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ[&#39;AILOOT_TEXT_FILE&#39;])\nif not source_file.is_file():\n    raise SystemExit(&#39;Set AILOOT_TEXT_FILE to your actual UTF-8 document&#39;)\ntext = source_file.read_text(encoding=&#39;utf-8&#39;)\nif not text.strip():\n    raise SystemExit(&#39;Choose a document containing text&#39;)\npayload = {&#39;model&#39;: &#39;KAT-Coder-Pro-V1&#39;, &#39;max_tokens&#39;: 128, &#39;messages&#39;: [{&#39;role&#39;: &#39;user&#39;, &#39;content&#39;: &#39;Summarize the incident report.&#39;}]}\npayload[&#39;messages&#39;][0][&#39;content&#39;] = &#39;Summarize this material and quote supporting source passages.\\n\\n&#39; + text\nPath(&#39;request.json&#39;).write_text(json.dumps(payload, ensure_ascii=False), encoding=&#39;utf-8&#39;)\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H &quot;x-api-key: $AILOOT_API_KEY&quot; -H &#39;anthropic-version: 2023-06-01&#39; -H &#39;Content-Type: application/json&#39; \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - &lt;&lt;&#39;PY_RESULT&#39;\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path(&#39;result.json&#39;).read_text(encoding=&#39;utf-8&#39;))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\nPY_RESULT\n</code></pre></div><div class=\"cg-pane\" id=\"model-code-877-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-877-tab-2\" hidden><pre data-lang=\"python\"><code>import json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ[&#39;AILOOT_TEXT_FILE&#39;])\nif not source_file.is_file():\n    raise SystemExit(&#39;Set AILOOT_TEXT_FILE to your actual UTF-8 document&#39;)\ntext = source_file.read_text(encoding=&#39;utf-8&#39;)\nif not text.strip():\n    raise SystemExit(&#39;Choose a document containing text&#39;)\npayload = {&#39;model&#39;: &#39;KAT-Coder-Pro-V1&#39;, &#39;max_tokens&#39;: 128, &#39;messages&#39;: [{&#39;role&#39;: &#39;user&#39;, &#39;content&#39;: &#39;Summarize the incident report.&#39;}]}\npayload[&#39;messages&#39;][0][&#39;content&#39;] = &#39;Summarize this material and quote supporting source passages.\\n\\n&#39; + text\nfrom urllib.request import Request, urlopen\nfrom urllib.error import HTTPError\n\napi_key = os.environ[&#39;AILOOT_API_KEY&#39;]\nif not api_key.strip():\n    raise SystemExit(&#39;Set AILOOT_API_KEY before making a request&#39;)\nheaders = {&#39;x-api-key&#39;: &#39;PLACEHOLDER_KEY&#39;, &#39;anthropic-version&#39;: &#39;2023-06-01&#39;, &#39;Content-Type&#39;: &#39;application/json&#39;}\nheaders[&#39;x-api-key&#39;] = api_key\nrequest = Request(&#39;https://api.ailoot.ai/v1/messages&#39;, data=json.dumps(payload, ensure_ascii=False).encode(&#39;utf-8&#39;), headers=headers, method=&#39;POST&#39;)\ntry:\n    with urlopen(request, timeout=120) as response:\n        raw = response.read()\n        Path(&#39;response-headers.txt&#39;).write_text(str(response.headers), encoding=&#39;utf-8&#39;)\nexcept HTTPError as error:\n    Path(&#39;result.json&#39;).write_bytes(error.read())\n    Path(&#39;response-headers.txt&#39;).write_text(str(error.headers), encoding=&#39;utf-8&#39;)\n    raise\nPath(&#39;result.json&#39;).write_bytes(raw)\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path(&#39;result.json&#39;).read_text(encoding=&#39;utf-8&#39;))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\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 · Anthropic Messages</h4><p class=\"note-s\">JSON yoki SSE</p><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\">Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.</p></div><details class=\"card-about\" data-output-fields><summary>Javob maydonlari</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Maydon</th><th>Tur</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>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\">content[]</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>text|thinking|tool_use|other content block</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">stop_reason</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\">usage</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span>object</td></tr></tbody></table></div></details><details class=\"card-about\" data-method-errors><summary>Xatolar va keyingi qadamlar</summary><div class=\"tw\" data-card-table=\"errors\"><table><thead><tr><th>Javob</th><th>Shart</th><th>Keyingi qadam</th></tr></thead><tbody><tr><th data-cell-label=\"Javob\" scope=\"row\"><span class=\"card-cell-label\">Javob</span>400 · <code>invalid_request_error</code></th><td data-cell-label=\"Shart\"><span class=\"card-cell-label\">Shart</span>Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri</td><td data-cell-label=\"Keyingi qadam\"><span class=\"card-cell-label\">Keyingi qadam</span>Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.</td></tr></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=KAT-Coder-Pro-V1&amp;route=Ultra&amp;caller=KAT-Coder-Pro-V1&amp;fmt=messages\"><code>KAT-Coder-Pro-V1</code></a></span></p><h4>Usul yo‘llari taxalluslari</h4><p class=\"note-s\"><code>/chat/completions</code></p><h4>Chaqirish uchun tegishli ID lar</h4><p class=\"note-s\"><a href=\"#m=KAT-Coder-Pro-V1&amp;route=Ultra&amp;caller=KAT-Coder-Pro-V1&amp;fmt=messages\"><code>KAT-Coder-Pro-V1</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "KAT-Coder-Pro-V1",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "KAT-Coder-Pro-V1",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|messages|/v1/messages|KAT-Coder-Pro-V1",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "headers": [
                "Authorization: Bearer",
                "x-api-key",
                "anthropic-version"
              ],
              "version_example": "2023-06-01"
            },
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              }
            ],
            "example_body": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "KAT-Coder-Pro-V1",
              "stream": false
            },
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content satri",
                "required_material": "UTF-8 matni"
              }
            ],
            "operation_modes": [
              "synchronous_json",
              "streamed_SSE"
            ],
            "outputs": {
              "all_results": "Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.",
              "family": "protocol",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content[]",
                  "type": "text|thinking|tool_use|other content block"
                },
                {
                  "description": null,
                  "name": "stop_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON yoki SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "KAT-Coder-Pro-V1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "user",
                  "assistant"
                ],
                "enum_known": true,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Documented current stock Messages bridge; optional model capabilities are separate from this minimal text request.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "source": {
                                      "oneOf": [
                                        {
                                          "properties": {
                                            "type": {
                                              "const": "url"
                                            },
                                            "url": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "url"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "properties": {
                                            "data": {
                                              "type": "string"
                                            },
                                            "media_type": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "const": "base64"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "media_type",
                                            "data"
                                          ],
                                          "type": "object"
                                        }
                                      ]
                                    },
                                    "type": {
                                      "const": "image"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "source"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "KAT-Coder-Pro-V1"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "KAT-Coder-Pro-V1",
              "stream": false
            },
            "unsupported": [
              "No query API key.",
              "Hosted/server-side tools and model-specific optional controls are not part of this minimal family example."
            ]
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "stream"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ],
            "text_file_material": "Haqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring."
          },
          "lifecycle": {
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "job_read": null,
            "mode": "synchronous_or_streamed",
            "unknown": "Keep request/response IDs and headers. No generic text job retrieval URL is supplied."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "output": {
            "all_results": "Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.",
            "family": "protocol",
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenlar uchun bazaviy tariflar",
            "units": [
              {
                "amount": "0.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "{\n  \"model\": \"KAT-Coder-Pro-V1\",\n  \"max_tokens\": 128,\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Summarize the incident report.\"\n    }\n  ],\n  \"stream\": false\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nPath('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\nPY_RESULT\n",
            "label": "curl · use your UTF-8 document",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nfrom urllib.request import Request, urlopen\nfrom urllib.error import HTTPError\n\napi_key = os.environ['AILOOT_API_KEY']\nif not api_key.strip():\n    raise SystemExit('Set AILOOT_API_KEY before making a request')\nheaders = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}\nheaders['x-api-key'] = api_key\nrequest = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')\ntry:\n    with urlopen(request, timeout=120) as response:\n        raw = response.read()\n        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')\nexcept HTTPError as error:\n    Path('result.json').write_bytes(error.read())\n    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')\n    raise\nPath('result.json').write_bytes(raw)\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\n",
            "label": "Python · save the complete result",
            "language": "python"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "messages",
        "http": "POST",
        "in": 1.14,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": 4.56,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "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.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "KAT-Coder-Pro-V1",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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": "KAT-Coder-Pro-V1",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "098d5df1b16c1c2dcfb4a1e38a4cab2298460cfb9dd7da0a4c004155fbf11a11",
    "input_html_sha256": "b37e98191031828b9d938f46bec599c1899027494ba2fa9e2c8e3eed8735cffd",
    "private_audit_sha256": "6658e2688bdcdad7e9c59268b2517ffbc5091dbe388cd8cbce1d9275f23c62d1",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/kat-coder-pro-v1/",
    "description": "KAT-Coder — Kuaishou’ning repozitoriy kontekstini hisobga oladigan ishlab chiqish vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchi jarayoni vositali tekshiruv, tuzatish yaratish, bajarilishga asoslangan ko‘rib chiqish va natijalar ustida mulohazani birlashtirib, haqiqiy loyiha xatti-harakatiga bog‘langan kod yoki tushuntirish beradi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/kat-coder-pro-v1/index.md",
    "title": "kat-coder-pro-v1 — Ailoot",
    "url": "https://ailoot.ai/models/uz/kat-coder-pro-v1/"
  },
  "rawModel": {
    "about": "KAT-Coder — Kuaishou’ning vositalar mavjud muhitdagi dasturiy muhandislik vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchining dastlabki relizi ishlab chiqish so‘rovini repozitoriyni tekshirish, tuzatish yaratish va ko‘rib chiqish orqali bajarishga qaratilgan. O‘qitishi funksiyalarni amalga oshirish va yaxshilash, xatolarni tuzatish, refaktoring, unumdorlik ishlari, test yaratish, kodni tushunish va konfiguratsiya vazifalarini qamraydi. Foydali materiallar haqiqiy loyiha xatti-harakatiga bog‘langan kod va matndir.\n\n### Muammo va tegishli loyiha kontekstini bering\n\nErishiladigan xatti-harakat, joriy amalga oshirish va bajarilishni belgilaydigan shartlarni ayting. Muammoni tushunish uchun kerakli manba fayllari yoki parchalarini, muhitdan allaqachon mavjud buyruq yoki kuzatuvlarni kiriting. Dastlabki xato tuzatish topshirig‘i xatoli kirish, kutilgan natija va xatti-harakati farq qiladigan funksiyani ko‘rsatishi mumkin. Yangi imkoniyat qo‘shish so‘rovi foydalanuvchiga ko‘rinadigan natija va izchil qolishi kerak bo‘lgan interfeyslarni nomlashi mumkin.\n\nIshlab chiqaruvchining agentli o‘qitishi muammo tavsiflari, Git tarmog‘idagi kod, bajariladigan muhitlar va tekshiriladigan vazifa shartlaridan foydalanadi. Ilova yordamidagi vazifada bu qismlarni mos tuting. Model taklifi haqiqiy ish nusxasi va berilgan dalillarga tegishli bo‘lishi, fayl yoki bajarish operatsiyalarini esa ilova amalga oshirib, natijalarni qaytarishi kerak. Har muhim operatsiya natijasini davom bilan saqlang.\n\n### Vositalar va ko‘p navbatli ishlab chiqish\n\nIshlab chiqaruvchi ko‘rsatmalarga amal qilish, vosita qo‘llash va davomli muloqotni oilani rivojlantirishning markaziy qismlari deb hujjatlashtiradi. Chiqarilgan dasturlash agenti yo‘riqnomasi fayl o‘qish va tahrirlash operatsiyalari hamda yakunlash harakatini beradi. Model axborotni tekshirishi, o‘zgarish so‘rashi va qaytgan kuzatuvdan davom etishi mumkin. Uning vazifasi keyingi qadamni tanlash va tavsiflash; haqiqatan nima bo‘lganini atrofdagi muhit belgilaydi.\n\nDastlabki reliz parallel vosita so‘rovlarini ham agentli o‘qitishdan keyin kuzatilgan imkoniyat deb tavsiflaydi. Mustaqil operatsiyalardan faqat natijalarini to‘g‘ri so‘rovga bog‘lab saqlash mumkin bo‘lganda foydalaning. Repozitoriy izohi bir nechta fayl axborotini birlashtirishi mumkin, tuzatish esa ta’sirlanadigan kodning joriy mazmuni va xatti-harakatiga muhtoj. Yetishmayotgan kuzatuv o‘rniga ehtimoliy muhit natijasini qo‘ymang.\n\n### Nomzod o‘zgarishlarni puxta ko‘rib chiqing\n\nIshlab chiqaruvchining e’lon qilingan agent yo‘riqnomasi tuzatish yaratish, saralash, tanlash va natijalar ustida mulohazani ajratadi. Saralash semantik takrorlarni yo‘qotishni bajarilishga asoslangan tekshiruvlar bilan birlashtiradi; tanlash qolgan nomzodlarni baholaydi; mulohaza esa oldingi natijalardan keyingi davrni yo‘naltirishda foydalanadi. Bu bosqichlar har oddiy matnli javobga avtomatik kafolat sifatida emas, hujjatlashtirilgan dasturlash jarayoniga tegishli.\n\nAmaliy kod vazifasida taklif etilgan tuzatish, haqiqatan bajarilgan tekshiruvlar va natijalarini birga saqlang. Nomzod tuzatishlarni taqqoslash ularni farqlaydigan shartni tushuntirishi kerak, ayniqsa faqat diff bo‘yicha har biri ishonarli ko‘rinsa. Muvaffaqiyatsiz tekshiruv aloqasiz qayta yozishga undash o‘rniga keyingi navbatga tuzatiladigan aniq muammoni berishi mumkin.\n\n### Oila va nashr farqlari\n\nIshlab chiqaruvchining dastlabki relizi KAT-Coder’ni alohida ochiq KAT-Dev-32B modelidan ajratadi. O‘qitish muhokamasi va jarayon namoyishlari oilaning har nomlangan variantini bir xil checkpoint qilmaydi. Tanlangan variant va berilgan loyiha ko‘rsatmalarini natija bilan saqlang, operatsiyalar uchun esa aynan ishlab chiqaruvchi interfeysi yoki muhit yo‘riqnomasidan foydalaning.\n\nFoydali topshirish materiali aniq yo‘naltirilgan yechim, nuqson izohi yoki xatti-harakatini asoslaydigan dalilli refaktoring bo‘lishi mumkin. Vazifani tugagan deb hisoblashdan oldin o‘zgargan mantiq va muhitning haqiqiy chiqishlarini ko‘rib chiqing. KAT-Coder’ning dasturiy muhandislik maqsadi aniq ishlab chiqish so‘rovi, tegishli kod va tekshiriladigan yakuniy materialga bog‘langanida eng foydali.",
    "alias_of": null,
    "aliases": [],
    "author": "Kuaishou",
    "available": null,
    "canonical_model": "KAT-Coder-Pro-V1",
    "capabilities": {
      "context_length": 256000,
      "manufacturer_input": [],
      "manufacturer_output": []
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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,
    "entity_type": "model",
    "formats": [
      "chat",
      "messages"
    ],
    "id": "KAT-Coder-Pro-V1",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Keep every choice and its content/tool calls/reasoning. In SSE assemble deltas by choice/tool index, retain the final finish reason and usage.",
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "header": "Authorization: Bearer"
            },
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              }
            ],
            "hints": [
              "Model context is not an output cap.",
              "Send the conversation as text messages. Stream must be a boolean; omitted stream defaults to false."
            ],
            "ignored_fields": [],
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/chat/completions"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content",
                "required_material": "UTF8 matni"
              }
            ],
            "operation_modes": [
              "conversation"
            ],
            "outputs": {
              "all_results": "Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.",
              "family": "text",
              "fields": [
                {
                  "description": null,
                  "name": "choices[].index",
                  "type": "integer"
                },
                {
                  "description": null,
                  "name": "choices[].message.content",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "choices[].message.tool_calls",
                  "type": "tool_call[]"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_content",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "choices[].message.reasoning_details",
                  "type": "object|array"
                },
                {
                  "description": null,
                  "name": "choices[].finish_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "json yoki SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "KAT-Coder-Pro-V1"
                ],
                "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": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": false,
                "type": "string",
                "when": "Matnli suhbat"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Text conversation at the exact model ID and method path.",
            "unsupported": [
              "additional models/models list",
              "plugins",
              "route",
              "hosted tools; ordinary client function tools remain separate",
              "non-text output modalities",
              "provider.options overrides",
              "one-hour prompt-cache TTL"
            ]
          },
          "hints": [
            "Aniq model IDsini messages bilan yuboring.",
            "Kontekst uzunligi chiqishning yuqori chegarasi emas.",
            "Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi."
          ],
          "input": {
            "content_type": "application/json",
            "control_scope": "Matnli suhbat; stream mantiqiy qiymat bo‘lib, standart holatda false.",
            "file_material": "Haqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi",
            "hosted_operations": false,
            "material_types": [
              "text"
            ],
            "messages": "role/content tuzilishidagi xabarlar massivi",
            "multimodal_input_binding": null,
            "optional_controls": [
              "stream"
            ],
            "output_modalities": [
              "text"
            ],
            "required": [
              "model",
              "messages"
            ]
          },
          "lifecycle": {
            "mode": "synchronous_or_streamed",
            "unknown": "preserve original request id; no generic chat job retrieval path"
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/chat/completions"
          },
          "method_aliases": [
            "/chat/completions"
          ],
          "operation_modes": [
            "text_chat"
          ],
          "output": {
            "content": "choices[].message.content or stream delta",
            "family": "text",
            "format": "json or supported SSE",
            "tool_calls": "retain actual returned function calls"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenlar uchun bazaviy tariflar",
            "units": [
              {
                "amount": "0.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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,os\nfrom pathlib import Path\np=json.loads('{\"model\":\"KAT-Coder-Pro-V1\",\"messages\":[{\"role\":\"user\",\"content\":\"hello\"}],\"stream\":false}')\n\nPath(\"request.json\").write_text(json.dumps(p,ensure_ascii=False))\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\nr=json.loads(Path(\"result.json\").read_text())\nfor x in r.get(\"choices\",[]):\n    if x.get(\"message\",{}).get(\"content\"): print(x[\"message\"][\"content\"])\nPY_RESULT\n",
            "label": "curl · retained exact creation",
            "language": "bash"
          },
          {
            "code": "from openai import OpenAI\nimport os\n\nif not os.environ.get(\"AILOOT_API_KEY\", \"\").strip(): raise SystemExit(\"Set AILOOT_API_KEY before making a request\")\nclient=OpenAI(base_url=\"https://api.ailoot.ai/v1\",api_key=os.environ[\"AILOOT_API_KEY\"],max_retries=0)\nresult=client.chat.completions.create(model=\"KAT-Coder-Pro-V1\", messages=[{\"role\":\"user\",\"content\":\"hello\"}], stream=False)\nimport base64, json\nfrom pathlib import Path\n\ndef save_result(data, stem=\"result\"):\n    # Keep every field, including usage, IDs, reasoning and tool requests.\n    Path(stem + \".json\").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding=\"utf-8\")\n    print(json.dumps(data, ensure_ascii=False, indent=2))\n    def save_blob(encoded, suffix, label):\n        raw = base64.b64decode(encoded, altchars=b\"-_\", validate=True)\n        ext = \"png\" if raw.startswith(b\"\\x89PNG\\r\\n\\x1a\\n\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4] == b\"RIFF\" and raw[8:12] == b\"WEBP\" else suffix\n        file = Path(stem + \"-\" + label + \".\" + ext)\n        file.write_bytes(raw)\n        print(\"Saved\", file)\n    for index, block in enumerate(data.get(\"content\") or []):\n        print(\"Content\", index, json.dumps(block, ensure_ascii=False))\n    for choice in data.get(\"choices\") or []:\n        print(\"Choice\", choice.get(\"index\"), json.dumps(choice.get(\"message\", choice.get(\"delta\", {})), ensure_ascii=False))\n    for index, item in enumerate(data.get(\"output\") or []):\n        print(\"Output\", index, json.dumps(item, ensure_ascii=False))\n        if item.get(\"type\") == \"image_generation_call\" and item.get(\"result\"):\n            save_blob(item[\"result\"], item.get(\"output_format\") or \"bin\", \"output-\" + str(index))\n    for ci, candidate in enumerate(data.get(\"candidates\") or []):\n        for pi, part in enumerate((candidate.get(\"content\") or {}).get(\"parts\") or []):\n            print(\"Candidate/part\", ci, pi, json.dumps(part, ensure_ascii=False))\n            blob = part.get(\"inlineData\") or part.get(\"inline_data\")\n            if blob and blob.get(\"data\"):\n                mime = blob.get(\"mimeType\") or blob.get(\"mime_type\")\n                suffix = {\"image/png\":\"png\", \"image/jpeg\":\"jpg\", \"image/webp\":\"webp\", \"audio/wav\":\"wav\", \"audio/mpeg\":\"mp3\", \"video/mp4\":\"mp4\"}.get(mime, \"bin\")\n                save_blob(blob[\"data\"], suffix, \"candidate-\" + str(ci) + \"-part-\" + str(pi))\n\nsave_result(result.to_dict(mode=\"json\"))\n",
            "label": "Python SDK · all choices",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "chat",
        "hints": [
          "Send exact model ID with messages.",
          "Context length is not an output cap.",
          "A text file may supply literal text; image/audio/file-object inputs need exact binding."
        ],
        "http": "POST",
        "in": 1.14,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 4.56,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "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.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "KAT-Coder-Pro-V1",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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"
          }
        ]
      },
      {
        "available": null,
        "cache_read": 0,
        "cache_write": 0,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "authentication": {
              "api_key_source": "AILOOT_API_KEY",
              "headers": [
                "Authorization: Bearer",
                "x-api-key",
                "anthropic-version"
              ],
              "version_example": "2023-06-01"
            },
            "errors": [
              {
                "code": null,
                "condition": "Majburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri",
                "http_status": 400,
                "recovery": "Yangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.",
                "type": "invalid_request_error"
              }
            ],
            "example_body": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "KAT-Coder-Pro-V1",
              "stream": false
            },
            "lifecycle": {
              "create": {
                "http": "POST",
                "path": "/v1/messages"
              },
              "job_read": null,
              "mode": "synchronous_or_streamed",
              "unknown": "So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan."
            },
            "material_combinations": [
              {
                "mode": "text",
                "representation": "messages[].content satri",
                "required_material": "UTF-8 matni"
              }
            ],
            "operation_modes": [
              "synchronous_json",
              "streamed_SSE"
            ],
            "outputs": {
              "all_results": "Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.",
              "family": "protocol",
              "fields": [
                {
                  "description": null,
                  "name": "id",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "model",
                  "type": "string"
                },
                {
                  "description": null,
                  "name": "content[]",
                  "type": "text|thinking|tool_use|other content block"
                },
                {
                  "description": null,
                  "name": "stop_reason",
                  "type": "string|null"
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": "object"
                }
              ],
              "format": "JSON yoki SSE"
            },
            "parameters": [
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "KAT-Coder-Pro-V1"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages",
                "required": true,
                "type": "message[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "user",
                  "assistant"
                ],
                "enum_known": true,
                "name": "messages[].role",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].content",
                "required": true,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "max_tokens",
                "required": true,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              }
            ],
            "profile_binding": "Documented current stock Messages bridge; optional model capabilities are separate from this minimal text request.",
            "request_schema": {
              "additionalProperties": false,
              "properties": {
                "max_tokens": {
                  "minimum": 1,
                  "type": "integer"
                },
                "messages": {
                  "items": {
                    "additionalProperties": false,
                    "properties": {
                      "content": {
                        "oneOf": [
                          {
                            "type": "string"
                          },
                          {
                            "items": {
                              "oneOf": [
                                {
                                  "properties": {
                                    "text": {
                                      "type": "string"
                                    },
                                    "type": {
                                      "const": "text"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "text"
                                  ],
                                  "type": "object"
                                },
                                {
                                  "properties": {
                                    "source": {
                                      "oneOf": [
                                        {
                                          "properties": {
                                            "type": {
                                              "const": "url"
                                            },
                                            "url": {
                                              "type": "string"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "url"
                                          ],
                                          "type": "object"
                                        },
                                        {
                                          "properties": {
                                            "data": {
                                              "type": "string"
                                            },
                                            "media_type": {
                                              "type": "string"
                                            },
                                            "type": {
                                              "const": "base64"
                                            }
                                          },
                                          "required": [
                                            "type",
                                            "media_type",
                                            "data"
                                          ],
                                          "type": "object"
                                        }
                                      ]
                                    },
                                    "type": {
                                      "const": "image"
                                    }
                                  },
                                  "required": [
                                    "type",
                                    "source"
                                  ],
                                  "type": "object"
                                }
                              ]
                            },
                            "type": "array"
                          }
                        ]
                      },
                      "role": {
                        "enum": [
                          "user",
                          "assistant"
                        ],
                        "type": "string"
                      }
                    },
                    "required": [
                      "role",
                      "content"
                    ],
                    "type": "object"
                  },
                  "minItems": 1,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "KAT-Coder-Pro-V1"
                  ],
                  "type": "string"
                },
                "stream": {
                  "default": false,
                  "type": "boolean"
                }
              },
              "required": [
                "model",
                "messages",
                "max_tokens"
              ],
              "type": "object"
            },
            "schema_template": {
              "max_tokens": 128,
              "messages": [
                {
                  "content": "Summarize the incident report.",
                  "role": "user"
                }
              ],
              "model": "KAT-Coder-Pro-V1",
              "stream": false
            },
            "unsupported": [
              "No query API key.",
              "Hosted/server-side tools and model-specific optional controls are not part of this minimal family example."
            ]
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text"
            ],
            "optional_controls": [
              "stream"
            ],
            "required": [
              "model",
              "messages",
              "max_tokens"
            ],
            "text_file_material": "Haqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring."
          },
          "lifecycle": {
            "create": {
              "http": "POST",
              "path": "/v1/messages"
            },
            "job_read": null,
            "mode": "synchronous_or_streamed",
            "unknown": "Keep request/response IDs and headers. No generic text job retrieval URL is supplied."
          },
          "manufacturer_capability": null,
          "method": {
            "http": "POST",
            "path": "/v1/messages"
          },
          "output": {
            "all_results": "Keep all content blocks, thinking signatures and actual tool-use IDs. Assemble all SSE block deltas; a first text block is not the complete output.",
            "family": "protocol",
            "format": "JSON or SSE"
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Tokenlar uchun bazaviy tariflar",
            "units": [
              {
                "amount": "0.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "{\n  \"model\": \"KAT-Coder-Pro-V1\",\n  \"max_tokens\": 128,\n  \"messages\": [\n    {\n      \"role\": \"user\",\n      \"content\": \"Summarize the incident report.\"\n    }\n  ],\n  \"stream\": false\n}",
            "label": "Complete minimal JSON body",
            "language": "json"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\n: \"${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}\"\nexport AILOOT_TEXT_FILE\npython3 - <<'PY_REQUEST'\nimport json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nPath('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')\nPY_REQUEST\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \\\n  -H \"x-api-key: $AILOOT_API_KEY\" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \\\n  --data-binary @request.json -D response-headers.txt -o result.json\npython3 - <<'PY_RESULT'\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\nPY_RESULT\n",
            "label": "curl · use your UTF-8 document",
            "language": "bash"
          },
          {
            "code": "import json, os\nfrom pathlib import Path\n\nsource_file = Path(os.environ['AILOOT_TEXT_FILE'])\nif not source_file.is_file():\n    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')\ntext = source_file.read_text(encoding='utf-8')\nif not text.strip():\n    raise SystemExit('Choose a document containing text')\npayload = {'model': 'KAT-Coder-Pro-V1', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}\npayload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\\n\\n' + text\nfrom urllib.request import Request, urlopen\nfrom urllib.error import HTTPError\n\napi_key = os.environ['AILOOT_API_KEY']\nif not api_key.strip():\n    raise SystemExit('Set AILOOT_API_KEY before making a request')\nheaders = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}\nheaders['x-api-key'] = api_key\nrequest = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')\ntry:\n    with urlopen(request, timeout=120) as response:\n        raw = response.read()\n        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')\nexcept HTTPError as error:\n    Path('result.json').write_bytes(error.read())\n    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')\n    raise\nPath('result.json').write_bytes(raw)\nimport json\nfrom pathlib import Path\n\nresult = json.loads(Path('result.json').read_text(encoding='utf-8'))\nprint(json.dumps(result, ensure_ascii=False, indent=2))\n",
            "label": "Python · save the complete result",
            "language": "python"
          }
        ],
        "family": "anthropic",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "messages",
        "http": "POST",
        "in": 1.14,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [],
        "out": 4.56,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "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.00114000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.00000114",
                "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.00456000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.00000456",
                "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",
                "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",
                "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": "0",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": "0",
                "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": "KAT-Coder-Pro-V1",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [],
        "units": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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": "KAT-Coder-Pro-V1",
        "request_model_id": "KAT-Coder-Pro-V1",
        "route_label": "Ultra"
      }
    ],
    "name": "kat-coder-pro-v1",
    "price": {
      "in": 1.14,
      "in_label": null,
      "out": 4.56,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 1.14,
      "sort_out": 4.56,
      "varies": false
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "OpenAI Chat · Base token rates",
        "units": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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": {
          "regime": "base"
        },
        "label": "Anthropic Messages · Base token rates",
        "units": [
          {
            "amount": "0.00114000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.00000114",
            "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.00456000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.00000456",
            "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",
            "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",
            "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": "0",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": "0",
            "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"
          }
        ]
      }
    ],
    "public_id": "KAT-Coder-Pro-V1",
    "short": "KAT-Coder — Kuaishou’ning repozitoriy kontekstini hisobga oladigan ishlab chiqish vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchi jarayoni vositali tekshiruv, tuzatish yaratish, bajarilishga asoslangan ko‘rib chiqish va natijalar ustida mulohazani birlashtirib, haqiqiy loyiha xatti-harakatiga bog‘langan kod yoki tushuntirish beradi."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/1/rawMethod/contract",
          "html_json_pointer": "/methods/1/html",
          "method_ordinal": 1
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "KAT-Coder — Kuaishou’ning repozitoriy kontekstini hisobga oladigan ishlab chiqish vazifalari uchun dasturlash modellari oilasi. Ishlab chiqaruvchi jarayoni vositali tekshiruv, tuzatish yaratish, bajarilishga asoslangan ko‘rib chiqish va natijalar ustida mulohazani birlashtirib, haqiqiy loyiha xatti-harakatiga bog‘langan kod yoki tushuntirish beradi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "f725dcdfe34187a5bdb76eb5203b7c18b3e92b70fa01ec31bb606f2a38055ced",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "1425a183b3b6badca15d15f019cec84732b09d6e0fd963d7e1d0a92558fbee9e"
}
