{
  "aboutHtml": "<p>FLUX.2 [flex] — типографикаға, мәтін рендерлеуге және ұсақ бөлшектерді сақтауға маманданған Black Forest Labs кескін генерациясы және өңдеу нұсқасы. Ол сурет жасау үшін жазбаша көрініс нұсқаулары мен сурет референстерін қолданады. Айқындаушы басқаруы — реттелетін іріктеу: құжатталған профиль шығару қадамдарын да, guidance-ты да ашады, сондықтан көрнекі тапсырманы сөздермен де, параметрлермен де нақтылауға болады.</p><h4>Жазу және ұсақ бөлшектер</h4><p>Типографика міндеті нақты мәтіннен басталуы керек. Әр жолды тырнақшаға алып, орнын анықтап, тақырыпты, қосымша мәтінді және жапсырманы ажыратыңыз. Әріп стилін, ауқымын және түсін көрініске қатысты сипаттаңыз. Авторлық постер тапсырмасы ашық студиядағы кобальт көк велосипедті, жақтаудың үстіндегі үлкен тақырыпты және астындағы ұсақ сипаттама жолын көрсете алады. Сурет өнім мен оқу ретін бірге анық етуі тиіс.</p><p>Егжей-тегжейлі өнім көрінісінде нәтижені пайдалы ететін бөліктерді атаңыз: циферблат, басқару жапсырмасы, тігіс, материал жиегі немесе қаптама белгісі. Оқылатын референс беріп, қай белгіні анықтайтынын түсіндіріңіз. Жалпы ұқсас көрініс маңызды таңбаны не компонентті бәрібір өзгерте алады, сондықтан жасалған бөлшекті мақсатты көрсету өлшемінде салыстырыңыз. Модельдің мамандануы — дәл талап беруге себеп, мәтін не визуалдық тексеру қажет болмайтынына кепіл емес.</p><h4>Қадамдар мен guidance әртүрлі мақсатқа қызмет етеді</h4><p>Өндірушінің нақты профилі бір–елу шығару қадамын қабылдайды, әдепкісі — елу. Сипаттама көбірек қадамды жоғары бөлшек және шынайылықпен байланыстырады. Guidance аралығы — 1.5–10, әдепкісі — 5. Жоғары guidance промптты орындауды күшейтеді, бірақ шынайылықты азайтуы мүмкін. Сондықтан нақты дизайн нұсқауы бар сурет пен табиғи фото келбет іздейтін сурет осы профиль ішінде әртүрлі таңдауды талап етуі мүмкін.</p><p>Параметр өзгерісін салыстырғанда мәтінді, референстерді және шығыс пішімін тұрақты ұстаңыз. Өзгеріске себеп болған белгіні қараңыз: әріп пішіні, зат орны немесе материал текстурасы. Үлкен санды автоматты түрде жақсы деп қарамай, параметрді нақты көрнекі себеппен өзгертіңіз. Бұлар — өндірушінің іріктеу басқаруы; төрт қадамдық дистилляцияланған [klein] профилі мен [pro] не [max] стандартты басқаруы — басқа модель таңдаулары.</p><p>[flex] сипаттамасында промпт кеңейту әдепкіде қосулы және өз prompt_upsampling басқаруымен өшіріледі. Бұл қажет кезде егжей-тегжейлі тапсырманы берілген мәтін күйінде қалдырады. Өндірушінің ортақ нұсқаулығы негізгі нысан мен маңызды әрекетті қосалқы әшекейден бұрын орналастыруды ұсынып, табиғи тіл тапсырмаларымен бірге JSON құрылымды промпттарды сипаттайды. Қажетті байланыстарды ең жеңіл белгілеуге мүмкіндік беретін құрылымды пайдаланыңыз.</p><h4>Референске сүйенген түзетулер</h4><p>Нақты сұрау профилінде сегіз референс сурет орны бар. Өндірушінің интерактивті ағыны бөлек онға дейін суретке рұқсат етеді; бұл сандар әртүрлі интерфейсті сипаттайды. Сурет өңделетін көріністі, өнімді, кейіпкерді, киімді не стильді беретінін анықтаңыз. Түзетуде зат пен өзгерісті атап, кейін сақталатын айнала композицияны, материалдарды не жарықты көрсетіңіз.</p><p>Авторлық қаптама тапсырмасы бірінші суреттен қорапты, екіншісінен өңдеу сипатын алып, алдыңғы жапсырманы бекітілген мәтінмен алмастырып, қорап пропорциясын сақтай алады. Топ композициясы әр нысанға бөлек референс тағайындап, сәйкестіктерді тұрақты ұстай алады. Топ мысалдары зат пен фон өзгерістерін, композитингті, мәтін түзетуін және стиль түрлендіруін қамтиды. Мақсаты анық бір байланысқан түзету сұрап, өңделген аумақты да, тұрақты қалуға тиіс бөліктерді де салыстырыңыз.</p><h4>Өлшем, түс және қайтарылған сурет</h4><p>FLUX.2 нұсқаулығы кемінде 64×64 пиксельді, 16-ға еселі өлшемдерді және 4 мегапиксельге дейін нәтижені құжаттайды; кәдімгі қолдануға 2 мегапиксельге дейін ұсынылады. Нақты [flex] сипаттамасы JPEG, PNG және WebP, әдепкі JPEG береді. Қосымша кездейсоқ seed те бар. Нұсқаларды салыстырғанда нақты модельді, seed-ті және іріктеу параметрлерін бастапқы референстермен бірге сақтаңыз; тек топ атауы толық генерация конфигурациясын анықтамайды.</p><p>Түске сезімтал жұмыста әр hex кодын аталған затпен не мәтін элементімен байланыстырыңыз. Композицияда керекті арақатынасты сурет өлшемдері арқылы белгілеп, оқылатын жазуға жеткілікті орын қалдырыңыз. Ортақ нұсқаулықта теріс промпт механизмі жоқ, сондықтан қажетті келбетті оң сипаттаңыз: анық фокус, таза фон немесе мәтінге арналған айқын бос аумақ. Көптілді мысалдары мәдениетке тән тапсырманы тиісті тілде жазуды қолдайды, бірақ бекітілген тіл санына кепіл белгілемейді.</p><p>Өндірушінің FLUX.2 ағыны өңдеуден кейін сурет қайтарады және алу терезесі он минут болатын уақытша қол қойылған сілтемелерді қолданады. Нақты сурет пен тапсырманы бірге сақтаңыз. Ресурсты макетке орналастырмас бұрын типографиканы, ұсақ бөлшектерді, референс тұлғасын және көрнекі өңдеуді тексеріңіз. Соңғы нәтиже келесі түзетуге нақты параметрлері сақталған таңдалған постер, өнім суреті не өңделген композиция болуы мүмкін.</p>",
  "aboutText": "FLUX.2 [flex] — типографикаға, мәтін рендерлеуге және ұсақ бөлшектерді сақтауға маманданған Black Forest Labs кескін генерациясы және өңдеу нұсқасы. Ол сурет жасау үшін жазбаша көрініс нұсқаулары мен сурет референстерін қолданады. Айқындаушы басқаруы — реттелетін іріктеу: құжатталған профиль шығару қадамдарын да, guidance-ты да ашады, сондықтан көрнекі тапсырманы сөздермен де, параметрлермен де нақтылауға болады.\n\n### Жазу және ұсақ бөлшектер\n\nТипографика міндеті нақты мәтіннен басталуы керек. Әр жолды тырнақшаға алып, орнын анықтап, тақырыпты, қосымша мәтінді және жапсырманы ажыратыңыз. Әріп стилін, ауқымын және түсін көрініске қатысты сипаттаңыз. Авторлық постер тапсырмасы ашық студиядағы кобальт көк велосипедті, жақтаудың үстіндегі үлкен тақырыпты және астындағы ұсақ сипаттама жолын көрсете алады. Сурет өнім мен оқу ретін бірге анық етуі тиіс.\n\nЕгжей-тегжейлі өнім көрінісінде нәтижені пайдалы ететін бөліктерді атаңыз: циферблат, басқару жапсырмасы, тігіс, материал жиегі немесе қаптама белгісі. Оқылатын референс беріп, қай белгіні анықтайтынын түсіндіріңіз. Жалпы ұқсас көрініс маңызды таңбаны не компонентті бәрібір өзгерте алады, сондықтан жасалған бөлшекті мақсатты көрсету өлшемінде салыстырыңыз. Модельдің мамандануы — дәл талап беруге себеп, мәтін не визуалдық тексеру қажет болмайтынына кепіл емес.\n\n### Қадамдар мен guidance әртүрлі мақсатқа қызмет етеді\n\nӨндірушінің нақты профилі бір–елу шығару қадамын қабылдайды, әдепкісі — елу. Сипаттама көбірек қадамды жоғары бөлшек және шынайылықпен байланыстырады. Guidance аралығы — 1.5–10, әдепкісі — 5. Жоғары guidance промптты орындауды күшейтеді, бірақ шынайылықты азайтуы мүмкін. Сондықтан нақты дизайн нұсқауы бар сурет пен табиғи фото келбет іздейтін сурет осы профиль ішінде әртүрлі таңдауды талап етуі мүмкін.\n\nПараметр өзгерісін салыстырғанда мәтінді, референстерді және шығыс пішімін тұрақты ұстаңыз. Өзгеріске себеп болған белгіні қараңыз: әріп пішіні, зат орны немесе материал текстурасы. Үлкен санды автоматты түрде жақсы деп қарамай, параметрді нақты көрнекі себеппен өзгертіңіз. Бұлар — өндірушінің іріктеу басқаруы; төрт қадамдық дистилляцияланған [klein] профилі мен [pro] не [max] стандартты басқаруы — басқа модель таңдаулары.\n\n[flex] сипаттамасында промпт кеңейту әдепкіде қосулы және өз prompt_upsampling басқаруымен өшіріледі. Бұл қажет кезде егжей-тегжейлі тапсырманы берілген мәтін күйінде қалдырады. Өндірушінің ортақ нұсқаулығы негізгі нысан мен маңызды әрекетті қосалқы әшекейден бұрын орналастыруды ұсынып, табиғи тіл тапсырмаларымен бірге JSON құрылымды промпттарды сипаттайды. Қажетті байланыстарды ең жеңіл белгілеуге мүмкіндік беретін құрылымды пайдаланыңыз.\n\n### Референске сүйенген түзетулер\n\nНақты сұрау профилінде сегіз референс сурет орны бар. Өндірушінің интерактивті ағыны бөлек онға дейін суретке рұқсат етеді; бұл сандар әртүрлі интерфейсті сипаттайды. Сурет өңделетін көріністі, өнімді, кейіпкерді, киімді не стильді беретінін анықтаңыз. Түзетуде зат пен өзгерісті атап, кейін сақталатын айнала композицияны, материалдарды не жарықты көрсетіңіз.\n\nАвторлық қаптама тапсырмасы бірінші суреттен қорапты, екіншісінен өңдеу сипатын алып, алдыңғы жапсырманы бекітілген мәтінмен алмастырып, қорап пропорциясын сақтай алады. Топ композициясы әр нысанға бөлек референс тағайындап, сәйкестіктерді тұрақты ұстай алады. Топ мысалдары зат пен фон өзгерістерін, композитингті, мәтін түзетуін және стиль түрлендіруін қамтиды. Мақсаты анық бір байланысқан түзету сұрап, өңделген аумақты да, тұрақты қалуға тиіс бөліктерді де салыстырыңыз.\n\n### Өлшем, түс және қайтарылған сурет\n\nFLUX.2 нұсқаулығы кемінде 64×64 пиксельді, 16-ға еселі өлшемдерді және 4 мегапиксельге дейін нәтижені құжаттайды; кәдімгі қолдануға 2 мегапиксельге дейін ұсынылады. Нақты [flex] сипаттамасы JPEG, PNG және WebP, әдепкі JPEG береді. Қосымша кездейсоқ seed те бар. Нұсқаларды салыстырғанда нақты модельді, seed-ті және іріктеу параметрлерін бастапқы референстермен бірге сақтаңыз; тек топ атауы толық генерация конфигурациясын анықтамайды.\n\nТүске сезімтал жұмыста әр hex кодын аталған затпен не мәтін элементімен байланыстырыңыз. Композицияда керекті арақатынасты сурет өлшемдері арқылы белгілеп, оқылатын жазуға жеткілікті орын қалдырыңыз. Ортақ нұсқаулықта теріс промпт механизмі жоқ, сондықтан қажетті келбетті оң сипаттаңыз: анық фокус, таза фон немесе мәтінге арналған айқын бос аумақ. Көптілді мысалдары мәдениетке тән тапсырманы тиісті тілде жазуды қолдайды, бірақ бекітілген тіл санына кепіл белгілемейді.\n\nӨндірушінің FLUX.2 ағыны өңдеуден кейін сурет қайтарады және алу терезесі он минут болатын уақытша қол қойылған сілтемелерді қолданады. Нақты сурет пен тапсырманы бірге сақтаңыз. Ресурсты макетке орналастырмас бұрын типографиканы, ұсақ бөлшектерді, референс тұлғасын және көрнекі өңдеуді тексеріңіз. Соңғы нәтиже келесі түзетуге нақты параметрлері сақталған таңдалған постер, өнім суреті не өңделген композиция болуы мүмкін.",
  "editorialOverlay": {
    "copy_fields": null,
    "copy_sha256": null,
    "copy_source": null,
    "html_sha256": "e141e7113332048f573c33ae5c649bd81da2ac2d802a4ef8d16f5e5feee03922",
    "module_sha256": "ee9dc1c50b1e6a8fb7fa062030fcb4646b9aaaeb08be513b723a5a92a7290f06",
    "raw_model_unchanged": true,
    "schema": "ailoot-native-model-editorial-v1"
  },
  "locale": "kk",
  "methods": [
    {
      "html": "<div class=\"sheet-head\"><span class=\"mav\" aria-hidden=\"true\">•</span><h2 id=\"sheet-title\">Black Forest Labs: FLUX.2 Flex</h2><button class=\"icon-btn\" type=\"button\" data-close-sheet aria-label=\"Жабу\">×</button></div><div class=\"idline\"><span>Black Forest Labs /</span><code>black-forest-labs/flux.2-flex</code><button type=\"button\" id=\"copy-id\">ID көшіру</button></div><nav class=\"card-jump-nav\" aria-label=\"Модель карточкасының бөлімдері\"><button type=\"button\" data-card-jump=\"overview\">Бастау</button><button type=\"button\" data-card-jump=\"methods\">Кіріс деректері мен әдістер</button><button type=\"button\" data-card-jump=\"pricing\">Тарифтер</button><button type=\"button\" data-card-jump=\"examples\">Мысалдар</button><button type=\"button\" data-card-jump=\"results\">Нәтижелер</button><button type=\"button\" data-card-jump=\"aliases\">Балама атаулар</button></nav><div class=\"card-method-tabs\" role=\"tablist\" aria-label=\"API әдістері\"><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|black-forest-labs%2Fflux.2-flex\">Суреттер</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\">Бастау</h3><p class=\"mdesc-full\">FLUX.2 [flex] реттелетін іріктеу қадамдары мен guidance арқылы кескін типографикасына және ұсақ көрнекі бөлшектерге маманданады. Нұсқауды орындау мен шынайылық теңгерімін сақтап, постерлер, өнім макеттері немесе дәл түзетулер жасау үшін мәтін мен сурет референстерін қолданыңыз.</p><dl class=\"card-io\" data-card-io><div><dt>Қабылданатын кіріс деректері</dt><dd>Мәтін · Суреттер</dd></div><div><dt>Нәтижелер</dt><dd>Суреттер</dd></div></dl><details class=\"card-about\"><summary>Модель туралы</summary><p class=\"note-s\" data-model-method-boundary>Бұл сипаттама модель мүмкіндіктерін қамтиды. Ailoot жүйесінде таңдалған әдіс үшін қолжетімді кіріс, шығыс және параметрлер төменде берілген.</p><div class=\"mabout\" id=\"m-about\"><p>FLUX.2 [flex] — типографикаға, мәтін рендерлеуге және ұсақ бөлшектерді сақтауға маманданған Black Forest Labs кескін генерациясы және өңдеу нұсқасы. Ол сурет жасау үшін жазбаша көрініс нұсқаулары мен сурет референстерін қолданады. Айқындаушы басқаруы — реттелетін іріктеу: құжатталған профиль шығару қадамдарын да, guidance-ты да ашады, сондықтан көрнекі тапсырманы сөздермен де, параметрлермен де нақтылауға болады.</p><h4>Жазу және ұсақ бөлшектер</h4><p>Типографика міндеті нақты мәтіннен басталуы керек. Әр жолды тырнақшаға алып, орнын анықтап, тақырыпты, қосымша мәтінді және жапсырманы ажыратыңыз. Әріп стилін, ауқымын және түсін көрініске қатысты сипаттаңыз. Авторлық постер тапсырмасы ашық студиядағы кобальт көк велосипедті, жақтаудың үстіндегі үлкен тақырыпты және астындағы ұсақ сипаттама жолын көрсете алады. Сурет өнім мен оқу ретін бірге анық етуі тиіс.</p><p>Егжей-тегжейлі өнім көрінісінде нәтижені пайдалы ететін бөліктерді атаңыз: циферблат, басқару жапсырмасы, тігіс, материал жиегі немесе қаптама белгісі. Оқылатын референс беріп, қай белгіні анықтайтынын түсіндіріңіз. Жалпы ұқсас көрініс маңызды таңбаны не компонентті бәрібір өзгерте алады, сондықтан жасалған бөлшекті мақсатты көрсету өлшемінде салыстырыңыз. Модельдің мамандануы — дәл талап беруге себеп, мәтін не визуалдық тексеру қажет болмайтынына кепіл емес.</p><h4>Қадамдар мен guidance әртүрлі мақсатқа қызмет етеді</h4><p>Өндірушінің нақты профилі бір–елу шығару қадамын қабылдайды, әдепкісі — елу. Сипаттама көбірек қадамды жоғары бөлшек және шынайылықпен байланыстырады. Guidance аралығы — 1.5–10, әдепкісі — 5. Жоғары guidance промптты орындауды күшейтеді, бірақ шынайылықты азайтуы мүмкін. Сондықтан нақты дизайн нұсқауы бар сурет пен табиғи фото келбет іздейтін сурет осы профиль ішінде әртүрлі таңдауды талап етуі мүмкін.</p><p>Параметр өзгерісін салыстырғанда мәтінді, референстерді және шығыс пішімін тұрақты ұстаңыз. Өзгеріске себеп болған белгіні қараңыз: әріп пішіні, зат орны немесе материал текстурасы. Үлкен санды автоматты түрде жақсы деп қарамай, параметрді нақты көрнекі себеппен өзгертіңіз. Бұлар — өндірушінің іріктеу басқаруы; төрт қадамдық дистилляцияланған [klein] профилі мен [pro] не [max] стандартты басқаруы — басқа модель таңдаулары.</p><p>[flex] сипаттамасында промпт кеңейту әдепкіде қосулы және өз prompt_upsampling басқаруымен өшіріледі. Бұл қажет кезде егжей-тегжейлі тапсырманы берілген мәтін күйінде қалдырады. Өндірушінің ортақ нұсқаулығы негізгі нысан мен маңызды әрекетті қосалқы әшекейден бұрын орналастыруды ұсынып, табиғи тіл тапсырмаларымен бірге JSON құрылымды промпттарды сипаттайды. Қажетті байланыстарды ең жеңіл белгілеуге мүмкіндік беретін құрылымды пайдаланыңыз.</p><h4>Референске сүйенген түзетулер</h4><p>Нақты сұрау профилінде сегіз референс сурет орны бар. Өндірушінің интерактивті ағыны бөлек онға дейін суретке рұқсат етеді; бұл сандар әртүрлі интерфейсті сипаттайды. Сурет өңделетін көріністі, өнімді, кейіпкерді, киімді не стильді беретінін анықтаңыз. Түзетуде зат пен өзгерісті атап, кейін сақталатын айнала композицияны, материалдарды не жарықты көрсетіңіз.</p><p>Авторлық қаптама тапсырмасы бірінші суреттен қорапты, екіншісінен өңдеу сипатын алып, алдыңғы жапсырманы бекітілген мәтінмен алмастырып, қорап пропорциясын сақтай алады. Топ композициясы әр нысанға бөлек референс тағайындап, сәйкестіктерді тұрақты ұстай алады. Топ мысалдары зат пен фон өзгерістерін, композитингті, мәтін түзетуін және стиль түрлендіруін қамтиды. Мақсаты анық бір байланысқан түзету сұрап, өңделген аумақты да, тұрақты қалуға тиіс бөліктерді де салыстырыңыз.</p><h4>Өлшем, түс және қайтарылған сурет</h4><p>FLUX.2 нұсқаулығы кемінде 64×64 пиксельді, 16-ға еселі өлшемдерді және 4 мегапиксельге дейін нәтижені құжаттайды; кәдімгі қолдануға 2 мегапиксельге дейін ұсынылады. Нақты [flex] сипаттамасы JPEG, PNG және WebP, әдепкі JPEG береді. Қосымша кездейсоқ seed те бар. Нұсқаларды салыстырғанда нақты модельді, seed-ті және іріктеу параметрлерін бастапқы референстермен бірге сақтаңыз; тек топ атауы толық генерация конфигурациясын анықтамайды.</p><p>Түске сезімтал жұмыста әр hex кодын аталған затпен не мәтін элементімен байланыстырыңыз. Композицияда керекті арақатынасты сурет өлшемдері арқылы белгілеп, оқылатын жазуға жеткілікті орын қалдырыңыз. Ортақ нұсқаулықта теріс промпт механизмі жоқ, сондықтан қажетті келбетті оң сипаттаңыз: анық фокус, таза фон немесе мәтінге арналған айқын бос аумақ. Көптілді мысалдары мәдениетке тән тапсырманы тиісті тілде жазуды қолдайды, бірақ бекітілген тіл санына кепіл белгілемейді.</p><p>Өндірушінің FLUX.2 ағыны өңдеуден кейін сурет қайтарады және алу терезесі он минут болатын уақытша қол қойылған сілтемелерді қолданады. Нақты сурет пен тапсырманы бірге сақтаңыз. Ресурсты макетке орналастырмас бұрын типографиканы, ұсақ бөлшектерді, референс тұлғасын және көрнекі өңдеуді тексеріңіз. Соңғы нәтиже келесі түзетуге нақты параметрлері сақталған таңдалған постер, өнім суреті не өңделген композиция болуы мүмкін.</p></div></details></section><section class=\"card-section\" data-card-section=\"methods\"><h3 tabindex=\"-1\">Ailoot жүйесінде қолжетімді · кіріс деректері мен әдістер</h3><details class=\"card-method\" open><summary><b>Ailoot Ultra · Суреттер</b> <code>POST /v1/images/generations</code></summary><dl class=\"method-capabilities\"><div><dt>Кіріс</dt><dd><code>text</code>, <code>image</code></dd></div><div><dt>Шығыс</dt><dd><code>image</code></dd></div></dl><div class=\"tw\" data-card-parameters data-typed-parameters><table><thead><tr><th>Өріс</th><th>Түрі</th><th>Талап</th><th>Мәндер мен шектеулер</th><th>Әдепкі</th></tr></thead><tbody><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">model</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>black-forest-labs/flux.2-flex</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">prompt</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең аз ұзындық: 1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">aspect_ratio</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>1:1, 4:3, 3:4, 3:2, 2:3, 16:9, 9:16, 21:9, auto</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">output_format</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>string</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>png, jpeg</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">n</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>integer</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Ең азы: 1</div><div>Ең көбі: 1</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">input_references</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>array</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span><div>Элементтердің ең аз саны: 0</div><div>Элементтердің ең көп саны: 8</div></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">provider</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span><code>object</code></td><td data-cell-label=\"Талап\"><span class=\"card-cell-label\">Талап</span>Міндетті емес</td><td data-cell-label=\"Мәндер мен шектеулер\"><span class=\"card-cell-label\">Мәндер мен шектеулер</span></td><td data-cell-label=\"Әдепкі\" data-default=\"unspecified\"><span class=\"card-cell-label\">Әдепкі</span>—</td></tr></tbody></table></div><details class=\"note-s\" data-method-contract><summary>Әдіс параметрлері мен өмірлік циклі</summary><div class=\"tw\" data-card-table=\"contract\"><table><thead><tr><th>Параметр</th><th>Параметр талаптары</th></tr></thead><tbody><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>content_type</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>application/json</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>required</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>model, prompt</td></tr><tr><th data-cell-label=\"Параметр\" scope=\"row\"><span class=\"card-cell-label\">Параметр</span><code>material_types</code></th><td data-cell-label=\"Параметр талаптары\"><span class=\"card-cell-label\">Параметр талаптары</span>text, image</td></tr></tbody></table></div><p>Өмірлік цикл: <code>synchronous_result_then_owned_library</code></p><p class=\"note-s\"><code>GET /v1/media/tasks/{task_id}</code> · Нақты қайтарылған task_id немесе медиатека жазбасы</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\">Тарифтер</h3><div class=\"card-result-process\" data-billing-basis><h5>Қорытынды төлем қалай есептеледі</h5><p class=\"note-s\">Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.</p></div><div data-native-semantic-method=\"v1\" data-tariff-reference-only><p class=\"note-s\" data-rate-support-note>Тариф анықтамасы сұрау мүмкіндіктерін қоспайды. Қолдау көрсетілетін параметрлер таңдалған әдісте берілген.</p><dl data-price-conditions><dt>Жылдам режим</dt><dd>Көрсетілмеген <span class=\"note-s\">Жылдам режим таңдалғанда</span></dd><dt>Икемді режим</dt><dd>Көрсетілмеген <span class=\"note-s\">flex режимі таңдалғанда</span></dd><dt>Ой қорытудың ең жоғары деңгейі</dt><dd>Көрсетілмеген <span class=\"note-s\">Ой қорыту деңгейі ең жоғары болып, default түзетуі қолданылғанда</span></dd></dl></div><div data-declared-tariff-pricing><h4>Салыстыруға арналған болжамды мөлшерлемелер</h4><h4>Баптаулар бойынша бағалар</h4><p class=\"note-s\">Әр төлемді көрсетілген шарттармен салыстырыңыз. Балама баптаулардың әр жиыны үшін бір мөлшерлемені қолданыңыз.</p><div class=\"tw\" data-pricing-profiles><table><thead><tr><th>Баптау</th><th>Мөлшерлемелер кестесі</th><th>Болжамды мөлшер</th><th>Есептеу бірлігі</th><th>Төлем</th></tr></thead><tbody><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Токендердің базалық тарифтері</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>Негізгі мөлшерлеме</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>—</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · Кіріс токендері · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Шығыс · Шығыс токендері · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшті оқу · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div><div><span>Кіріс · Кэшке жазу, 1 сағ · Тек салыстыруға арналған бағалау</span> <b>—</b> <span class=\"price-unit\">/ 1K токен</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>кіріс кескін мегапикселі</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>кіріс суретінің мегапикселі үшін</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Кіріс · кіріс кескін мегапикселі · Тек салыстыруға арналған бағалау</span> <b>$0.12</b> <span class=\"price-unit\">кіріс суретінің мегапикселі үшін</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>шығыс кескін мегапикселі</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>—</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>шығыс суретінің мегапикселі үшін</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Шығыс · шығыс кескін мегапикселі · Тек салыстыруға арналған бағалау</span> <b>$0.12</b> <span class=\"price-unit\">шығыс суретінің мегапикселі үшін</span></div></td></tr><tr><th data-cell-label=\"Баптау\" scope=\"row\"><span class=\"card-cell-label\">Баптау</span>Генерацияның болжамды құны</th><td data-cell-label=\"Мөлшерлемелер кестесі\"><span class=\"card-cell-label\">Мөлшерлемелер кестесі</span>—</td><td data-cell-label=\"Болжамды мөлшер\"><span class=\"card-cell-label\">Болжамды мөлшер</span>бір генерацияға арналған болжам</td><td data-cell-label=\"Есептеу бірлігі\"><span class=\"card-cell-label\">Есептеу бірлігі</span>—</td><td data-cell-label=\"Төлем\"><span class=\"card-cell-label\">Төлем</span><div><span>Шығыс · Генерацияның болжамды құны · Тек салыстыруға арналған бағалау</span> <b>$0.12</b> <span class=\"price-unit\">жасауға дейінгі бағалау</span></div><p class=\"note-s\">Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.</p></td></tr></tbody></table></div></div><p class=\"note-s\">Ailoot сұрау алдында болжамды соманы резервтейді. Нәтижеден кейін өлшенген пайдалану көлемі бойынша қорытынды төлемді шегереді. Ағындық жауап үшін төлем соңғы пайдалану жазбасы негізінде шегеріледі. <a href=\"/docs/kk/billing/reserve/\">Резервтеу мен төлемді есептеу тәртібі →</a></p></section><section class=\"card-section\" data-card-section=\"examples\"><h3 tabindex=\"-1\">Сұрау мысалдары</h3><h4>Ailoot Ultra · Суреттер</h4><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-1099-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1099-panel-0\" aria-selected=\"true\" tabindex=\"0\">curl</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><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-1099-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1099-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;black-forest-labs/flux.2-flex&#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\">Нәтижелерді алу және сақтау</h3><h4>Ailoot Ultra · Суреттер</h4><p class=\"note-s\">Қайтарылған әр суретті жүктеп алыңыз немесе оның Base64 мазмұнын сақтаңыз</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>Басқа мазмұнды оқу</summary><div class=\"code-group\"><div class=\"cg-bar\"><div class=\"cg-tabs\" role=\"tablist\" aria-label=\"Код нұсқалары\"><button class=\"cg-tab\" id=\"model-code-1100-tab-0\" role=\"tab\" type=\"button\" aria-controls=\"model-code-1100-panel-0\" aria-selected=\"true\" tabindex=\"0\">Өзіңізге тиесілі қолда бар материалдарды оқу</button></div><div class=\"cg-tools\"><button class=\"cg-btn cg-copy\" type=\"button\" aria-label=\"Кодты көшіру\"><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-1100-panel-0\" role=\"tabpanel\" aria-labelledby=\"model-code-1100-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>Барлық дайын нәтижені сақтау</h5><p class=\"note-s\">Әр дайын суретті сақтаңыз; қайтарылған әр URL арқылы мазмұнды алыңыз немесе оның Base64 мазмұнын декодтаңыз.</p><p class=\"note-s\">Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.</p></div><div class=\"card-result-process\" data-unknown-recovery><h5>Бастапқы жауапты тексеру қажет болса</h5><p class=\"note-s\">Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз.</p></div><details class=\"card-about\" data-output-fields><summary>Жауап өрістері</summary><div class=\"tw\" data-card-table=\"output\"><table><thead><tr><th>Өріс</th><th>Түрі</th></tr></thead><tbody><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">created</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span></td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">data[].url</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span></td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">data[].b64_json</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span></td></tr><tr><th data-cell-label=\"Өріс\" scope=\"row\"><span class=\"card-cell-label\">Өріс</span><code class=\"card-field-name\">usage</code></th><td data-cell-label=\"Түрі\" data-field-type><span class=\"card-cell-label\">Түрі</span></td></tr></tbody></table></div></details></section><section class=\"card-section\" data-card-section=\"aliases\"><h3 tabindex=\"-1\">Балама атаулар</h3><h4>Модельдердің балама атаулары</h4><p class=\"note-s\"><span data-model-alias-route=\"Ultra\"><b>Ailoot Ultra</b> <a href=\"#m=black-forest-labs%2Fflux.2-flex&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux.2-flex&amp;fmt=images\"><code>black-forest-labs/flux.2-flex</code></a></span></p><h4>Әдіс жолдарының балама атаулары</h4><p class=\"note-s\"><code>/v1/images</code></p><h4>Шақыруға арналған байланысты ID</h4><p class=\"note-s\"><a href=\"#m=black-forest-labs%2Fflux.2-flex&amp;route=Ultra&amp;caller=black-forest-labs%2Fflux.2-flex&amp;fmt=images\"><code>black-forest-labs/flux.2-flex</code></a></p></section></div>",
      "method_identity": {
        "effective_request_model_id": "black-forest-labs/flux.2-flex",
        "fmt": "images",
        "http": "POST",
        "path": "/v1/images/generations",
        "request_model_id": "black-forest-labs/flux.2-flex",
        "route_label": "Ultra"
      },
      "method_key": "Ultra|images|/v1/images/generations|black-forest-labs%2Fflux.2-flex",
      "ordinal": 0,
      "rawMethod": {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.",
          "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": "Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз."
            },
            "outputs": {
              "all_results": "Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.",
              "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": [
                  "black-forest-labs/flux.2-flex"
                ],
                "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",
                  "3:2",
                  "2:3",
                  "16:9",
                  "9:16",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "png",
                  "jpeg"
                ],
                "enum_known": true,
                "name": "output_format",
                "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": 8,
                "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",
                    "3:2",
                    "2:3",
                    "16:9",
                    "9:16",
                    "21:9",
                    "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": 8,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux.2-flex"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "png",
                    "jpeg"
                  ],
                  "type": "string"
                },
                "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": "black-forest-labs/flux.2-flex",
                "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": "Нақты қайтарылған task_id немесе медиатека жазбасы",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image megapixel"
            },
            "label": "input image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_megapixel",
                "label": "input image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per input image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input_megapixel"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "basis": "Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Генерацияның болжамды құны",
            "units": [
              {
                "amount": "0.12",
                "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.12",
                "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': 'black-forest-labs/flux.2-flex', '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": "Суреттер",
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image megapixel"
            },
            "label": "input image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_megapixel",
                "label": "input image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per input image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input_megapixel"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "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.12",
                "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.12",
                "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": "black-forest-labs/flux.2-flex",
        "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.12",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input_megapixel",
            "label": "input image megapixel",
            "native_amount_usd_per_unit": "0.12",
            "native_quantity": 1,
            "public_unit_label": "per input image megapixel",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input_megapixel"
          },
          {
            "amount": "0.12",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output_megapixel",
            "label": "output image megapixel",
            "native_amount_usd_per_unit": "0.12",
            "native_quantity": 1,
            "public_unit_label": "per output image megapixel",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output_megapixel"
          },
          {
            "amount": "0.12",
            "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.12",
            "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": "black-forest-labs/flux.2-flex",
  "nativeProvenance": {
    "input_facts_canonical_sha256": "3febf4a3ecd53556881cb9e7138da4f245ae33f14f1af0eca272d71052d1c329",
    "input_html_sha256": "cdcbf311fdee099ce2424e7e0ec35cd75ef8a05bc40d8a2b826a44e6c4581e81",
    "private_audit_sha256": "dfd70574bf8afa3c1e913db986803166b9a81c520b1f7ee17e7388f5c7a11f52",
    "role": "historical-normalized-input-audit-hashes",
    "schema": "ailoot-native-model-provenance-v2"
  },
  "page": {
    "canonical": "https://ailoot.ai/models/kk/black-forest-labs-flux-2-flex/",
    "description": "FLUX.2 [flex] реттелетін іріктеу қадамдары мен guidance арқылы кескін типографикасына және ұсақ көрнекі бөлшектерге маманданады. Нұсқауды орындау мен шынайылық теңгерімін сақтап, постерлер, өнім макеттері немесе дәл түзетулер жасау үшін мәтін мен сурет референстерін қолданыңыз.",
    "locale": "kk",
    "md_url": "https://ailoot.ai/models/kk/black-forest-labs-flux-2-flex/index.md",
    "title": "Black Forest Labs: FLUX.2 Flex — Ailoot",
    "url": "https://ailoot.ai/models/kk/black-forest-labs-flux-2-flex/"
  },
  "rawModel": {
    "about": "FLUX.2 [flex] — типографикаға, мәтін рендерлеуге және ұсақ бөлшектерді сақтауға маманданған Black Forest Labs кескін генерациясы және өңдеу нұсқасы. Ол сурет жасау үшін жазбаша көрініс нұсқаулары мен сурет референстерін қолданады. Айқындаушы басқаруы — реттелетін іріктеу: құжатталған профиль шығару қадамдарын да, guidance-ты да ашады, сондықтан көрнекі тапсырманы сөздермен де, параметрлермен де нақтылауға болады.\n\n### Жазу және ұсақ бөлшектер\n\nТипографика міндеті нақты мәтіннен басталуы керек. Әр жолды тырнақшаға алып, орнын анықтап, тақырыпты, қосымша мәтінді және жапсырманы ажыратыңыз. Әріп стилін, ауқымын және түсін көрініске қатысты сипаттаңыз. Авторлық постер тапсырмасы ашық студиядағы кобальт көк велосипедті, жақтаудың үстіндегі үлкен тақырыпты және астындағы ұсақ сипаттама жолын көрсете алады. Сурет өнім мен оқу ретін бірге анық етуі тиіс.\n\nЕгжей-тегжейлі өнім көрінісінде нәтижені пайдалы ететін бөліктерді атаңыз: циферблат, басқару жапсырмасы, тігіс, материал жиегі немесе қаптама белгісі. Оқылатын референс беріп, қай белгіні анықтайтынын түсіндіріңіз. Жалпы ұқсас көрініс маңызды таңбаны не компонентті бәрібір өзгерте алады, сондықтан жасалған бөлшекті мақсатты көрсету өлшемінде салыстырыңыз. Модельдің мамандануы — дәл талап беруге себеп, мәтін не визуалдық тексеру қажет болмайтынына кепіл емес.\n\n### Қадамдар мен guidance әртүрлі мақсатқа қызмет етеді\n\nӨндірушінің нақты профилі бір–елу шығару қадамын қабылдайды, әдепкісі — елу. Сипаттама көбірек қадамды жоғары бөлшек және шынайылықпен байланыстырады. Guidance аралығы — 1.5–10, әдепкісі — 5. Жоғары guidance промптты орындауды күшейтеді, бірақ шынайылықты азайтуы мүмкін. Сондықтан нақты дизайн нұсқауы бар сурет пен табиғи фото келбет іздейтін сурет осы профиль ішінде әртүрлі таңдауды талап етуі мүмкін.\n\nПараметр өзгерісін салыстырғанда мәтінді, референстерді және шығыс пішімін тұрақты ұстаңыз. Өзгеріске себеп болған белгіні қараңыз: әріп пішіні, зат орны немесе материал текстурасы. Үлкен санды автоматты түрде жақсы деп қарамай, параметрді нақты көрнекі себеппен өзгертіңіз. Бұлар — өндірушінің іріктеу басқаруы; төрт қадамдық дистилляцияланған [klein] профилі мен [pro] не [max] стандартты басқаруы — басқа модель таңдаулары.\n\n[flex] сипаттамасында промпт кеңейту әдепкіде қосулы және өз prompt_upsampling басқаруымен өшіріледі. Бұл қажет кезде егжей-тегжейлі тапсырманы берілген мәтін күйінде қалдырады. Өндірушінің ортақ нұсқаулығы негізгі нысан мен маңызды әрекетті қосалқы әшекейден бұрын орналастыруды ұсынып, табиғи тіл тапсырмаларымен бірге JSON құрылымды промпттарды сипаттайды. Қажетті байланыстарды ең жеңіл белгілеуге мүмкіндік беретін құрылымды пайдаланыңыз.\n\n### Референске сүйенген түзетулер\n\nНақты сұрау профилінде сегіз референс сурет орны бар. Өндірушінің интерактивті ағыны бөлек онға дейін суретке рұқсат етеді; бұл сандар әртүрлі интерфейсті сипаттайды. Сурет өңделетін көріністі, өнімді, кейіпкерді, киімді не стильді беретінін анықтаңыз. Түзетуде зат пен өзгерісті атап, кейін сақталатын айнала композицияны, материалдарды не жарықты көрсетіңіз.\n\nАвторлық қаптама тапсырмасы бірінші суреттен қорапты, екіншісінен өңдеу сипатын алып, алдыңғы жапсырманы бекітілген мәтінмен алмастырып, қорап пропорциясын сақтай алады. Топ композициясы әр нысанға бөлек референс тағайындап, сәйкестіктерді тұрақты ұстай алады. Топ мысалдары зат пен фон өзгерістерін, композитингті, мәтін түзетуін және стиль түрлендіруін қамтиды. Мақсаты анық бір байланысқан түзету сұрап, өңделген аумақты да, тұрақты қалуға тиіс бөліктерді де салыстырыңыз.\n\n### Өлшем, түс және қайтарылған сурет\n\nFLUX.2 нұсқаулығы кемінде 64×64 пиксельді, 16-ға еселі өлшемдерді және 4 мегапиксельге дейін нәтижені құжаттайды; кәдімгі қолдануға 2 мегапиксельге дейін ұсынылады. Нақты [flex] сипаттамасы JPEG, PNG және WebP, әдепкі JPEG береді. Қосымша кездейсоқ seed те бар. Нұсқаларды салыстырғанда нақты модельді, seed-ті және іріктеу параметрлерін бастапқы референстермен бірге сақтаңыз; тек топ атауы толық генерация конфигурациясын анықтамайды.\n\nТүске сезімтал жұмыста әр hex кодын аталған затпен не мәтін элементімен байланыстырыңыз. Композицияда керекті арақатынасты сурет өлшемдері арқылы белгілеп, оқылатын жазуға жеткілікті орын қалдырыңыз. Ортақ нұсқаулықта теріс промпт механизмі жоқ, сондықтан қажетті келбетті оң сипаттаңыз: анық фокус, таза фон немесе мәтінге арналған айқын бос аумақ. Көптілді мысалдары мәдениетке тән тапсырманы тиісті тілде жазуды қолдайды, бірақ бекітілген тіл санына кепіл белгілемейді.\n\nӨндірушінің FLUX.2 ағыны өңдеуден кейін сурет қайтарады және алу терезесі он минут болатын уақытша қол қойылған сілтемелерді қолданады. Нақты сурет пен тапсырманы бірге сақтаңыз. Ресурсты макетке орналастырмас бұрын типографиканы, ұсақ бөлшектерді, референс тұлғасын және көрнекі өңдеуді тексеріңіз. Соңғы нәтиже келесі түзетуге нақты параметрлері сақталған таңдалған постер, өнім суреті не өңделген композиция болуы мүмкін.",
    "alias_of": null,
    "aliases": [],
    "author": "Black Forest Labs",
    "capabilities": {
      "context_length": 67344,
      "manufacturer_input": [
        "text",
        "image"
      ],
      "manufacturer_output": [
        "image"
      ]
    },
    "card_routes": [
      {
        "label": "Ultra",
        "rates": [
          {
            "amount": "0.12",
            "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.12",
            "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": "Конфигурация бағалары туралы толық ақпарат — егжей-тегжейлі мәліметтерде."
      }
    ],
    "ctx": null,
    "formats": [
      "images"
    ],
    "id": "black-forest-labs/flux.2-flex",
    "input": [
      "text",
      "image"
    ],
    "kind": "image",
    "max_out": null,
    "methods": [
      {
        "available": null,
        "billing_basis": {
          "basis": "original_invoice_usd",
          "description": "Көрсетілген тарифтер генерация басталғанға дейінгі құнын бағалауға арналған. Соңғы төлем бастапқы генерация үшін тіркелген құннан есептеледі. Нәтиженің өлшенген ұзақтығы мен болжамды көлемдер төлемге негіз болатын түпкілікті көлем болып саналмайды.",
          "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": "Есептерді салыстырып тексеру үшін қайтарылған X-Client-Request-ID мәнін сақтаңыз. Тек нақты қайтарылған task_id/asset_id мәндері арқылы немесе өзіңізге тиесілі медиатекадан оқыңыз; операция ID мәнінен тапсырманың URL мекенжайын ешқашан құрастырмаңыз және жасау сұрауын ешқашан қайта жібермеңіз."
            },
            "outputs": {
              "all_results": "Толық жауапты және тақырыптарды, алынған әрбір нәтижені, бастапқыда қайтарылған идентификаторларды және пайдалану туралы барлық өрістерді сақтаңыз. Жасау сұрауын қайта жібермей, бастапқы операцияны қалпына келтіріңіз.",
              "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": [
                  "black-forest-labs/flux.2-flex"
                ],
                "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",
                  "3:2",
                  "2:3",
                  "16:9",
                  "9:16",
                  "21:9",
                  "auto"
                ],
                "enum_known": true,
                "name": "aspect_ratio",
                "required": false,
                "type": "string"
              },
              {
                "enum": [
                  "png",
                  "jpeg"
                ],
                "enum_known": true,
                "name": "output_format",
                "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": 8,
                "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",
                    "3:2",
                    "2:3",
                    "16:9",
                    "9:16",
                    "21:9",
                    "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": 8,
                  "minItems": 0,
                  "type": "array"
                },
                "model": {
                  "enum": [
                    "black-forest-labs/flux.2-flex"
                  ],
                  "type": "string"
                },
                "n": {
                  "maximum": 1,
                  "minimum": 1,
                  "type": "integer"
                },
                "output_format": {
                  "enum": [
                    "png",
                    "jpeg"
                  ],
                  "type": "string"
                },
                "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": "black-forest-labs/flux.2-flex",
                "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": "Нақты қайтарылған task_id немесе медиатека жазбасы",
                "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image megapixel"
            },
            "label": "input image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_megapixel",
                "label": "input image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per input image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input_megapixel"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "basis": "Бұл бағалау қосымша төлем де, аяқталған генерация үшін белгіленген тұрақты тариф те емес.",
            "dimensions": {
              "forecast_quantity": "one generation estimate"
            },
            "label": "Генерацияның болжамды құны",
            "units": [
              {
                "amount": "0.12",
                "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.12",
                "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': 'black-forest-labs/flux.2-flex', '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": "Суреттер",
        "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"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per input image megapixel"
            },
            "label": "input image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_input_megapixel",
                "label": "input image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per input image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "in",
                "unit": "image_input_megapixel"
              }
            ]
          },
          {
            "dimensions": {
              "quoted_unit": "per output image megapixel"
            },
            "label": "output image megapixel",
            "units": [
              {
                "amount": "0.12",
                "amount_unit": "usd_per_exact_native_unit",
                "billing_input": false,
                "estimate_only": true,
                "key": "image_output_megapixel",
                "label": "output image megapixel",
                "native_amount_usd_per_unit": "0.12",
                "native_quantity": 1,
                "public_unit_label": "per output image megapixel",
                "quantity": 1,
                "quantity_is_estimate": true,
                "rate_role": "typed_native_retail_rate",
                "side": "out",
                "unit": "image_output_megapixel"
              }
            ]
          },
          {
            "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.12",
                "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.12",
                "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": "black-forest-labs/flux.2-flex",
        "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.12",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_input_megapixel",
            "label": "input image megapixel",
            "native_amount_usd_per_unit": "0.12",
            "native_quantity": 1,
            "public_unit_label": "per input image megapixel",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "in",
            "unit": "image_input_megapixel"
          },
          {
            "amount": "0.12",
            "amount_unit": "usd_per_exact_native_unit",
            "billing_input": false,
            "estimate_only": true,
            "key": "image_output_megapixel",
            "label": "output image megapixel",
            "native_amount_usd_per_unit": "0.12",
            "native_quantity": 1,
            "public_unit_label": "per output image megapixel",
            "quantity": 1,
            "quantity_is_estimate": true,
            "rate_role": "typed_native_retail_rate",
            "side": "out",
            "unit": "image_output_megapixel"
          },
          {
            "amount": "0.12",
            "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.12",
            "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": "black-forest-labs/flux.2-flex",
        "request_model_id": "black-forest-labs/flux.2-flex",
        "route_label": "Ultra"
      }
    ],
    "name": "Black Forest Labs: FLUX.2 Flex",
    "price": {
      "estimate_only": true,
      "in": null,
      "in_label": null,
      "out": 0.12,
      "out_label": "estimate before generation",
      "scope_label": "Estimated generation cost",
      "sort_in": null,
      "sort_out": 0.12,
      "varies": false
    },
    "short": "FLUX.2 [flex] реттелетін іріктеу қадамдары мен guidance арқылы кескін типографикасына және ұсақ көрнекі бөлшектерге маманданады. Нұсқауды орындау мен шынайылық теңгерімін сақтап, постерлер, өнім макеттері немесе дәл түзетулер жасау үшін мәтін мен сурет референстерін қолданыңыз."
  },
  "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": "FLUX.2 [flex] реттелетін іріктеу қадамдары мен guidance арқылы кескін типографикасына және ұсақ көрнекі бөлшектерге маманданады. Нұсқауды орындау мен шынайылық теңгерімін сақтап, постерлер, өнім макеттері немесе дәл түзетулер жасау үшін мәтін мен сурет референстерін қолданыңыз.",
  "source": {
    "audit_sha256": "2e00086bcbfc28e64d0cebe97aa47c17d8d5618963027f8ffb9dc6123d7d25b1",
    "bridge_map_sha256": "1125275768b9636fc8461bc7da5061239a81ddfe508e2557843ca42c58ab0036",
    "raw_model_json_sha256": "229216995937d3aaacd91a3a1751ae419e050d62ede9a3cb461f6e0cd8386dc0",
    "renderer_sha256": "def3bb6e69c8ddb72f88ec6540bbe55d0e503790f964d84073ecda781b13bedf"
  },
  "sourceRevision": "d0a403c601244503558f8be67bd6b347051c44e0e331f567ad023fd6c19f8f19"
}
