{
  "aboutHtml": "<p>Microsoft AI MAI-Image-2.5 Pro — 2.5 tasvir qatorining asl ko‘rinishga sodiqlikka yo‘naltirilgan nashri. U tabiiy tildagi topshiriqlardan tasvirlar yaratadi va mavjud materiallarni yo‘naltirilgan tarzda tahrirlaydi. Microsoft asosiy vizuallar, batafsil tahrirlash va tasvir ichidagi aniq matnni markaziy qo‘llanishlar deb ko‘rsatadi; model taqqoslashida esa murakkab kompozitsiyalarda obyekt, qahramon, material va fazoviy munosabatlar izchilligi ta’kidlanadi. Yakuniy artefakt — dizayn yoki ishlab chiqarish jarayoni uchun tasvir, masalan asosiy mahsulot rasmi yoki puxta joylashtirilgan tahririy sahna.</p><p>Yaratishda kompozitsiyani aloqasiz obyektlar ro‘yxati bilan emas, munosabatlar orqali tasvirlang. Asosiy obyekt, yaqin buyumlarga nisbatan o‘lchami, materiallar va yorug‘lik yo‘nalishini belgilang. Pro nashrining hujjatlashtirilgan vizual anglash imkoniyati zich sahnaning ishonarliligini shu munosabatlar belgilaganda foydali. Mahsulot kompozitsiyasi uchun yog‘och stolga sopol ko‘za, shaffof stakanlar va taxlangan matoni, o‘zaro mos akslar hamda bitta deraza yorug‘ligi bilan joylashtiring. Natijadagi tasvirda tegish nuqtalari, soyalar va ko‘rinadigan material xususiyatlarini tekshiring.</p><p>Mahsulot va qahramon ishida tahrirdan so‘ng saqlanishi kerak bo‘lgan vizual qiyofani bering. Microsoft murakkab sahnalarda obyekt izchilligi va turli rakurs hamda lahzalarda qahramon izchilligini Pro kuchli jihatlari sifatida tasvirlaydi. Buyum yoki shaxsni qaysi xususiyatlar tanitishini va sahnaning qaysi jihati o‘zgarishini ayting. Masalan, qahramonni boshqa fonga qo‘yishda kurtka silueti va taqilma detallarini saqlang. Foydali tekshiruv shu saqlangan detallarni manba namunasi bilan solishtiradi; chiroyli natijaning o‘zi aniq moslik dalili emas.</p><p>Ishlab chiqaruvchining tasvir tahrirlash interfeysi beshtagacha JPEG yoki PNG namunani qabul qiladi. Topshiriqda ularning vazifalarini ajrating: mahsulot, shaxs, muhit yoki vizual ishlov. Tahrir vazifalari obyekt olib tashlash va almashtirish, xususiyat o‘zgarishlari, inpainting, maket moslashtirish, matn yangilash va artefakt tozalashni qamrab oladi. Mahalliy tahrirda nishonni va saqlanadigan atrof elementlarini tasvirlang. Kattaroq qayta joylashtirishda modelga yaxlit fazoviy maqsad berish uchun o‘zgarishdan keyin kompozitsiya qanday ishlashini tushuntiring.</p><p>Matnni tasvirlash asosiy kompozitsiya yoki qadoqlash g‘oyasida ayniqsa muhim. Aniq ibora, uning joyi va obyekt yoki tasvirga munosabatini bering. Takroriy nomlar va yorliq matnini topshiriq hamda namunalar orasida bir xil saqlang. Har bir chizilgan belgini kerakli ko‘rsatish o‘lchamida tekshiring va berilgan so‘zlarga solishtiring. Keyingi tahrir muvaffaqiyatli mahsulot kompozitsiyasini saqlab, so‘zlar yoki joylashuvga qaratilishi mumkin. Keyin PNG natija yakuniy tipografiya va kesim talablari ma’lum maketga qo‘shilishi mumkin.</p><p>Microsoft’ning hozirgi tasvir qo‘llanmasi 2.5 modellari uchun maksimal chiqish maydonini 1,048,576 piksel, ya’ni 1024×1024 ga teng deb belgilaydi. Shu interfeysda ikkala o‘lcham kamida 768 piksel bo‘lishi kerak; umumiy maydon chegarada qolsa uzunroq tomonga ruxsat beriladi. Bu jami 1,032,192 piksel bo‘lgan 1344×768 kabi to‘rtburchak kompozitsiyalarni qo‘llaydi. Maydon cheklovi har bir tomon uchun 1024 maksimumdan farq qiladi. Umumiy tomonlar nisbati belgisi kesimni to‘g‘ri tanlaydi deb kutmasdan, kompozitsiya uchun kerakli formatni tayyorlang.</p><p>Xizmat ko‘rsatish qo‘llanmasi maksimal topshiriq kontekstini 32,000 token deb belgilaydi va yaratish hamda tahrirlash uchun PNG tasvir ma’lumotlarini qaytaradi. Aynan Pro katalog sahifasi alohida ravishda 131.072K kontekst oynasi va 4,096 chiqish tokenini ko‘rsatadi. Bular katalog yoki xizmat ko‘rsatish doirasiga ega e’lon qilingan token miqdorlaridir; amaliy tasvir so‘rovi tayyorgarligi xizmatning topshiriq va piksel chegaralariga amal qiladi. Tasvir, manba namunalari va topshiriqni bitta tuzatish qaydi sifatida saqlang. Pro ni tanlashga sabab bo‘lgan qiyofa, material va geometriya cheklovlari bo‘yicha vizual natijaning o‘zini tekshiring.</p><p>Versiya tanlovi kompozitsiyaga ergashishi kerak. Standart MAI-Image-2.5 umumiy yaratish va mahalliy tahrirlarni qamrab oladi; Pro seriyaning vizual jihatdan zich sahnalarda sodiqlik va izchil munosabatlarga urg‘usini qo‘shadi. 2.6 oilasi hujjatlashtirilgan chiqish maydoni chegarasini oshiradi hamda ixtiyoriy vebga tayanish va avtomatik nisbat tanlashni qo‘shadi. Bu keyingi boshqaruvlar 2.6 ga xos va ushbu Pro nashrining jarayonini belgilamaydi. Topshiriqning murakkab qismi batafsil tasvirda barqaror obyekt qiyofasi, material ko‘rinishi yoki fazoviy tuzilishga tegishli bo‘lsa Pro ni tanlang.</p><p>So‘ralgan o‘zgarishni ham, saqlangan mazmunni ham tekshiring. Buyum ushlagan qo‘llar, kesishishlar, mayda yozuv, yuz o‘xshashligi va akslar murakkab kompozitsiyada tekshirishga foydali joylardir. Ishonarli tasvirda ham chalg‘ituvchi belgi yoki noto‘g‘ri fizik munosabat bo‘lishi mumkin. Keyingi tuzatishni aniq qiling va kerakli maketni bergan topshiriq qismlarini saqlang. Bu har safar butun sahnani qayta belgilash o‘rniga boshqarilgan dizayn tuzatishlari ketma-ketligini qo‘llaydi.</p>",
  "aboutText": "Microsoft AI MAI-Image-2.5 Pro — 2.5 tasvir qatorining asl ko‘rinishga sodiqlikka yo‘naltirilgan nashri. U tabiiy tildagi topshiriqlardan tasvirlar yaratadi va mavjud materiallarni yo‘naltirilgan tarzda tahrirlaydi. Microsoft asosiy vizuallar, batafsil tahrirlash va tasvir ichidagi aniq matnni markaziy qo‘llanishlar deb ko‘rsatadi; model taqqoslashida esa murakkab kompozitsiyalarda obyekt, qahramon, material va fazoviy munosabatlar izchilligi ta’kidlanadi. Yakuniy artefakt — dizayn yoki ishlab chiqarish jarayoni uchun tasvir, masalan asosiy mahsulot rasmi yoki puxta joylashtirilgan tahririy sahna.\n\nYaratishda kompozitsiyani aloqasiz obyektlar ro‘yxati bilan emas, munosabatlar orqali tasvirlang. Asosiy obyekt, yaqin buyumlarga nisbatan o‘lchami, materiallar va yorug‘lik yo‘nalishini belgilang. Pro nashrining hujjatlashtirilgan vizual anglash imkoniyati zich sahnaning ishonarliligini shu munosabatlar belgilaganda foydali. Mahsulot kompozitsiyasi uchun yog‘och stolga sopol ko‘za, shaffof stakanlar va taxlangan matoni, o‘zaro mos akslar hamda bitta deraza yorug‘ligi bilan joylashtiring. Natijadagi tasvirda tegish nuqtalari, soyalar va ko‘rinadigan material xususiyatlarini tekshiring.\n\nMahsulot va qahramon ishida tahrirdan so‘ng saqlanishi kerak bo‘lgan vizual qiyofani bering. Microsoft murakkab sahnalarda obyekt izchilligi va turli rakurs hamda lahzalarda qahramon izchilligini Pro kuchli jihatlari sifatida tasvirlaydi. Buyum yoki shaxsni qaysi xususiyatlar tanitishini va sahnaning qaysi jihati o‘zgarishini ayting. Masalan, qahramonni boshqa fonga qo‘yishda kurtka silueti va taqilma detallarini saqlang. Foydali tekshiruv shu saqlangan detallarni manba namunasi bilan solishtiradi; chiroyli natijaning o‘zi aniq moslik dalili emas.\n\nIshlab chiqaruvchining tasvir tahrirlash interfeysi beshtagacha JPEG yoki PNG namunani qabul qiladi. Topshiriqda ularning vazifalarini ajrating: mahsulot, shaxs, muhit yoki vizual ishlov. Tahrir vazifalari obyekt olib tashlash va almashtirish, xususiyat o‘zgarishlari, inpainting, maket moslashtirish, matn yangilash va artefakt tozalashni qamrab oladi. Mahalliy tahrirda nishonni va saqlanadigan atrof elementlarini tasvirlang. Kattaroq qayta joylashtirishda modelga yaxlit fazoviy maqsad berish uchun o‘zgarishdan keyin kompozitsiya qanday ishlashini tushuntiring.\n\nMatnni tasvirlash asosiy kompozitsiya yoki qadoqlash g‘oyasida ayniqsa muhim. Aniq ibora, uning joyi va obyekt yoki tasvirga munosabatini bering. Takroriy nomlar va yorliq matnini topshiriq hamda namunalar orasida bir xil saqlang. Har bir chizilgan belgini kerakli ko‘rsatish o‘lchamida tekshiring va berilgan so‘zlarga solishtiring. Keyingi tahrir muvaffaqiyatli mahsulot kompozitsiyasini saqlab, so‘zlar yoki joylashuvga qaratilishi mumkin. Keyin PNG natija yakuniy tipografiya va kesim talablari ma’lum maketga qo‘shilishi mumkin.\n\nMicrosoft’ning hozirgi tasvir qo‘llanmasi 2.5 modellari uchun maksimal chiqish maydonini 1,048,576 piksel, ya’ni 1024×1024 ga teng deb belgilaydi. Shu interfeysda ikkala o‘lcham kamida 768 piksel bo‘lishi kerak; umumiy maydon chegarada qolsa uzunroq tomonga ruxsat beriladi. Bu jami 1,032,192 piksel bo‘lgan 1344×768 kabi to‘rtburchak kompozitsiyalarni qo‘llaydi. Maydon cheklovi har bir tomon uchun 1024 maksimumdan farq qiladi. Umumiy tomonlar nisbati belgisi kesimni to‘g‘ri tanlaydi deb kutmasdan, kompozitsiya uchun kerakli formatni tayyorlang.\n\nXizmat ko‘rsatish qo‘llanmasi maksimal topshiriq kontekstini 32,000 token deb belgilaydi va yaratish hamda tahrirlash uchun PNG tasvir ma’lumotlarini qaytaradi. Aynan Pro katalog sahifasi alohida ravishda 131.072K kontekst oynasi va 4,096 chiqish tokenini ko‘rsatadi. Bular katalog yoki xizmat ko‘rsatish doirasiga ega e’lon qilingan token miqdorlaridir; amaliy tasvir so‘rovi tayyorgarligi xizmatning topshiriq va piksel chegaralariga amal qiladi. Tasvir, manba namunalari va topshiriqni bitta tuzatish qaydi sifatida saqlang. Pro ni tanlashga sabab bo‘lgan qiyofa, material va geometriya cheklovlari bo‘yicha vizual natijaning o‘zini tekshiring.\n\nVersiya tanlovi kompozitsiyaga ergashishi kerak. Standart MAI-Image-2.5 umumiy yaratish va mahalliy tahrirlarni qamrab oladi; Pro seriyaning vizual jihatdan zich sahnalarda sodiqlik va izchil munosabatlarga urg‘usini qo‘shadi. 2.6 oilasi hujjatlashtirilgan chiqish maydoni chegarasini oshiradi hamda ixtiyoriy vebga tayanish va avtomatik nisbat tanlashni qo‘shadi. Bu keyingi boshqaruvlar 2.6 ga xos va ushbu Pro nashrining jarayonini belgilamaydi. Topshiriqning murakkab qismi batafsil tasvirda barqaror obyekt qiyofasi, material ko‘rinishi yoki fazoviy tuzilishga tegishli bo‘lsa Pro ni tanlang.\n\nSo‘ralgan o‘zgarishni ham, saqlangan mazmunni ham tekshiring. Buyum ushlagan qo‘llar, kesishishlar, mayda yozuv, yuz o‘xshashligi va akslar murakkab kompozitsiyada tekshirishga foydali joylardir. Ishonarli tasvirda ham chalg‘ituvchi belgi yoki noto‘g‘ri fizik munosabat bo‘lishi mumkin. Keyingi tuzatishni aniq qiling va kerakli maketni bergan topshiriq qismlarini saqlang. Bu har safar butun sahnani qayta belgilash o‘rniga boshqarilgan dizayn tuzatishlari ketma-ketligini qo‘llaydi.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "702edc30e3b1788f3694dd7481fd693b8cf02d13c28dd256e3a5ec2da9cf51a0",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "uz",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Microsoft AI: MAI-Image-2.5 Pro</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Yopish\">×</button></div><div class=\"idline\"><span>Microsoft AI /</span><code>microsoft/mai-image-2.5-pro</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|images|/v1/images/generations|microsoft%2Fmai-image-2.5-pro\">Rasmlar</button></div><div id=\"card-method-content\" role=\"tabpanel\" aria-labelledby=\"card-method-tab-0\"><section class=\"card-section\" data-card-section=\"overview\"><h3 tabindex=\"-1\">Boshlash</h3><p class=\"mdesc-full\">Microsoft AI MAI-Image-2.5 Pro asosiy vizuallar, mahsulot kompozitsiyalari va tasvir ichidagi aniq matn uchun batafsil tasvirlar yaratadi hamda tahrirlaydi. Pro nashri zich sahnalarda obyektlar, qahramonlar, materiallar va fazoviy munosabatlar izchilligiga urg‘u beradi; matn va vizual namunalar orqali PNG tasvir hosil qiladi.</p><dl class=\"card-io\" data-card-io><div><dt>Qabul qilinadigan kirish ma’lumotlari</dt><dd>Matn · Rasmlar</dd></div><div><dt>Natijalar</dt><dd>Rasmlar</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>Microsoft AI MAI-Image-2.5 Pro — 2.5 tasvir qatorining asl ko‘rinishga sodiqlikka yo‘naltirilgan nashri. U tabiiy tildagi topshiriqlardan tasvirlar yaratadi va mavjud materiallarni yo‘naltirilgan tarzda tahrirlaydi. Microsoft asosiy vizuallar, batafsil tahrirlash va tasvir ichidagi aniq matnni markaziy qo‘llanishlar deb ko‘rsatadi; model taqqoslashida esa murakkab kompozitsiyalarda obyekt, qahramon, material va fazoviy munosabatlar izchilligi ta’kidlanadi. Yakuniy artefakt — dizayn yoki ishlab chiqarish jarayoni uchun tasvir, masalan asosiy mahsulot rasmi yoki puxta joylashtirilgan tahririy sahna.</p><p>Yaratishda kompozitsiyani aloqasiz obyektlar ro‘yxati bilan emas, munosabatlar orqali tasvirlang. Asosiy obyekt, yaqin buyumlarga nisbatan o‘lchami, materiallar va yorug‘lik yo‘nalishini belgilang. Pro nashrining hujjatlashtirilgan vizual anglash imkoniyati zich sahnaning ishonarliligini shu munosabatlar belgilaganda foydali. Mahsulot kompozitsiyasi uchun yog‘och stolga sopol ko‘za, shaffof stakanlar va taxlangan matoni, o‘zaro mos akslar hamda bitta deraza yorug‘ligi bilan joylashtiring. Natijadagi tasvirda tegish nuqtalari, soyalar va ko‘rinadigan material xususiyatlarini tekshiring.</p><p>Mahsulot va qahramon ishida tahrirdan so‘ng saqlanishi kerak bo‘lgan vizual qiyofani bering. Microsoft murakkab sahnalarda obyekt izchilligi va turli rakurs hamda lahzalarda qahramon izchilligini Pro kuchli jihatlari sifatida tasvirlaydi. Buyum yoki shaxsni qaysi xususiyatlar tanitishini va sahnaning qaysi jihati o‘zgarishini ayting. Masalan, qahramonni boshqa fonga qo‘yishda kurtka silueti va taqilma detallarini saqlang. Foydali tekshiruv shu saqlangan detallarni manba namunasi bilan solishtiradi; chiroyli natijaning o‘zi aniq moslik dalili emas.</p><p>Ishlab chiqaruvchining tasvir tahrirlash interfeysi beshtagacha JPEG yoki PNG namunani qabul qiladi. Topshiriqda ularning vazifalarini ajrating: mahsulot, shaxs, muhit yoki vizual ishlov. Tahrir vazifalari obyekt olib tashlash va almashtirish, xususiyat o‘zgarishlari, inpainting, maket moslashtirish, matn yangilash va artefakt tozalashni qamrab oladi. Mahalliy tahrirda nishonni va saqlanadigan atrof elementlarini tasvirlang. Kattaroq qayta joylashtirishda modelga yaxlit fazoviy maqsad berish uchun o‘zgarishdan keyin kompozitsiya qanday ishlashini tushuntiring.</p><p>Matnni tasvirlash asosiy kompozitsiya yoki qadoqlash g‘oyasida ayniqsa muhim. Aniq ibora, uning joyi va obyekt yoki tasvirga munosabatini bering. Takroriy nomlar va yorliq matnini topshiriq hamda namunalar orasida bir xil saqlang. Har bir chizilgan belgini kerakli ko‘rsatish o‘lchamida tekshiring va berilgan so‘zlarga solishtiring. Keyingi tahrir muvaffaqiyatli mahsulot kompozitsiyasini saqlab, so‘zlar yoki joylashuvga qaratilishi mumkin. Keyin PNG natija yakuniy tipografiya va kesim talablari ma’lum maketga qo‘shilishi mumkin.</p><p>Microsoft’ning hozirgi tasvir qo‘llanmasi 2.5 modellari uchun maksimal chiqish maydonini 1,048,576 piksel, ya’ni 1024×1024 ga teng deb belgilaydi. Shu interfeysda ikkala o‘lcham kamida 768 piksel bo‘lishi kerak; umumiy maydon chegarada qolsa uzunroq tomonga ruxsat beriladi. Bu jami 1,032,192 piksel bo‘lgan 1344×768 kabi to‘rtburchak kompozitsiyalarni qo‘llaydi. Maydon cheklovi har bir tomon uchun 1024 maksimumdan farq qiladi. Umumiy tomonlar nisbati belgisi kesimni to‘g‘ri tanlaydi deb kutmasdan, kompozitsiya uchun kerakli formatni tayyorlang.</p><p>Xizmat ko‘rsatish qo‘llanmasi maksimal topshiriq kontekstini 32,000 token deb belgilaydi va yaratish hamda tahrirlash uchun PNG tasvir ma’lumotlarini qaytaradi. Aynan Pro katalog sahifasi alohida ravishda 131.072K kontekst oynasi va 4,096 chiqish tokenini ko‘rsatadi. Bular katalog yoki xizmat ko‘rsatish doirasiga ega e’lon qilingan token miqdorlaridir; amaliy tasvir so‘rovi tayyorgarligi xizmatning topshiriq va piksel chegaralariga amal qiladi. Tasvir, manba namunalari va topshiriqni bitta tuzatish qaydi sifatida saqlang. Pro ni tanlashga sabab bo‘lgan qiyofa, material va geometriya cheklovlari bo‘yicha vizual natijaning o‘zini tekshiring.</p><p>Versiya tanlovi kompozitsiyaga ergashishi kerak. Standart MAI-Image-2.5 umumiy yaratish va mahalliy tahrirlarni qamrab oladi; Pro seriyaning vizual jihatdan zich sahnalarda sodiqlik va izchil munosabatlarga urg‘usini qo‘shadi. 2.6 oilasi hujjatlashtirilgan chiqish maydoni chegarasini oshiradi hamda ixtiyoriy vebga tayanish va avtomatik nisbat tanlashni qo‘shadi. Bu keyingi boshqaruvlar 2.6 ga xos va ushbu Pro nashrining jarayonini belgilamaydi. Topshiriqning murakkab qismi batafsil tasvirda barqaror obyekt qiyofasi, material ko‘rinishi yoki fazoviy tuzilishga tegishli bo‘lsa Pro ni tanlang.</p><p>So‘ralgan o‘zgarishni ham, saqlangan mazmunni ham tekshiring. Buyum ushlagan qo‘llar, kesishishlar, mayda yozuv, yuz o‘xshashligi va akslar murakkab kompozitsiyada tekshirishga foydali joylardir. Ishonarli tasvirda ham chalg‘ituvchi belgi yoki noto‘g‘ri fizik munosabat bo‘lishi mumkin. Keyingi tuzatishni aniq qiling va kerakli maketni bergan topshiriq qismlarini saqlang. Bu har safar butun sahnani qayta belgilash o‘rniga boshqarilgan dizayn tuzatishlari ketma-ketligini qo‘llaydi.</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 · Rasmlar</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Kirish</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Chiqish</dt><dd><code>image</code></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><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>microsoft/mai-image-2.5-pro</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Majburiy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Eng kam uzunlik: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>string</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>1:1, 4:3, 3:4, 16:9, 9:16, 3:2, 2:3, auto</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">n</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>Eng ko‘p: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span><code>array</code></td><td data-cell-label=\"Talab\"><span class=\"card-cell-label\">Talab</span>Ixtiyoriy</td><td data-cell-label=\"Qiymatlar va cheklovlar\"><span class=\"card-cell-label\">Qiymatlar va cheklovlar</span><div>Elementlarning eng kam soni: 0</div><div>Elementlarning eng ko‘p soni: 1</div></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr><tr><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></td><td data-cell-label=\"Standart\" data-default=\"unspecified\"><span class=\"card-cell-label\">Standart</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Usul parametrlari va hayot sikli</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Parametr</th><th>Parametr talablari</th></tr></thead><tbody><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>content_type</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>application/json</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>required</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>model, prompt</td></tr><tr><th data-cell-label=\"Parametr\" scope=\"row\"><span class=\"card-cell-label\">Parametr</span><code>material_types</code></th><td data-cell-label=\"Parametr talablari\"><span class=\"card-cell-label\">Parametr talablari</span>text, image</td></tr></tbody></table></div><p>Hayot sikli: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv</p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}/content</code></p><p class=\"note-s\"><code>GET /v1/media/assets</code></p><p class=\"note-s\"><code>GET /v1/media/assets/{asset_id}</code></p></details></details></section><section class=\"card-section\" data-card-section=\"pricing\"><h3 tabindex=\"-1\">Tariflar</h3><div class=\"card-result-process\" data-billing-basis><h5>Yakuniy to‘lov qanday hisoblanadi</h5><p class=\"note-s\">Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.</p><dl data-price-conditions><dt>Tezkor rejim</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">Tezkor rejim tanlanganda</span></dd><dt>Flex rejimi</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">flex rejimi tanlanganda</span></dd><dt>Maksimal fikrlash darajasi</dt><dd>Ko‘rsatilmagan <span class=\"note-s\">Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda</span></dd></dl></div><div data-declared-tariff-pricing><h4>Taqqoslash uchun taxminiy tariflar</h4><h4>Sozlamalar bo‘yicha narxlar</h4><p class=\"note-s\">Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Sozlama</th><th>Tariflar jadvali</th><th>Prognoz miqdori</th><th>To‘lov</th></tr></thead><tbody><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Tokenlar uchun bazaviy tariflar</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>Asosiy tarif</td><td data-cell-label=\"Prognoz miqdori\"><span class=\"card-cell-label\">Prognoz miqdori</span>—</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Kirish · Kirish tokenlari · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Chiqish · Chiqish tokenlari · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshdan o‘qish · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div><div><span>Kirish · Keshga yozish, 1 soat · Faqat taqqoslash uchun taxmin</span> <b>—</b> <span class=\"price-unit\">/ 1K token</span></div></td></tr><tr><th data-cell-label=\"Sozlama\" scope=\"row\"><span class=\"card-cell-label\">Sozlama</span>Yaratishning taxminiy qiymati</th><td data-cell-label=\"Tariflar jadvali\"><span class=\"card-cell-label\">Tariflar jadvali</span>—</td><td data-cell-label=\"Prognoz miqdori\"><span class=\"card-cell-label\">Prognoz miqdori</span>bir generatsiya uchun taxmin</td><td data-cell-label=\"To‘lov\"><span class=\"card-cell-label\">To‘lov</span><div><span>Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin</span> <b>$0.884736</b> <span class=\"price-unit\">yaratishdan oldingi taxmin</span></div><p class=\"note-s\">Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. <a href=\"/docs/uz/billing/reserve/\">Summani band qilish va to‘lovni hisoblash tartibi →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">So‘rov namunalari</h3><h4>Ailoot Ultra · Rasmlar</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-1839-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1839-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</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-1839-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1839-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\nexport AILOOT_API_KEY\npython3 - &lt;&lt;&#39;PY_REQUEST&#39;\nimport json,os\nfrom pathlib import Path\np={&#39;model&#39;: &#39;microsoft/mai-image-2.5-pro&#39;, &#39;prompt&#39;: &#39;a red panda astronaut floating in space, studio lighting&#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/images/generations \\\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 base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(&quot;No completed images; retain the full response&quot;)\n    for index, item in enumerate(items):\n        encoded=item.get(&quot;b64_json&quot;)\n        uri=item.get(&quot;url&quot;, &quot;&quot;)\n        if not encoded and uri.startswith(&quot;data:image/&quot;):\n            header, separator, encoded=uri.partition(&quot;,&quot;)\n            if not separator or &quot;;base64&quot; not in header: raise SystemExit(&quot;Unsupported image data URI&quot;)\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(&quot;https://api.ailoot.ai&quot;,uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=&quot;https&quot; or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(&quot;Invalid returned image URL&quot;)\n            owned=parsed.netloc==&quot;api.ailoot.ai&quot; and parsed.path.startswith(&quot;/v1/media/assets/&quot;) and parsed.path.endswith(&quot;/content&quot;)\n            args=[&quot;curl&quot;,&quot;--fail-with-body&quot;,&quot;--silent&quot;,&quot;--show-error&quot;,uri]\n            if owned: args += [&quot;-H&quot;,&quot;Authorization: Bearer &quot;+os.environ[&quot;AILOOT_API_KEY&quot;]]\n            temporary=Path(f&quot;image-{index}.bin&quot;)\n            subprocess.run(args+[&quot;-o&quot;,str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(&quot;Image has neither bytes nor URL&quot;)\n        if not raw: raise SystemExit(&quot;Empty image result&quot;)\n        ext=&quot;png&quot; if raw.startswith(b&quot;\\x89PNG&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 &quot;svg&quot; if raw.lstrip().startswith((b&quot;&lt;svg&quot;,b&quot;&lt;?xml&quot;)) else &quot;bin&quot;\n        Path(f&quot;image-{index}.{ext}&quot;).write_bytes(raw)\n    print(&quot;Every returned image saved; complete response metadata retained&quot;)\nsave_images(json.loads(Path(&quot;result.json&quot;).read_text())[&quot;data&quot;])\nPY_RESULT\n</code></pre></div></div></div></section><section class=\"card-section\" data-card-section=\"results\"><h3 tabindex=\"-1\">Natijalarni olish va saqlash</h3><h4>Ailoot Ultra · Rasmlar</h4><p class=\"note-s\">Har bir qaytarilgan rasmni yuklab oling yoki uning Base64 kontentini saqlang</p><ul class=\"card-result-paths\"><li><code>GET /v1/media/tasks/{task_id}</code></li><li><code>GET /v1/media/assets/{asset_id}/content</code></li><li><code>GET /v1/media/assets</code></li><li><code>GET /v1/media/assets/{asset_id}</code></li></ul><details class=\"card-about\"><summary>Boshqa kontentni o‘qish</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Kod variantlari\"><button class=\"cg-tab\" id=\"model-code-1840-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1840-panel-0\" aria-selected=\"true\" tabindex=\"0\">O‘zingizga tegishli mavjud materiallarni o‘qish</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-1840-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1840-tab-0\"><pre data-lang=\"bash\"><code>set -eu\n: &quot;${AILOOT_API_KEY:?Set your Ailoot API key}&quot;\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H &quot;Authorization: Bearer $AILOOT_API_KEY&quot; -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n</code></pre></div></div></div></details><div class=\"card-result-process\" data-all-results><h5>Barcha tayyor natijalarni saqlash</h5><p class=\"note-s\">Har bir tayyor rasmni saqlang; har bir qaytarilgan URL dan kontentni oling yoki uning Base64 kontentini dekodlang.</p><p class=\"note-s\">To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Asl javobni tekshirish kerak bo‘lsa</h5><p class=\"note-s\">Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang.</p></div><details class=\"card-about\" data-output-fields><summary>Javob maydonlari</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Maydon</th><th>Tur</th></tr></thead><tbody><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span></td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span></td></tr><tr><th data-cell-label=\"Maydon\" scope=\"row\"><span class=\"card-cell-label\">Maydon</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"Tur\" data-field-type><span class=\"card-cell-label\">Tur</span></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></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=microsoft%2Fmai-image-2.5-pro&amp;route=Ultra&amp;caller=microsoft%2Fmai-image-2.5-pro&amp;fmt=images\"><code>microsoft/mai-image-2.5-pro</code></a></span></p><h4>Usul yo‘llari taxalluslari</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>Chaqirish uchun tegishli ID lar</h4><p class=\"note-s\"><a href=\"#m=microsoft%2Fmai-image-2.5-pro&amp;route=Ultra&amp;caller=microsoft%2Fmai-image-2.5-pro&amp;fmt=images\"><code>microsoft/mai-image-2.5-pro</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "microsoft/mai-image-2.5-pro",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "microsoft/mai-image-2.5-pro",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|microsoft%2Fmai-image-2.5-pro",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "microsoft/mai-image-2.5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "16:9",
                  "9:16",
                  "3:2",
                  "2:3",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "3:2",
                    "2:3",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "microsoft/mai-image-2.5-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "microsoft/mai-image-2.5-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Yaratishning taxminiy qiymati",
            "units": [
              {
                "amount": "0.884736",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.884736",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'microsoft/mai-image-2.5-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\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/images/generations \\\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 base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Rasmlar",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.884736",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.884736",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "microsoft/mai-image-2.5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.884736",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.884736",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    }
  ],
  "model_id": "microsoft/mai-image-2.5-pro",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "14870c7dbe618cf4436e844c80f230d37185f7c8f66d71dcbc16e28c8156c682",
    "input_html_sha256": "e0355f6f65c6ddad2e8807260aa128261d04a5525985286095cb2a002d900ff4",
    "private_audit_sha256": "4a2f47bce7c72f8c83a935171ab6a207e9469371a918e4179eb75df0acef2faa",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/uz/microsoft-mai-image-2-5-pro/",
    "description": "Microsoft AI MAI-Image-2.5 Pro asosiy vizuallar, mahsulot kompozitsiyalari va tasvir ichidagi aniq matn uchun batafsil tasvirlar yaratadi hamda tahrirlaydi. Pro nashri zich sahnalarda obyektlar, qahramonlar, materiallar va fazoviy munosabatlar izchilligiga urg‘u beradi; matn va vizual namunalar orqali PNG tasvir hosil qiladi.",
    "locale": "uz",
    "md_url": "https://ailoot.ai/models/uz/microsoft-mai-image-2-5-pro/index.md",
    "title": "Microsoft AI: MAI-Image-2.5 Pro — Ailoot",
    "url": "https://ailoot.ai/models/uz/microsoft-mai-image-2-5-pro/"
  },
  "rawModel": {
    "about": "Microsoft AI MAI-Image-2.5 Pro — 2.5 tasvir qatorining asl ko‘rinishga sodiqlikka yo‘naltirilgan nashri. U tabiiy tildagi topshiriqlardan tasvirlar yaratadi va mavjud materiallarni yo‘naltirilgan tarzda tahrirlaydi. Microsoft asosiy vizuallar, batafsil tahrirlash va tasvir ichidagi aniq matnni markaziy qo‘llanishlar deb ko‘rsatadi; model taqqoslashida esa murakkab kompozitsiyalarda obyekt, qahramon, material va fazoviy munosabatlar izchilligi ta’kidlanadi. Yakuniy artefakt — dizayn yoki ishlab chiqarish jarayoni uchun tasvir, masalan asosiy mahsulot rasmi yoki puxta joylashtirilgan tahririy sahna.\n\nYaratishda kompozitsiyani aloqasiz obyektlar ro‘yxati bilan emas, munosabatlar orqali tasvirlang. Asosiy obyekt, yaqin buyumlarga nisbatan o‘lchami, materiallar va yorug‘lik yo‘nalishini belgilang. Pro nashrining hujjatlashtirilgan vizual anglash imkoniyati zich sahnaning ishonarliligini shu munosabatlar belgilaganda foydali. Mahsulot kompozitsiyasi uchun yog‘och stolga sopol ko‘za, shaffof stakanlar va taxlangan matoni, o‘zaro mos akslar hamda bitta deraza yorug‘ligi bilan joylashtiring. Natijadagi tasvirda tegish nuqtalari, soyalar va ko‘rinadigan material xususiyatlarini tekshiring.\n\nMahsulot va qahramon ishida tahrirdan so‘ng saqlanishi kerak bo‘lgan vizual qiyofani bering. Microsoft murakkab sahnalarda obyekt izchilligi va turli rakurs hamda lahzalarda qahramon izchilligini Pro kuchli jihatlari sifatida tasvirlaydi. Buyum yoki shaxsni qaysi xususiyatlar tanitishini va sahnaning qaysi jihati o‘zgarishini ayting. Masalan, qahramonni boshqa fonga qo‘yishda kurtka silueti va taqilma detallarini saqlang. Foydali tekshiruv shu saqlangan detallarni manba namunasi bilan solishtiradi; chiroyli natijaning o‘zi aniq moslik dalili emas.\n\nIshlab chiqaruvchining tasvir tahrirlash interfeysi beshtagacha JPEG yoki PNG namunani qabul qiladi. Topshiriqda ularning vazifalarini ajrating: mahsulot, shaxs, muhit yoki vizual ishlov. Tahrir vazifalari obyekt olib tashlash va almashtirish, xususiyat o‘zgarishlari, inpainting, maket moslashtirish, matn yangilash va artefakt tozalashni qamrab oladi. Mahalliy tahrirda nishonni va saqlanadigan atrof elementlarini tasvirlang. Kattaroq qayta joylashtirishda modelga yaxlit fazoviy maqsad berish uchun o‘zgarishdan keyin kompozitsiya qanday ishlashini tushuntiring.\n\nMatnni tasvirlash asosiy kompozitsiya yoki qadoqlash g‘oyasida ayniqsa muhim. Aniq ibora, uning joyi va obyekt yoki tasvirga munosabatini bering. Takroriy nomlar va yorliq matnini topshiriq hamda namunalar orasida bir xil saqlang. Har bir chizilgan belgini kerakli ko‘rsatish o‘lchamida tekshiring va berilgan so‘zlarga solishtiring. Keyingi tahrir muvaffaqiyatli mahsulot kompozitsiyasini saqlab, so‘zlar yoki joylashuvga qaratilishi mumkin. Keyin PNG natija yakuniy tipografiya va kesim talablari ma’lum maketga qo‘shilishi mumkin.\n\nMicrosoft’ning hozirgi tasvir qo‘llanmasi 2.5 modellari uchun maksimal chiqish maydonini 1,048,576 piksel, ya’ni 1024×1024 ga teng deb belgilaydi. Shu interfeysda ikkala o‘lcham kamida 768 piksel bo‘lishi kerak; umumiy maydon chegarada qolsa uzunroq tomonga ruxsat beriladi. Bu jami 1,032,192 piksel bo‘lgan 1344×768 kabi to‘rtburchak kompozitsiyalarni qo‘llaydi. Maydon cheklovi har bir tomon uchun 1024 maksimumdan farq qiladi. Umumiy tomonlar nisbati belgisi kesimni to‘g‘ri tanlaydi deb kutmasdan, kompozitsiya uchun kerakli formatni tayyorlang.\n\nXizmat ko‘rsatish qo‘llanmasi maksimal topshiriq kontekstini 32,000 token deb belgilaydi va yaratish hamda tahrirlash uchun PNG tasvir ma’lumotlarini qaytaradi. Aynan Pro katalog sahifasi alohida ravishda 131.072K kontekst oynasi va 4,096 chiqish tokenini ko‘rsatadi. Bular katalog yoki xizmat ko‘rsatish doirasiga ega e’lon qilingan token miqdorlaridir; amaliy tasvir so‘rovi tayyorgarligi xizmatning topshiriq va piksel chegaralariga amal qiladi. Tasvir, manba namunalari va topshiriqni bitta tuzatish qaydi sifatida saqlang. Pro ni tanlashga sabab bo‘lgan qiyofa, material va geometriya cheklovlari bo‘yicha vizual natijaning o‘zini tekshiring.\n\nVersiya tanlovi kompozitsiyaga ergashishi kerak. Standart MAI-Image-2.5 umumiy yaratish va mahalliy tahrirlarni qamrab oladi; Pro seriyaning vizual jihatdan zich sahnalarda sodiqlik va izchil munosabatlarga urg‘usini qo‘shadi. 2.6 oilasi hujjatlashtirilgan chiqish maydoni chegarasini oshiradi hamda ixtiyoriy vebga tayanish va avtomatik nisbat tanlashni qo‘shadi. Bu keyingi boshqaruvlar 2.6 ga xos va ushbu Pro nashrining jarayonini belgilamaydi. Topshiriqning murakkab qismi batafsil tasvirda barqaror obyekt qiyofasi, material ko‘rinishi yoki fazoviy tuzilishga tegishli bo‘lsa Pro ni tanlang.\n\nSo‘ralgan o‘zgarishni ham, saqlangan mazmunni ham tekshiring. Buyum ushlagan qo‘llar, kesishishlar, mayda yozuv, yuz o‘xshashligi va akslar murakkab kompozitsiyada tekshirishga foydali joylardir. Ishonarli tasvirda ham chalg‘ituvchi belgi yoki noto‘g‘ri fizik munosabat bo‘lishi mumkin. Keyingi tuzatishni aniq qiling va kerakli maketni bergan topshiriq qismlarini saqlang. Bu har safar butun sahnani qayta belgilash o‘rniga boshqarilgan dizayn tuzatishlari ketma-ketligini qo‘llaydi.",
    "alias_of": null,
    "aliases": [],
    "author": "Microsoft AI",
    "capabilities": {
      "context_length": 4096,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.884736",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.884736",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ],
        "summary": "Konfiguratsiya narxlari tafsilotlarda to‘liq ko‘rsatilgan."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "microsoft/mai-image-2.5-pro",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.",
          "forecast_quantity_is_estimate": true,
          "physical_output_is_billable_quantity": false,
          "version": "original_invoice_usd_v1"
        },
        "cache_read": null,
        "cache_write": null,
        "cache_write_1h": null,
        "contract": {
          "data": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "lifecycle": {
              "assets": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets"
                },
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}"
                }
              ],
              "content": [
                {
                  "http": "GET",
                  "path": "/v1/media/assets/{asset_id}/content",
                  "url_source": "exact returned signed URL; never construct token"
                }
              ],
              "mode": "synchronous_result_then_owned_library",
              "operation_id_is_not_task_id": true,
              "status": [
                {
                  "http": "GET",
                  "id_source": "actual returned task_id or media library record",
                  "path": "/v1/media/tasks/{task_id}"
                }
              ],
              "unknown": "Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang."
            },
            "outputs": {
              "all_results": "To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.",
              "family": "image",
              "fields": [
                {
                  "description": null,
                  "name": "created",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].url",
                  "type": null
                },
                {
                  "description": null,
                  "name": "data[].b64_json",
                  "type": null
                },
                {
                  "description": null,
                  "name": "usage",
                  "type": null
                }
              ]
            },
            "parameters": [
              {
                "enum": [
                  "microsoft/mai-image-2.5-pro"
                ],
                "enum_known": true,
                "name": "model",
                "required": true,
                "type": "string"
              },
              {
                "min_length": 1,
                "name": "prompt",
                "required": true,
                "type": "string"
              },
              {
                "enum": [
                  "1:1",
                  "4:3",
                  "3:4",
                  "16:9",
                  "9:16",
                  "3:2",
                  "2:3",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "maximum": 1,
                "minimum": 1,
                "name": "n",
                "required": false,
                "type": "integer"
              },
              {
                "items": {
                  "properties": {
                    "image_url": {
                      "properties": {
                        "url": {
                          "type": "string"
                        }
                      },
                      "required": [
                        "url"
                      ],
                      "type": "object"
                    },
                    "type": {
                      "const": "image_url"
                    }
                  },
                  "required": [
                    "type",
                    "image_url"
                  ],
                  "type": "object"
                },
                "maximum_items": 1,
                "minimum_items": 0,
                "name": "input_references",
                "required": false,
                "type": "array"
              },
              {
                "name": "provider",
                "required": false,
                "type": "object"
              }
            ],
            "request_schema": {
              "properties": {
                "aspect_ratio": {
                  "enum": [
                    "1:1",
                    "4:3",
                    "3:4",
                    "16:9",
                    "9:16",
                    "3:2",
                    "2:3",
                    "auto"
                  ],
                  "type": "string"
                },
                "input_references": {
                  "items": {
                    "properties": {
                      "image_url": {
                        "properties": {
                          "url": {
                            "type": "string"
                          }
                        },
                        "required": [
                          "url"
                        ],
                        "type": "object"
                      },
                      "type": {
                        "const": "image_url"
                      }
                    },
                    "required": [
                      "type",
                      "image_url"
                    ],
                    "type": "object"
                  },
                  "maxItems": 1,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "microsoft/mai-image-2.5-pro"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "prompt": {
                  "minLength": 1,
                  "type": "string"
                },
                "provider": {
                  "description": "Exact image provider preferences from the documented image request schema.",
                  "type": "object"
                }
              },
              "required": [
                "model",
                "prompt"
              ],
              "type": "object"
            },
            "schema_template": {
              "actual_file_preparation_required": false,
              "body": {
                "model": "microsoft/mai-image-2.5-pro",
                "prompt": "a red panda astronaut floating in space, studio lighting"
              },
              "content_type": "application/json"
            }
          },
          "input": {
            "content_type": "application/json",
            "material_types": [
              "text",
              "image"
            ],
            "required": [
              "model",
              "prompt"
            ]
          },
          "lifecycle": {
            "assets": [
              {
                "http": "GET",
                "path": "/v1/media/assets"
              },
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}"
              }
            ],
            "content": [
              {
                "http": "GET",
                "path": "/v1/media/assets/{asset_id}/content",
                "url_source": "exact returned signed URL; never construct token"
              }
            ],
            "mode": "synchronous_result_then_owned_library",
            "operation_id_is_not_task_id": true,
            "status": [
              {
                "http": "GET",
                "id_source": "Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv",
                "path": "/v1/media/tasks/{task_id}"
              }
            ],
            "unknown": "Keep the returned X-Client-Request-ID for reconciliation. Read only actual returned task_id/asset_id values or the owned media library; never build a task URL from the operation ID and never resubmit creation."
          },
          "method": {
            "http": "POST",
            "path": "/v1/images/generations"
          },
          "output": {
            "all_results": "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again.",
            "family": "image",
            "fields": [
              {
                "description": null,
                "name": "created",
                "type": null
              },
              {
                "description": null,
                "name": "data[].url",
                "type": null
              },
              {
                "description": null,
                "name": "data[].b64_json",
                "type": null
              },
              {
                "description": null,
                "name": "usage",
                "type": null
              }
            ]
          }
        },
        "ctx": null,
        "declared_pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Yaratishning taxminiy qiymati",
            "units": [
              {
                "amount": "0.884736",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.884736",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "examples": [
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\nexport AILOOT_API_KEY\npython3 - <<'PY_REQUEST'\nimport json,os\nfrom pathlib import Path\np={'model': 'microsoft/mai-image-2.5-pro', 'prompt': 'a red panda astronaut floating in space, studio lighting'}\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/images/generations \\\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 base64, json, os, subprocess\nfrom pathlib import Path\nfrom urllib.parse import urlsplit, urljoin\n\ndef save_images(items):\n    if not items: raise SystemExit(\"No completed images; retain the full response\")\n    for index, item in enumerate(items):\n        encoded=item.get(\"b64_json\")\n        uri=item.get(\"url\", \"\")\n        if not encoded and uri.startswith(\"data:image/\"):\n            header, separator, encoded=uri.partition(\",\")\n            if not separator or \";base64\" not in header: raise SystemExit(\"Unsupported image data URI\")\n        if encoded:\n            raw=base64.b64decode(encoded,validate=True)\n        elif uri:\n            uri=urljoin(\"https://api.ailoot.ai\",uri)\n            parsed=urlsplit(uri)\n            if parsed.scheme!=\"https\" or not parsed.netloc or parsed.username or parsed.password:\n                raise SystemExit(\"Invalid returned image URL\")\n            owned=parsed.netloc==\"api.ailoot.ai\" and parsed.path.startswith(\"/v1/media/assets/\") and parsed.path.endswith(\"/content\")\n            args=[\"curl\",\"--fail-with-body\",\"--silent\",\"--show-error\",uri]\n            if owned: args += [\"-H\",\"Authorization: Bearer \"+os.environ[\"AILOOT_API_KEY\"]]\n            temporary=Path(f\"image-{index}.bin\")\n            subprocess.run(args+[\"-o\",str(temporary)],check=True)\n            raw=temporary.read_bytes()\n            temporary.unlink()\n        else: raise SystemExit(\"Image has neither bytes nor URL\")\n        if not raw: raise SystemExit(\"Empty image result\")\n        ext=\"png\" if raw.startswith(b\"\\x89PNG\") else \"jpg\" if raw.startswith(b\"\\xff\\xd8\") else \"webp\" if raw[:4]==b\"RIFF\" and raw[8:12]==b\"WEBP\" else \"svg\" if raw.lstrip().startswith((b\"<svg\",b\"<?xml\")) else \"bin\"\n        Path(f\"image-{index}.{ext}\").write_bytes(raw)\n    print(\"Every returned image saved; complete response metadata retained\")\nsave_images(json.loads(Path(\"result.json\").read_text())[\"data\"])\nPY_RESULT\n",
            "label": "curl · exact creation/save all outputs",
            "language": "bash"
          },
          {
            "code": "set -eu\n: \"${AILOOT_API_KEY:?Set your Ailoot API key}\"\ncurl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \\\n  -H \"Authorization: Bearer $AILOOT_API_KEY\" -o owned-assets.json\n# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.\n",
            "label": "Read existing owned assets",
            "language": "bash"
          }
        ],
        "family": "openai",
        "fast_multiplier": null,
        "flex_multiplier": null,
        "fmt": "images",
        "hints": [
          "Use the exact caller model ID and documented input representation.",
          "Retain the complete response and headers, every actual output, original returned identifiers and all usage fields. Recover the original operation without submitting creation again."
        ],
        "http": "POST",
        "in": null,
        "input": [
          "text",
          "image"
        ],
        "label": "Rasmlar",
        "max_out": null,
        "max_reasoning_effort_multiplier": null,
        "method_aliases": [
          "/v1/images"
        ],
        "native_endpoint": "images",
        "out": null,
        "output": [
          "image"
        ],
        "path": "/v1/images/generations",
        "price_conditions": [
          {
            "label": "Fast mode",
            "value": "Not specified",
            "when": "When fast mode is selected"
          },
          {
            "label": "Flex mode",
            "value": "Not specified",
            "when": "When flex mode is selected"
          },
          {
            "label": "Maximum reasoning effort",
            "value": "Not specified",
            "when": "When maximum reasoning effort uses the default adjustment"
          }
        ],
        "pricing": {
          "billing_mode": "original_invoice_usd",
          "image_input_price": null,
          "image_output_price": null
        },
        "pricing_profiles": [
          {
            "dimensions": {
              "regime": "base"
            },
            "label": "Base token rates",
            "units": [
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "input_price",
                "label": "Input tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "output_price",
                "label": "Output tokens",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "output_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "output_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_read_price",
                "label": "Cache read",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "cached_input_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "cached_input_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_price",
                "label": "Cache write",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "generic_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "generic_cache_creation_token"
              },
              {
                "amount": null,
                "amount_unit": "usd_per_thousand_tokens",
                "billing_input": false,
                "estimate_only": true,
                "key": "cache_write_1h_price",
                "label": "Cache write, 1 hour",
                "native_amount_usd_per_unit": null,
                "native_quantity": 1,
                "native_unit": "one_hour_cache_creation_token",
                "public_unit_label": "/ 1K tokens",
                "quantity": 1000,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "one_hour_cache_creation_token"
              }
            ]
          },
          {
            "basis": "This estimate is not an additional charge or a fixed rate for the completed generation.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Estimated generation cost",
            "units": [
              {
                "amount": "0.884736",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "forecast_usd",
                "label": "Estimated generation cost",
                "native_amount_usd_per_unit": "0.884736",
                "native_quantity": 1,
                "public_unit_label": "estimate before generation",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "request_estimate"
              }
            ]
          }
        ],
        "request_model_id": "microsoft/mai-image-2.5-pro",
        "route_label": "Ultra",
        "status_reads": [
          "GET /v1/media/tasks/{task_id}"
        ],
        "tiers": [],
        "units": [
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "input_price",
            "label": "Input tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "output_price",
            "label": "Output tokens",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "output_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "output_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_read_price",
            "label": "Cache read",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "cached_input_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "cached_input_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_price",
            "label": "Cache write",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "generic_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "generic_cache_creation_token"
          },
          {
            "amount": null,
            "amount_unit": "usd_per_thousand_tokens",
            "billing_input": false,
            "estimate_only": true,
            "key": "cache_write_1h_price",
            "label": "Cache write, 1 hour",
            "native_amount_usd_per_unit": null,
            "native_quantity": 1,
            "native_unit": "one_hour_cache_creation_token",
            "public_unit_label": "/ 1K tokens",
            "quantity": 1000,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "one_hour_cache_creation_token"
          },
          {
            "amount": "0.884736",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "forecast_usd",
            "label": "Estimated generation cost",
            "native_amount_usd_per_unit": "0.884736",
            "native_quantity": 1,
            "public_unit_label": "estimate before generation",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "request_estimate"
          }
        ]
      }
    ],
    "model_aliases": [
      {
        "canonical_model_id": "microsoft/mai-image-2.5-pro",
        "request_model_id": "microsoft/mai-image-2.5-pro",
        "route_label": "Ultra"
      }
    ],
    "name": "Microsoft AI: MAI-Image-2.5 Pro",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.884736,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.884736,
      "varies": false
    },
    "short": "Microsoft AI MAI-Image-2.5 Pro asosiy vizuallar, mahsulot kompozitsiyalari va tasvir ichidagi aniq matn uchun batafsil tasvirlar yaratadi hamda tahrirlaydi. Pro nashri zich sahnalarda obyektlar, qahramonlar, materiallar va fazoviy munosabatlar izchilligiga urg‘u beradi; matn va vizual namunalar orqali PNG tasvir hosil qiladi."
  },
  "renderer_schema": {
    "method_order": "Original DTO methods order; every exact route/format/path/caller survives.",
    "prices": "Original public DTO fields and original native display HTML; no flattened or normalized offers."
  },
  "representation": "exact-public-dto-and-native-renderer-html",
  "representationNotes": {
    "current_reference": {
      "about_json_pointer": "/aboutHtml",
      "methods": [
        {
          "contract_json_pointer": "/methods/0/rawMethod/contract",
          "html_json_pointer": "/methods/0/html",
          "method_ordinal": 0
        }
      ],
      "role": "current-semantic-reference"
    },
    "raw_input": {
      "examples_role": "historical-input-not-current-ready-examples",
      "json_pointers": [
        "/rawModel",
        "/methods/0/rawMethod"
      ],
      "role": "historical-owner-input"
    },
    "schema": "ailoot-native-model-representations-v1"
  },
  "schema": "ailoot-static-model-facts-v1",
  "schema_version": 1,
  "shortText": "Microsoft AI MAI-Image-2.5 Pro asosiy vizuallar, mahsulot kompozitsiyalari va tasvir ichidagi aniq matn uchun batafsil tasvirlar yaratadi hamda tahrirlaydi. Pro nashri zich sahnalarda obyektlar, qahramonlar, materiallar va fazoviy munosabatlar izchilligiga urg‘u beradi; matn va vizual namunalar orqali PNG tasvir hosil qiladi.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "deb88ad1906363e61ec48fb1730a5fb85a0c7da7229e121971c9b4eac12ec6c6",
    "renderer_sha256": "aa8a0fca1bd770c042b64987512b6187fca2067aea3ddc877f68b163d80e7df6"
  },
  "sourceRevision": "ba58d3c14a92600c4ec8c9923c880661d5630b6b65d7d520da25c04acaac88a5"
}
