{
  "aboutHtml": "<p>Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.</p><p>Kod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.</p><p>Nashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.</p><p>Belgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.</p><p>Hujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.</p><p>Aynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.</p><p>Ushbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.</p><p>Foydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.</p>",
  "aboutText": "Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.\n\nKod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.\n\nNashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.\n\nBelgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.\n\nHujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.\n\nAynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.\n\nUshbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.\n\nFoydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.",
  "editorialOverlay": {
    "copy_fields": {
      "practical_html": "<h3>Amaliy vazifa</h3><p>Ingliz tilidagi texnik misol</p><pre><code>Correct a multi-turn form regression\n\nA form change added a required phone field. Prior accepted behavior: email-only contact was allowed. Current source: if (!email || !phone) return &#x27;Missing contact&#x27;; submit({email,phone}). New requirement: at least one contact method. Propose a minimal correction, preserve submission fields and explain tests for email only, phone only, both and neither.</code></pre><h4>Kutiladigan natija</h4><pre><code>A focused condition change and four expected acceptance/rejection cases.</code></pre><h4>Natijani tekshirish</h4><pre><code>Check the correction accepts either contact method independently and rejects only when both are absent.</code></pre>"
    },
    "copy_sha256": "b4d4f8936a24bb0de00ab2ec82ed929d6486f392387d7032beac8400522125a1",
    "copy_source": {
      "locale": "uz",
      "pack_sha256": "0f56d90ba41881e1134accf82e57338f246f8753ca4c0cee929aaffada5d10e7",
      "record_model_id": "google/gemini-3.5-flash",
      "source_facts_sha256": "4fb76c76402e0b274a5307484586c497211c17fd95f5dae62d29c1050ed0a140",
      "validation_sha256": "a2ac2f28056280fc0b2ea34a501bf156d5ce155406e57e708edf30bfdf6bfdc6"
    },
    "html_sha256": "c6a777be98ebed076d60b48f95b916d3fba7a2c987cb729eaf88eb0f0b2f4788",
    "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.5 Flash</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Google /</span><code>gemini-3.5-flash</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|gemini-3.5-flash\">Chat · Ultra</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|gemini-3.5-flash\">Messages · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Model ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|chat|/v1/chat/completions|gemini-3.5-flash\" selected>gemini-3.5-flash</option><option value=\"Ultra|chat|/v1/chat/completions|google%2Fgemini-3.5-flash\">google/gemini-3.5-flash</option></select></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\">Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor.</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>Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.</p><p>Kod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.</p><p>Nashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.</p><p>Belgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.</p><p>Hujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.</p><p>Aynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.</p><p>Ushbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.</p><p>Foydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.</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>gemini-3.5-flash</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>Standart tarif <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Standart tarif <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Standart tarif <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd><dt>Fikrlash darajasi · yuqori</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi yuqori bo‘lganda</span></dd><dt>Fikrlash darajasi · past</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi past bo‘lganda</span></dd><dt>Fikrlash darajasi · o‘rtacha</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi o‘rtacha bo‘lganda</span></dd><dt>Fikrlash darajasi · minimal</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi minimal bo‘lganda</span></dd><dt>Ochiq ko‘rsatilgan keshlash narxlari</dt><dd>Yoqilmagan <span class=\"note-s\">Ochiq ko‘rsatilgan keshlash so‘ralganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Kontekst tokenlari soni bundan ko‘p</th><th>Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>So‘rov uzunligi bo‘yicha 1-daraja</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>0</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</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-1393-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1393-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1393-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1393-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-1393-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1393-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;gemini-3.5-flash&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-1393-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1393-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;gemini-3.5-flash&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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=chat\"><code>gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=chat\"><code>google/gemini-3.5-flash</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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=chat\"><code>google/gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=chat\"><code>gemini-3.5-flash</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "gemini-3.5-flash",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|gemini-3.5-flash",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "cache_read": 0.3,
        "cache_write": 0.1666666666666666,
        "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": [
                  "gemini-3.5-flash"
                ],
                "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\":\"gemini-3.5-flash\",\"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=\"gemini-3.5-flash\", 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": 1,
        "flex_multiplier": 1,
        "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": 3,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 18,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Reasoning effort · high",
            "value": "Standard rate",
            "when": "When reasoning effort is high"
          },
          {
            "label": "Reasoning effort · low",
            "value": "Standard rate",
            "when": "When reasoning effort is low"
          },
          {
            "label": "Reasoning effort · medium",
            "value": "Standard rate",
            "when": "When reasoning effort is medium"
          },
          {
            "label": "Reasoning effort · minimal",
            "value": "Standard rate",
            "when": "When reasoning effort is minimal"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.5 Flash</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Google /</span><code>gemini-3.5-flash</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|gemini-3.5-flash\">Chat · Ultra</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|gemini-3.5-flash\">Messages · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Model ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|messages|/v1/messages|gemini-3.5-flash\" selected>gemini-3.5-flash</option><option value=\"Ultra|messages|/v1/messages|google%2Fgemini-3.5-flash\">google/gemini-3.5-flash</option></select></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\">Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor.</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>Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.</p><p>Kod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.</p><p>Nashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.</p><p>Belgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.</p><p>Hujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.</p><p>Aynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.</p><p>Ushbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.</p><p>Foydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.</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>gemini-3.5-flash</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>Standart tarif <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Standart tarif <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Standart tarif <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd><dt>Fikrlash darajasi · yuqori</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi yuqori bo‘lganda</span></dd><dt>Fikrlash darajasi · past</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi past bo‘lganda</span></dd><dt>Fikrlash darajasi · o‘rtacha</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi o‘rtacha bo‘lganda</span></dd><dt>Fikrlash darajasi · minimal</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi minimal bo‘lganda</span></dd><dt>Ochiq ko‘rsatilgan keshlash narxlari</dt><dd>Yoqilmagan <span class=\"note-s\">Ochiq ko‘rsatilgan keshlash so‘ralganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Kontekst tokenlari soni bundan ko‘p</th><th>Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>So‘rov uzunligi bo‘yicha 1-daraja</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>0</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</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-1394-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1394-panel-0\" aria-selected=\"true\" tabindex=\"0\">To‘liq minimal JSON so‘rov tanasi</button><button class=\"cg-tab\" id=\"model-code-1394-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1394-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · O‘zingizning UTF-8 hujjatingizdan foydalaning</button><button class=\"cg-tab\" id=\"model-code-1394-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1394-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-1394-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1394-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;gemini-3.5-flash&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-1394-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1394-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;gemini-3.5-flash&#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-1394-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1394-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;gemini-3.5-flash&#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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=messages\"><code>gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=messages\"><code>google/gemini-3.5-flash</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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=messages\"><code>google/gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=messages\"><code>gemini-3.5-flash</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "gemini-3.5-flash",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|messages|/v1/messages|gemini-3.5-flash",
      "ordinal": 1,
      "rawMethod": {
        "available": null,
        "cache_read": 0.3,
        "cache_write": 0.1666666666666666,
        "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": "gemini-3.5-flash",
              "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": [
                  "gemini-3.5-flash"
                ],
                "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": [
                    "gemini-3.5-flash"
                  ],
                  "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": "gemini-3.5-flash",
              "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\": \"gemini-3.5-flash\",\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': 'gemini-3.5-flash', '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': 'gemini-3.5-flash', '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": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "in": 3,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 18,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Reasoning effort · high",
            "value": "Standard rate",
            "when": "When reasoning effort is high"
          },
          {
            "label": "Reasoning effort · low",
            "value": "Standard rate",
            "when": "When reasoning effort is low"
          },
          {
            "label": "Reasoning effort · medium",
            "value": "Standard rate",
            "when": "When reasoning effort is medium"
          },
          {
            "label": "Reasoning effort · minimal",
            "value": "Standard rate",
            "when": "When reasoning effort is minimal"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.5 Flash</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.5-flash</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|google%2Fgemini-3.5-flash\">Chat · Ultra</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|gemini-3.5-flash\">Messages · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Model ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|chat|/v1/chat/completions|gemini-3.5-flash\">gemini-3.5-flash</option><option value=\"Ultra|chat|/v1/chat/completions|google%2Fgemini-3.5-flash\" selected>google/gemini-3.5-flash</option></select></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\">Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor.</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>Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.</p><p>Kod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.</p><p>Nashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.</p><p>Belgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.</p><p>Hujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.</p><p>Aynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.</p><p>Ushbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.</p><p>Foydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.</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>google/gemini-3.5-flash</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>Namunalar: system, user, assistant, tool, function</div><div>Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi.</div><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|content_part[]|null</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">messages[].tool_calls</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>tool_call[]</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">messages[].tool_call_id</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">messages[].name</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">messages[].reasoning_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: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring</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[].reasoning_details</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object|array</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div 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=\"model_dependent\"><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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Eng kam: 1</div><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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">max_completion_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>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Eng kam: 1</div><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\">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><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\">stream_options.include_usage</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">temperature</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">top_p</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>number</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 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">stop</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string|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 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">tools</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>function_tool[]</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 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">tools[].type</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>function</div><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\">tools[].function.name</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>Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan</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\">tools[].function.description</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">tools[].function.parameters</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>JSON_schema</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">tool_choice</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string|object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">parallel_tool_calls</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>boolean</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">response_format</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">reasoning_effort</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 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">reasoning</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">service_tier</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 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_compatibility\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">instructions</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 class=\"note-s\">Moslik maydoni</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\">functions</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>function[]</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 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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">function_call</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string|object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><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=\"model_dependent\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">prompt_cache_options</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><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\">modalities</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>text</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr data-parameter-availability=\"source_interface\"><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>object</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>Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi</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\">cache_control.ttl</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>Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"card-about\" data-material-combinations><summary>Kirish materiallari birikmalari</summary><p class=\"note-s\"><b>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, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice</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>Modelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi</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>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>Standart tarif <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Standart tarif <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Standart tarif <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd><dt>Fikrlash darajasi · yuqori</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi yuqori bo‘lganda</span></dd><dt>Fikrlash darajasi · past</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi past bo‘lganda</span></dd><dt>Fikrlash darajasi · o‘rtacha</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi o‘rtacha bo‘lganda</span></dd><dt>Fikrlash darajasi · minimal</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi minimal bo‘lganda</span></dd><dt>Ochiq ko‘rsatilgan keshlash narxlari</dt><dd>Yoqilmagan <span class=\"note-s\">Ochiq ko‘rsatilgan keshlash so‘ralganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Kontekst tokenlari soni bundan ko‘p</th><th>Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>So‘rov uzunligi bo‘yicha 1-daraja</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>0</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</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-1395-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1395-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button><button class=\"cg-tab\" id=\"model-code-1395-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1395-panel-1\" aria-selected=\"false\" tabindex=\"-1\">Python SDK</button><button class=\"cg-tab\" id=\"model-code-1395-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1395-panel-2\" aria-selected=\"false\" tabindex=\"-1\">Python oqimi</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-1395-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1395-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;google/gemini-3.5-flash&quot;, &quot;messages&quot;: [{&quot;role&quot;: &quot;user&quot;, &quot;content&quot;: &quot;Explain the difference between an observation and a hypothesis in three sentences.&quot;}]}&#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-1395-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1395-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=&#39;google/gemini-3.5-flash&#39;,messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Explain observations and hypotheses in three sentences.&quot;}])\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 class=\"cg-pane\" id=\"model-code-1395-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1395-tab-2\" hidden><pre data-lang=\"python\"><code>from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model=&#39;google/gemini-3.5-flash&#39;,messages=[{&quot;role&quot;:&quot;user&quot;,&quot;content&quot;:&quot;Explain observations and hypotheses in three sentences.&quot;}]) as stream:\n    with Path(&quot;stream-events.jsonl&quot;).open(&quot;w&quot;,encoding=&quot;utf-8&quot;) as log:\n        for event in stream:\n            payload=event.to_dict(mode=&quot;json&quot;)\n            log.write(json.dumps(payload,ensure_ascii=False)+&quot;\\n&quot;); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=&quot;json&quot;),&quot;stream-result&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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=chat\"><code>gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=chat\"><code>google/gemini-3.5-flash</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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=chat\"><code>google/gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=chat\"><code>gemini-3.5-flash</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.5-flash",
        "fmt": "chat",
        "http": "POST",
        "path": "/v1/chat/completions",
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|chat|/v1/chat/completions|google%2Fgemini-3.5-flash",
      "ordinal": 2,
      "rawMethod": {
        "available": null,
        "cache_read": 0.3,
        "cache_write": 0.1666666666666666,
        "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID.",
              "Guarded canonical keys must occur once; duplicate or case-varied model/tools/cap fields are rejected."
            ],
            "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",
              "function_tool_continuation",
              "streaming"
            ],
            "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": [
                  "google/gemini-3.5-flash"
                ],
                "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",
                "conditions": "Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi.",
                "default": null,
                "default_known": false,
                "enum": [
                  "system",
                  "user",
                  "assistant",
                  "tool",
                  "function"
                ],
                "enum_exhaustive": false,
                "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": false,
                "type": "string|content_part[]|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_calls",
                "required": false,
                "type": "tool_call[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_call_id",
                "required": false,
                "type": "string",
                "when": "role=tool; haqiqatan qaytarilgan IDdan foydalaning"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].name",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_content",
                "required": false,
                "type": "string",
                "when": "Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_details",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stream_options.include_usage",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop",
                "required": false,
                "type": "string|string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "function_tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": [
                  "function"
                ],
                "enum_known": true,
                "name": "tools[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.name",
                "required": true,
                "type": "string",
                "when": "Funksiya vositasi taqdim etilgan"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.parameters",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "response_format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning_effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_compatibility",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "functions",
                "required": false,
                "type": "function[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "function_call",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "text"
                ],
                "enum_known": true,
                "name": "modalities",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "conditions": "Ushbu Ultra matn marshrutida provider.options rad etiladi",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "Haqiqiy prompt-kesh joylarida 1h rad etiladi",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "cache_control.ttl",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "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": "Modelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi",
            "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",
              "temperature",
              "top_p",
              "stop",
              "max_tokens",
              "max_completion_tokens",
              "reasoning",
              "response_format",
              "tools",
              "tool_choice"
            ],
            "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": [],
          "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "So‘rov uzunligi bo‘yicha 1-daraja",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\": \"google/gemini-3.5-flash\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}]}')\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='google/gemini-3.5-flash',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}])\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"
          },
          {
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model='google/gemini-3.5-flash',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python SDK streaming · all events",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "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": 3,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 18,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Tezkor rejim",
            "value": "Standart tarif",
            "when": "Tezkor rejim tanlanganda"
          },
          {
            "label": "Flex rejimi",
            "value": "Standart tarif",
            "when": "flex rejimi tanlanganda"
          },
          {
            "label": "Maksimal fikrlash darajasi",
            "value": "Standart tarif",
            "when": "Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda"
          },
          {
            "label": "Fikrlash darajasi · yuqori",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi yuqori bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · past",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi past bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · o‘rtacha",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi o‘rtacha bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · minimal",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi minimal bo‘lganda"
          },
          {
            "label": "Ochiq ko‘rsatilgan keshlash narxlari",
            "value": "Yoqilmagan",
            "when": "Ochiq ko‘rsatilgan keshlash so‘ralganda"
          }
        ],
        "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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\">G</span><h2 id=\"sheet-title\">Google: Gemini 3.5 Flash</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Google /</span><code>google/gemini-3.5-flash</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|gemini-3.5-flash\">Chat · Ultra</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|google%2Fgemini-3.5-flash\">Messages · Ultra</button></div><div class=\"idline\"><label for=\"card-model-id\">Model ID</label><select class=\"sel\" id=\"card-model-id\" style=\"min-width:0;max-width:100%\"><option value=\"Ultra|messages|/v1/messages|gemini-3.5-flash\">gemini-3.5-flash</option><option value=\"Ultra|messages|/v1/messages|google%2Fgemini-3.5-flash\" selected>google/gemini-3.5-flash</option></select></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\">Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor.</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>Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.</p><p>Kod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.</p><p>Nashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.</p><p>Belgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.</p><p>Hujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.</p><p>Aynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.</p><p>Ushbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.</p><p>Foydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.</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>google/gemini-3.5-flash</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>Standart tarif <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Standart tarif <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Standart tarif <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd><dt>Fikrlash darajasi · yuqori</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi yuqori bo‘lganda</span></dd><dt>Fikrlash darajasi · past</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi past bo‘lganda</span></dd><dt>Fikrlash darajasi · o‘rtacha</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi o‘rtacha bo‘lganda</span></dd><dt>Fikrlash darajasi · minimal</dt><dd>Standart tarif <span class=\"note-s\">Fikrlash darajasi minimal bo‘lganda</span></dd><dt>Ochiq ko‘rsatilgan keshlash narxlari</dt><dd>Yoqilmagan <span class=\"note-s\">Ochiq ko‘rsatilgan keshlash so‘ralganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Ailoot tariflari</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Kontekst tokenlari soni bundan ko‘p</th><th>Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>So‘rov uzunligi bo‘yicha 1-daraja</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Kontekst tokenlari soni bundan ko‘p\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan ko‘p</span>0</td><td data-cell-label=\"Kontekst tokenlari soni bundan oshmaydi, chegara kiradi\"><span class=\"card-cell-label\">Kontekst tokenlari soni bundan oshmaydi, chegara kiradi</span>Yuqori chegara yo‘q</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari</span> <b>$0.003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari</span> <b>$0.018</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish</span> <b>$0.0003</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish</span> <b>$0.0001666666666666666</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-1396-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1396-panel-0\" aria-selected=\"true\" tabindex=\"0\">To‘liq minimal JSON so‘rov tanasi</button><button class=\"cg-tab\" id=\"model-code-1396-tab-1\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1396-panel-1\" aria-selected=\"false\" tabindex=\"-1\">curl · O‘zingizning UTF-8 hujjatingizdan foydalaning</button><button class=\"cg-tab\" id=\"model-code-1396-tab-2\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1396-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-1396-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1396-tab-0\"><pre data-lang=\"json\"><code>{\n  &quot;model&quot;: &quot;google/gemini-3.5-flash&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-1396-panel-1\" role=\"tabpanel\" aria-labelledby=\"model-code-1396-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;google/gemini-3.5-flash&#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-1396-panel-2\" role=\"tabpanel\" aria-labelledby=\"model-code-1396-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;google/gemini-3.5-flash&#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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=messages\"><code>gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=messages\"><code>google/gemini-3.5-flash</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=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=google%2Fgemini-3.5-flash&amp;fmt=messages\"><code>google/gemini-3.5-flash</code></a>, <a href=\"#m=google%2Fgemini-3.5-flash&amp;route=Ultra&amp;caller=gemini-3.5-flash&amp;fmt=messages\"><code>gemini-3.5-flash</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "google/gemini-3.5-flash",
        "fmt": "messages",
        "http": "POST",
        "path": "/v1/messages",
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|messages|/v1/messages|google%2Fgemini-3.5-flash",
      "ordinal": 3,
      "rawMethod": {
        "available": null,
        "cache_read": 0.3,
        "cache_write": 0.1666666666666666,
        "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": "google/gemini-3.5-flash",
              "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": [
                  "google/gemini-3.5-flash"
                ],
                "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": [
                    "google/gemini-3.5-flash"
                  ],
                  "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": "google/gemini-3.5-flash",
              "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "So‘rov uzunligi bo‘yicha 1-daraja",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\": \"google/gemini-3.5-flash\",\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': 'google/gemini-3.5-flash', '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': 'google/gemini-3.5-flash', '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": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "in": 3,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 18,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Tezkor rejim",
            "value": "Standart tarif",
            "when": "Tezkor rejim tanlanganda"
          },
          {
            "label": "Flex rejimi",
            "value": "Standart tarif",
            "when": "flex rejimi tanlanganda"
          },
          {
            "label": "Maksimal fikrlash darajasi",
            "value": "Standart tarif",
            "when": "Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda"
          },
          {
            "label": "Fikrlash darajasi · yuqori",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi yuqori bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · past",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi past bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · o‘rtacha",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi o‘rtacha bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · minimal",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi minimal bo‘lganda"
          },
          {
            "label": "Ochiq ko‘rsatilgan keshlash narxlari",
            "value": "Yoqilmagan",
            "when": "Ochiq ko‘rsatilgan keshlash so‘ralganda"
          }
        ],
        "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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": "google/gemini-3.5-flash",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "6010e46033f953f78b20f43697d55bb8d058346a17318e6867775614fd9952ea",
    "input_html_sha256": "7563c4e526a5e07e50d20431dc4f4a3ed62776bfdf895f50d8e3333f6ce5444e",
    "private_audit_sha256": "594d0e90a9ae0f9de895f95c4dc532c00fac4eb46d00d88b26cc2337bbf20de6",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/google-gemini-3-5-flash/",
    "description": "Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/google-gemini-3-5-flash/index.md",
    "title": "Google: Gemini 3.5 Flash — Ailoot",
    "url": "https://ailoot.ai/models/uz/google-gemini-3-5-flash/"
  },
  "practicalHtml": "<h3>Amaliy vazifa</h3><p>Ingliz tilidagi texnik misol</p><pre><code>Correct a multi-turn form regression\n\nA form change added a required phone field. Prior accepted behavior: email-only contact was allowed. Current source: if (!email || !phone) return &#x27;Missing contact&#x27;; submit({email,phone}). New requirement: at least one contact method. Propose a minimal correction, preserve submission fields and explain tests for email only, phone only, both and neither.</code></pre><h4>Kutiladigan natija</h4><pre><code>A focused condition change and four expected acceptance/rejection cases.</code></pre><h4>Natijani tekshirish</h4><pre><code>Check the correction accepts either contact method independently and rejects only when both are absent.</code></pre>",
  "practicalText": "Amaliy vazifa Ingliz tilidagi texnik misol Correct a multi-turn form regression A form change added a required phone field. Prior accepted behavior: email-only contact was allowed. Current source: if (!email || !phone) return 'Missing contact'; submit({email,phone}). New requirement: at least one contact method. Propose a minimal correction, preserve submission fields and explain tests for email only, phone only, both and neither. Kutiladigan natija A focused condition change and four expected acceptance/rejection cases. Natijani tekshirish Check the correction accepts either contact method independently and rejects only when both are absent.",
  "rawModel": {
    "about": "Gemini 3.5 Flash — Google’ning uzoq davom etadigan dasturlash va agent ishi uchun multimodal Flash modeli profili. Uning hujjatlashtirilgan kirishlari matn, tasvir, video, audio va PDF, chiqishi esa matndir. Modelning vazifa yo‘nalishi takroriy kodlash, muqobil yechimlarni o‘rganish va uzunroq ko‘rsatmalar hamda vosita ishlatish ketma-ketliklarini o‘z ichiga oladi. 3.5 nashri hujjatlashtirilgan fikrlash boshqaruvlari, multimodal kirishlar va vosita ish jarayonlarini taqdim etadi.\n\nKod vazifasi yozma talab, tegishli manba fayllari va mo‘ljallangan natija skrinshotini birlashtirishi mumkin. Kuzatilgan xatti-harakat, kutilgan xatti-harakat va buzilmasligi kerak bo‘lgan cheklovlarni bering. Namuna topshiriq: “Skrinshotni komponent matni bilan taqqoslang, forma jarayonidagi nomuvofiqlikni aniqlang va bitta aniq yo‘naltirilgan tuzatish taklif qiling. Qaysi manba tafsilotlari o‘zgarishni asoslashini tushuntiring.” Hujjat vazifasida tegishli sahifalarni bering va har bir topilma uchun manba havolalari bilan aniq talablar bo‘yicha taqqoslashni so‘rang.\n\nNashr minimal, low, medium va high fikrlash darajalarini hujjatlashtiradi. Odatiy qiymat medium bo‘lib, Gemini 3 Flash Preview’ning high odatiy qiymatidan o‘zgargan. Minimal fikrlash butunlay o‘chirilishini kafolatlamagan holda oddiy javoblar va sodda vosita qarorlariga mos; low kamroq bosqich talab qiladigan vazifalarga qaratilgan; high esa qiyin matematika, dasturlash va agent muammolari uchun chuqurroq fikrlash beradi. Google darajani boshqarish uchun thinking_level’dan foydalanishni va temperature, top-p yoki top-k’ni o‘zgartirib fikrlashni majburlashga urinish o‘rniga odatiy namuna olish sozlamalarini saqlashni tavsiya qiladi.\n\nBelgilovchi xatti-harakat — ko‘p navbatli vazifa davomida fikrlash kontekstini saqlash. Google’ning Interactions jarayoni shu kontekstni avtomatik olib o‘tadi; GenerateContent jarayoni esa thought signatures’ni o‘z ichiga olgan to‘liq, o‘zgartirilmagan suhbat tarixini talab qiladi. Bu oldingi fikrlash keyingi bosqichga axborot beradigan davomli nosozlikni tuzatish yoki refaktoring topshirig‘ini qo‘llab-quvvatlaydi. Har bir keyingi so‘rovni aloqasiz promptga aylantirish o‘rniga haqiqiy suhbat tuzilmasini saqlang va ish davomida yakunda so‘ralgan artefaktni aniq tuting.\n\nHujjatlashtirilgan vositalar to‘plamiga Google Search, Google Maps bilan manbalarga asoslash, File Search, Code Execution, URL Context va odatiy Function Calling kiradi; vositalardan birgalikda foydalanish hamda Computer Use dastlabki ko‘rib chiqish imkoniyati sifatida belgilangan. Structured Outputs belgilangan ma’lumot yozuvini taqdim etishi mumkin. Funksiyalarga aniq maqsad va parametr ta’rifini bering: model funksiyani tanlaydi, ulangan ilova esa operatsiyasini bajaradi va natijani qaytaradi. Google funksiya natijalari oldingi chaqiruvlarga identifikator, nom va son bo‘yicha mos kelishini talab qiladi; multimodal natijalar funksiya javobi ichida bo‘lishi kerak.\n\nAynan API model jadvali ko‘pi bilan 1,048,576 kirish tokeni va ko‘pi bilan 65,536 chiqish tokenini beradi. Suhbat tarixi va taqdim etilgan media kirish budjetiga hissa qo‘shadi. Ushbu profil uchun keshlash va paketli ishlov hujjatlashtirilgan, Google jadvalida qo‘shimcha Flex va Priority ishlov variantlari bor. Bu chegaralar va imkoniyatlar ishlab chiqaruvchi nashrini tavsiflaydi; ular javob butun chiqish oynasini to‘ldirishini yoki har bir vosita vazifaga zarur bo‘lishini talab qilmaydi.\n\nUshbu profil tasvir yoki audio emas, matn yaratadi va Live API’dan foydalanmaydi. Uning dasturchi qo‘llanmasi tasvir segmentatsiyasini ham istisno qiladi. Vizual savolda berilgan material tavsifi, undan ma’lumot ajratish yoki talqinini; nutq yozuvi uchun matnli natijani so‘rang. Javob yangi ma’lumotlarga bog‘liq bo‘lsa, hujjatlashtirilgan qidiruv manbalariga asoslash jarayoni o‘qitishdagi bilimdan tashqari manbalarni qo‘shishi mumkin. Tashqi ma’lumot kerakmi va yakuniy javob qaysi dalillarni saqlashi kerakligini ayting.\n\nFoydali uzunroq topshiriq uchun birinchi bosqichdan oldin yakuniy natija va yakunlash mezonini belgilang. Qo‘llab-quvvatlash tahlili vazifasi kuzatilgan muammolar, asoslovchi parchalar va javob taklifi jadvalini so‘rashi; kod vazifasi esa aniq yo‘naltirilgan o‘zgarish va tegishli tasdiqlash natijasini talab qilishi mumkin. Muhim manba kontekstini ilova qiling, ruxsat etilgan vosita amallarini belgilang va yakunlangan ishni hali ma’lumot talab qiladigan savollardan ajratadigan ochiq yakuniy javobni so‘rang. Bu modelning davomli ish jarayonini konkret matn, kod yoki tuzilgan artefaktga aylantiradi.",
    "alias_of": null,
    "aliases": [
      "gemini-3.5-flash"
    ],
    "author": "Google",
    "available": null,
    "canonical_model": "google/gemini-3.5-flash",
    "capabilities": {
      "context_length": 1048576,
      "manufacturer_input": [
        "text",
        "image",
        "video",
        "file",
        "audio"
      ],
      "manufacturer_output": [
        "text"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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."
      },
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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": "google/gemini-3.5-flash",
    "input": [
      "text"
    ],
    "kind": "text",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "cache_read": 0.3,
        "cache_write": 0.1666666666666666,
        "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": [
                  "gemini-3.5-flash"
                ],
                "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\":\"gemini-3.5-flash\",\"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=\"gemini-3.5-flash\", 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": 1,
        "flex_multiplier": 1,
        "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": 3,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [
          "/chat/completions"
        ],
        "out": 18,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Reasoning effort · high",
            "value": "Standard rate",
            "when": "When reasoning effort is high"
          },
          {
            "label": "Reasoning effort · low",
            "value": "Standard rate",
            "when": "When reasoning effort is low"
          },
          {
            "label": "Reasoning effort · medium",
            "value": "Standard rate",
            "when": "When reasoning effort is medium"
          },
          {
            "label": "Reasoning effort · minimal",
            "value": "Standard rate",
            "when": "When reasoning effort is minimal"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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.3,
        "cache_write": 0.1666666666666666,
        "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": "gemini-3.5-flash",
              "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": [
                  "gemini-3.5-flash"
                ],
                "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": [
                    "gemini-3.5-flash"
                  ],
                  "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": "gemini-3.5-flash",
              "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\": \"gemini-3.5-flash\",\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': 'gemini-3.5-flash', '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': 'gemini-3.5-flash', '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": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "in": 3,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 18,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Standard rate",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Standard rate",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Standard rate",
            "when": "When maximum reasoning effort uses the default adjustment"
          },
          {
            "label": "Reasoning effort · high",
            "value": "Standard rate",
            "when": "When reasoning effort is high"
          },
          {
            "label": "Reasoning effort · low",
            "value": "Standard rate",
            "when": "When reasoning effort is low"
          },
          {
            "label": "Reasoning effort · medium",
            "value": "Standard rate",
            "when": "When reasoning effort is medium"
          },
          {
            "label": "Reasoning effort · minimal",
            "value": "Standard rate",
            "when": "When reasoning effort is minimal"
          },
          {
            "label": "Explicit cache pricing",
            "value": "Not enabled",
            "when": "When explicit cache is requested"
          }
        ],
        "pricing": {
          "billing_mode": "token",
          "image_input_price": null,
          "image_output_price": null,
          "per_request_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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.3,
        "cache_write": 0.1666666666666666,
        "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.",
              "A model-dependent field needs the exact published model profile; unspecified defaults/enums are not guessed.",
              "Tool calls propose actions; the client application returns actual observations with the returned call ID.",
              "Guarded canonical keys must occur once; duplicate or case-varied model/tools/cap fields are rejected."
            ],
            "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",
              "function_tool_continuation",
              "streaming"
            ],
            "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": [
                  "google/gemini-3.5-flash"
                ],
                "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",
                "conditions": "Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi.",
                "default": null,
                "default_known": false,
                "enum": [
                  "system",
                  "user",
                  "assistant",
                  "tool",
                  "function"
                ],
                "enum_exhaustive": false,
                "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": false,
                "type": "string|content_part[]|null"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_calls",
                "required": false,
                "type": "tool_call[]"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].tool_call_id",
                "required": false,
                "type": "string",
                "when": "role=tool; haqiqatan qaytarilgan IDdan foydalaning"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].name",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_content",
                "required": false,
                "type": "string",
                "when": "Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "messages[].reasoning_details",
                "required": false,
                "type": "object|array"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "minimum": 1,
                "name": "max_completion_tokens",
                "required": false,
                "type": "integer"
              },
              {
                "availability": "source_interface",
                "default": false,
                "default_known": true,
                "enum": null,
                "enum_known": false,
                "name": "stream",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stream_options.include_usage",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "temperature",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "top_p",
                "required": false,
                "type": "number"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "stop",
                "required": false,
                "type": "string|string[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools",
                "required": false,
                "type": "function_tool[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": [
                  "function"
                ],
                "enum_known": true,
                "name": "tools[].type",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.name",
                "required": true,
                "type": "string",
                "when": "Funksiya vositasi taqdim etilgan"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.description",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tools[].function.parameters",
                "required": false,
                "type": "JSON_schema"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "tool_choice",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "parallel_tool_calls",
                "required": false,
                "type": "boolean"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "response_format",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning_effort",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "reasoning",
                "required": false,
                "type": "object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "service_tier",
                "required": false,
                "type": "string"
              },
              {
                "availability": "source_compatibility",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "instructions",
                "required": false,
                "type": "string"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "functions",
                "required": false,
                "type": "function[]"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "function_call",
                "required": false,
                "type": "string|object"
              },
              {
                "availability": "model_dependent",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "prompt_cache_options",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "default": null,
                "default_known": false,
                "enum": [
                  "text"
                ],
                "enum_known": true,
                "name": "modalities",
                "required": false,
                "type": "string[]"
              },
              {
                "availability": "source_interface",
                "conditions": "Ushbu Ultra matn marshrutida provider.options rad etiladi",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "provider",
                "required": false,
                "type": "object"
              },
              {
                "availability": "source_interface",
                "conditions": "Haqiqiy prompt-kesh joylarida 1h rad etiladi",
                "default": null,
                "default_known": false,
                "enum": null,
                "enum_known": false,
                "name": "cache_control.ttl",
                "required": false,
                "type": "string"
              }
            ],
            "profile_binding": "Exact existing Ailoot model and method; interface constraints below do not assert provider qualification.",
            "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": "Modelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi",
            "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",
              "temperature",
              "top_p",
              "stop",
              "max_tokens",
              "max_completion_tokens",
              "reasoning",
              "response_format",
              "tools",
              "tool_choice"
            ],
            "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": [],
          "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "So‘rov uzunligi bo‘yicha 1-daraja",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\": \"google/gemini-3.5-flash\", \"messages\": [{\"role\": \"user\", \"content\": \"Explain the difference between an observation and a hypothesis in three sentences.\"}]}')\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='google/gemini-3.5-flash',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}])\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"
          },
          {
            "code": "from openai import OpenAI\nimport os\nfrom pathlib import Path\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)\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\nwith client.chat.completions.stream(model='google/gemini-3.5-flash',messages=[{\"role\":\"user\",\"content\":\"Explain observations and hypotheses in three sentences.\"}]) as stream:\n    with Path(\"stream-events.jsonl\").open(\"w\",encoding=\"utf-8\") as log:\n        for event in stream:\n            payload=event.to_dict(mode=\"json\")\n            log.write(json.dumps(payload,ensure_ascii=False)+\"\\n\"); log.flush()\n            print(json.dumps(payload,ensure_ascii=False))\n    final=stream.get_final_completion()\n    save_result(final.to_dict(mode=\"json\"),\"stream-result\")\n",
            "label": "Python SDK streaming · all events",
            "language": "python"
          }
        ],
        "family": "openai",
        "fast_multiplier": 1,
        "flex_multiplier": 1,
        "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": 3,
        "input": [
          "text"
        ],
        "label": "OpenAI Chat",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 18,
        "output": [
          "text"
        ],
        "path": "/v1/chat/completions",
        "price_conditions": [
          {
            "label": "Tezkor rejim",
            "value": "Standart tarif",
            "when": "Tezkor rejim tanlanganda"
          },
          {
            "label": "Flex rejimi",
            "value": "Standart tarif",
            "when": "flex rejimi tanlanganda"
          },
          {
            "label": "Maksimal fikrlash darajasi",
            "value": "Standart tarif",
            "when": "Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda"
          },
          {
            "label": "Fikrlash darajasi · yuqori",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi yuqori bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · past",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi past bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · o‘rtacha",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi o‘rtacha bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · minimal",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi minimal bo‘lganda"
          },
          {
            "label": "Ochiq ko‘rsatilgan keshlash narxlari",
            "value": "Yoqilmagan",
            "when": "Ochiq ko‘rsatilgan keshlash so‘ralganda"
          }
        ],
        "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "interval_boundary": "min_exclusive_max_inclusive",
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "null_rate_policy": "unknown or inherited; never zero",
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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.3,
        "cache_write": 0.1666666666666666,
        "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": "google/gemini-3.5-flash",
              "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": [
                  "google/gemini-3.5-flash"
                ],
                "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": [
                    "google/gemini-3.5-flash"
                  ],
                  "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": "google/gemini-3.5-flash",
              "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "So‘rov uzunligi bo‘yicha 1-daraja",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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\": \"google/gemini-3.5-flash\",\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': 'google/gemini-3.5-flash', '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': 'google/gemini-3.5-flash', '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": 1,
        "flex_multiplier": 1,
        "fmt": "messages",
        "http": "POST",
        "in": 3,
        "input": [
          "text"
        ],
        "label": "Anthropic Messages",
        "max_out": null,
        "max_reasoning_effort_multiplier": 1,
        "method_aliases": [],
        "out": 18,
        "output": [
          "json",
          "sse"
        ],
        "path": "/v1/messages",
        "price_conditions": [
          {
            "label": "Tezkor rejim",
            "value": "Standart tarif",
            "when": "Tezkor rejim tanlanganda"
          },
          {
            "label": "Flex rejimi",
            "value": "Standart tarif",
            "when": "flex rejimi tanlanganda"
          },
          {
            "label": "Maksimal fikrlash darajasi",
            "value": "Standart tarif",
            "when": "Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda"
          },
          {
            "label": "Fikrlash darajasi · yuqori",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi yuqori bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · past",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi past bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · o‘rtacha",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi o‘rtacha bo‘lganda"
          },
          {
            "label": "Fikrlash darajasi · minimal",
            "value": "Standart tarif",
            "when": "Fikrlash darajasi minimal bo‘lganda"
          },
          {
            "label": "Ochiq ko‘rsatilgan keshlash narxlari",
            "value": "Yoqilmagan",
            "when": "Ochiq ko‘rsatilgan keshlash so‘ralganda"
          }
        ],
        "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.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": false,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "dimensions": {
              "max_context_tokens_inclusive": null,
              "min_context_tokens_exclusive": 0
            },
            "label": "Request-length tier 1",
            "units": [
              {
                "amount": "0.003000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": "0.000003",
                "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.018000",
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": true,
                "estimate_only": false,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": "0.000018",
                "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.0003000",
                "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.0000003",
                "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.0001666666666666666000",
                "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.0000001666666666666666",
                "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"
              }
            ]
          }
        ],
        "reasoning_effort_multipliers": {
          "high": 1,
          "low": 1,
          "medium": 1,
          "minimal": 1
        },
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra",
        "status_reads": [],
        "tiers": [
          {
            "cache_read": 0.3,
            "cache_read_multiplier": null,
            "cache_write": 0.1666666666666666,
            "cache_write_1h": null,
            "cache_write_multiplier": null,
            "created_at": "0001-01-01T00:00:00Z",
            "in": 3,
            "input_multiplier": null,
            "max": null,
            "max_tokens": null,
            "min": 0,
            "min_tokens": 0,
            "out": 18,
            "output_multiplier": null,
            "per_request_price": null,
            "sort_order": 0,
            "tier_label": "",
            "updated_at": "0001-01-01T00:00:00Z"
          }
        ],
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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": "google/gemini-3.5-flash",
        "request_model_id": "gemini-3.5-flash",
        "route_label": "Ultra"
      },
      {
        "canonical_model_id": "google/gemini-3.5-flash",
        "request_model_id": "google/gemini-3.5-flash",
        "route_label": "Ultra"
      }
    ],
    "name": "Google: Gemini 3.5 Flash",
    "price": {
      "in": 3,
      "in_label": null,
      "out": 18,
      "out_label": null,
      "scope_label": "Token rates",
      "sort_in": 3,
      "sort_out": 18,
      "varies": true
    },
    "pricing_profiles": [
      {
        "dimensions": {
          "regime": "base"
        },
        "label": "OpenAI Chat · Base token rates",
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "OpenAI Chat · Request-length tier 1",
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": false,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          }
        ]
      },
      {
        "dimensions": {
          "max_context_tokens_inclusive": null,
          "min_context_tokens_exclusive": 0
        },
        "label": "Anthropic Messages · Request-length tier 1",
        "units": [
          {
            "amount": "0.003000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": "0.000003",
            "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.018000",
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": true,
            "estimate_only": false,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": "0.000018",
            "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.0003000",
            "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.0000003",
            "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.0001666666666666666000",
            "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.0000001666666666666666",
            "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": "google/gemini-3.5-flash",
    "short": "Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor."
  },
  "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
        },
        {
          "contract_json_pointer": "/methods/2/rawMethod/contract",
          "html_json_pointer": "/methods/2/html",
          "method_ordinal": 2
        },
        {
          "contract_json_pointer": "/methods/3/rawMethod/contract",
          "html_json_pointer": "/methods/3/html",
          "method_ordinal": 3
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod",
        "/methods/1/rawMethod",
        "/methods/2/rawMethod",
        "/methods/3/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Gemini 3.5 Flash multimodal tushunishni dasturlash va ko‘p bosqichli agent vazifalari uchun fikrlash bilan birlashtiradi. U matn, tasvir, video, audio va PDF’ni qabul qiladi va matn yaratadi; hujjatlashtirilgan profilida structured outputs, vositalar va 1,048,576 tokenli kirish chegarasi bor.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "0159c82668361bcb9cce3b890f695262e31f719708fffa24c3ce4103574f7aa5",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "a1e4e055b53911904fc75377b968312582241c5d639b73a2721b9fef339ba1b3"
}
