Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)
Nano Banana 2 (Gemini 3.1 Flash Image Preview) matn va vizual namunalar asosida tasvirlar yaratadi hamda tahrirlaydi. Uning hujjatlashtirilgan kuchli tomonlari obyekt izchilligi, tasvir ichidagi matn va lokalizatsiya, suhbat davomida o‘zgartirishlar hamda kompozitsiya, tomonlar nisbati va tasvir aniqligini ijodiy boshqarishni o‘z ichiga oladi.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsgoogle/gemini-3.1-flash-image-preview - Ailoot Ultra · Rasmlar
POST /v1/images/generationsgoogle/gemini-3.1-flash-image-preview - Ailoot Ultra · Anthropic Messages
POST /v1/messagesgoogle/gemini-3.1-flash-image-preview
Model haqida
Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.
Nano Banana 2 — Google’ning tasvir yaratish va suhbat davomida tahrirlash uchun mo‘ljallangan Gemini 3.1 Flash Image modeli. Ushbu yozuv aynan Preview identifikatorini saqlaydi. Yozma tavsif yangi vizualni belgilashi, kiruvchi tasvir esa o‘zgartiriladigan obyekt, tashqi ko‘rinish yoki kompozitsiyani berishi mumkin. Natijada tasvir va unga hamroh matn bo‘lishi mumkin. Google reliz materialida bog‘liq suhbat navbatlari orqali sahnani takomillashtirish imkoniyati bilan bir qatorda dunyo haqidagi bilim, matnni tasvirga tushirish va obyekt izchilligiga urg‘u beradi.
Manbalarga asoslangan vizual yaratishda hujjatlashtirilgan model generatsiyaga ma’lumot berish uchun veb va tasvir qidiruvi ma’lumotlaridan foydalanishi mumkin. Bu muayyan joydan ilhomlangan illyustratsiya yoki taqdim etilgan ma’lumotlarga asoslangan diagramma kabi vazifalarni qo‘llab-quvvatlaydi. Aks ettirilishi shart bo‘lgan manba faktlarini belgilang va ularni badiiy tanlovlardan ajrating. Qidiruv ma’lumotlariga tayangan generatsiya yakuniy rasmdagi har bir tafsilotni tekshirilgan da’voga aylantirmaydi. Mahsulot, diqqatga sazovor joy yoki diagramma aniq bo‘lishi shart bo‘lsa, ishonchli namunasini bering va chiqishni u bilan solishtirib tekshiring.
Relizda tasvir ichidagi matnni tushirish va lokalizatsiya yaxshilangani qayd etilgan. Poster, infografika yoki marketing maketi uchun har bir matn elementining aniq so‘zlari, tili va vazifasini bering. Tasvir qo‘llanmasi tavsiya qilganidek, avval matnni yakunlang, keyin uni o‘z ichiga olgan vizualni so‘rang. Sarlavha, izoh va diagramma yozuvi chalkashmasligi uchun o‘qish tartibi va nisbiy urg‘uni tushuntiring. Tasvirni nashrda ishlatishdan oldin imlo, tinish belgilari va yozuv bilan tasvirlangan element o‘rtasidagi bog‘lanishni tekshiring.
Ijodiy boshqaruvlar tomonlar nisbati va tasvir aniqligini o‘z ichiga oladi. Relizda 1K, 2K va 4K variantlari yoniga 512 pikselli chiqish, shuningdek 4:1, 1:4, 8:1 va 1:8 tomonlar nisbatlari qo‘shilgan. Dasturchilar qo‘llanmasida minimal fikrlash standart, high fikrlash esa murakkabroq kompozitsiyalar uchun variant sifatida belgilangan. Kompozitsiyadan oldin foydalanish maqsadini tanlang: vertikal hikoya, keng banner va ixcham diagrammada obyekt va yozuvlar uchun turli joy kerak bo‘ladi. Bu sozlamalar shu qator uchun yaratuvchining generatsiya jarayonini tasvirlaydi, mavjud tayyor materialning o‘lchamini avtomatik o‘zgartirishni anglatmaydi.
Obyekt izchilligi uchun har bir namunaning vazifasini belgilang: mahsulot tashqi ko‘rinishi, qahramonning o‘ziga xosligi, fon yoki vizual uslub. Saqlanadigan tafsilotlarni ayting, keyin o‘zgartiriladigan elementlarni sanang. Mustaqil topshiriq taqdim etilgan mahsulot fotosuratini yangi sahnaga joylashtirishni, uning shakli, materiali va ko‘rinadigan brend belgilarini saqlashni so‘rashi mumkin. Illyustratsiyalar ketma-ketligi uchun bir xil namunalarni saqlang va qaysi sahnaga xos tafsilotlar o‘zgarishini belgilang. Ko‘proq namuna har bir tasvir nimaga xizmat qilishini tushuntiruvchi aniq ko‘rsatma o‘rnini bosmaydi.
Suhbat davomida tahrirlash muayyan tuzatish uchun foydalidir. Qabul qilingan kompozitsiyani saqlab, bitta obyekt, fon yoki yoritishni o‘zgartirishni so‘rang. Yaratuvchi qo‘llanmasida tahrirlanadigan hudud so‘z bilan belgilanadigan semantik niqoblash tavsiflangan. Ko‘p navbatli ishda tanlangan interfeysdagi suhbat va zarur mulohaza konteksti metama’lumotlarini saqlang; Gemini 3 qo‘llanmasi fikrlash imzolari shu kontekstni tashishga yordam berishini tushuntiradi. O‘zgarmas hudud tavsifi asl nusxa bilan solishtirib tekshiriladigan ko‘rsatma bo‘lib, har bir piksel aynan saqlanishining kafolati emas.
Gemini 3 dasturchilar jadvalida gemini-3.1-flash-image-preview 128K kirish va 32K chiqish limiti bilan aniq ko‘rsatilgan. Generatsiyani qayd etishda Preview modelining aynan shu nomini saqlang. Mavjud namuna, chiqish va aniqlik sozlamalarini manba tasvirlari hamda so‘rov bilan birga saqlash lozim, shunda tahrirni izchil takrorlash mumkin bo‘ladi. Tahrir uchun o‘sha manba namunalarini saqlang va har bir kirishning qabul qilingan vazifasini saqlagan holda aniq vizual o‘zgarishni ko‘rsating.
Tasvir qo‘llanmasi so‘ralgan tasvirlar soniga har doim ham rioya qilinmasligini ogohlantiradi va yaratilgan tasvirlar uchun SynthID belgisini qayd etadi. Natijani bitta o‘zgarmas rasm deb taxmin qilmasdan, qaytgan barcha tasvirlar va hamroh matnni tekshiring. Obyektning o‘ziga xosligi, obyektlar soni, tasvir ichidagi matn, kompozitsiya va namunaga moslikni mo‘ljallangan ko‘rsatish o‘lchamida tekshiring. Murakkab sahna uchun tarkibiy qismlarni mantiqiy tartibda sanang va kerakli ko‘rinishni ijobiy shaklda tasvirlang. Foydali natija — keyingi tahrir uchun manba namunalari va aniq model identifikatori saqlangan, tekshirib chiqilgan vizual material.
Amaliy vazifa
Amaliy vazifa
Ingliz tilidagi texnik misol
Create a four-stage growing guide
Create a friendly flat illustration for a gardening guide showing four tomato-growing stages from left to right: seed in soil, small seedling, leafy plant, mature plant with red tomatoes. Use a warm cream background, consistent pots and simple green shapes. Keep each stage clearly separated. Include no text, numbers, labels or decorative extra plants.Kutiladigan natija
An image with four distinct growing stages in the specified order and a consistent illustration style.Natijani tekshirish
Inspect the actual image for exactly four stages, the left-to-right progression and absence of text or extra plants.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions google/gemini-3.1-flash-image-preview
google/gemini-3.1-flash-image-preview
google/gemini-3.1-flash-image-previewBoshlash
Nano Banana 2 (Gemini 3.1 Flash Image Preview) matn va vizual namunalar asosida tasvirlar yaratadi hamda tahrirlaydi. Uning hujjatlashtirilgan kuchli tomonlari obyekt izchilligi, tasvir ichidagi matn va lokalizatsiya, suhbat davomida o‘zgartirishlar hamda kompozitsiya, tomonlar nisbati va tasvir aniqligini ijodiy boshqarishni o‘z ichiga oladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- Matn
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Kirish
text- Chiqish
text- Chiqish formati
- json yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar google/gemini-3.1-flash-image-preview | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 1 | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Namunalar: system, user, assistant, tool, function Shartlar: Bu rollar manba kodining moslik turlarida ochiq ifodalangan; aniq rollar to‘plami har bir modelga xos bo‘lib qoladi. Modelga bogʻliq | Standart— |
Maydonmessages[].content | Turstring|content_part[]|null | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_calls | Turtool_call[] | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].tool_call_id | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: role=tool; haqiqatan qaytarilgan IDdan foydalaning | Standart— |
Maydonmessages[].name | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].reasoning_content | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Ushbu model foydalanganda, haqiqatan qaytarilgan fikrlash ma’lumotlarini keyingi so‘rovda qayta yuboring | Standart— |
Maydonmessages[].reasoning_details | Turobject|array | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmax_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonmax_completion_tokens | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Modelga bogʻliq | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Maydonstream_options.include_usage | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontemperature | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontop_p | Turnumber | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonstop | Turstring|string[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools | Turfunction_tool[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydontools[].type | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar function Modelga bogʻliq | Standart— |
Maydontools[].function.name | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Quyidagi holatda qo‘llanadi: Funksiya vositasi taqdim etilgan | Standart— |
Maydontools[].function.description | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontools[].function.parameters | TurJSON_schema | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Maydontool_choice | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonparallel_tool_calls | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonresponse_format | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning_effort | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonreasoning | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonservice_tier | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydoninstructions | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Moslik maydoni | Standart— |
Maydonfunctions | Turfunction[] | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonfunction_call | Turstring|object | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonprompt_cache_options | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Modelga bogʻliq | Standart— |
Maydonmodalities | Turstring[] | TalabIxtiyoriy | Qiymatlar va cheklovlar text | Standart— |
Maydonprovider | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Ushbu Ultra matn marshrutida provider.options rad etiladi | Standart— |
Maydoncache_control.ttl | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar Shartlar: Haqiqiy prompt-kesh joylarida 1h rad etiladi | Standart— |
Kirish materiallari birikmalari
Matn · UTF8 matni
messages[].content
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages |
Parametrmaterial_types | Parametr talablaritext |
Parametrmessages | Parametr talablarirole/content tuzilishidagi xabarlar massivi |
Parametrfile_material | Parametr talablariHaqiqiy UTF-8 hujjati aynan matn sifatida kiritiladi; fayl IDsi faraz qilinmaydi |
Parametroptional_controls | Parametr talablaristream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametrcontrol_scope | Parametr talablariModelga xos; foydalanuvchi funksiya vositalari hostingdagi vositalardan farq qiladi |
Parametroutput_modalities | Parametr talablaritext |
Parametrhosted_operations | Parametr talablarifalse |
Parametrmultimodal_input_binding | Parametr talablarinull |
Hayot sikli: synchronous_or_streamed
Aniq model IDsini messages bilan yuboring.
Kontekst uzunligi chiqishning yuqori chegarasi emas.
Matn fayli aynan matnni taqdim etishi mumkin; tasvir, audio va fayl obyekti kirishlari aniq bog‘lashni talab qiladi.
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · minimal
- Standart tarif Fikrlash darajasi minimal bo‘lganda
- Ochiq ko‘rsatilgan keshlash narxlari
- Yoqilmagan Ochiq ko‘rsatilgan keshlash so‘ralganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.001 / 1K token Chiqish · Chiqish tokenlari $0.006 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token Chiqish · Chiqish rasmi tokenlari $0.12 / 1K rasm tokeni |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.001 / 1K token Chiqish · Chiqish tokenlari $0.006 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ma’lumot uchun tarif tafsilotlari
Modelning ma’lumot jadvallari usul tanlash, narx hisobi yoki to‘lovlarni o‘zgartirmaydi. Amaldagi to‘lovlar tanlangan Ailoot usuli tariflari bo‘yicha hisoblanadi.
google/gemini-3.1-flash-image-preview
Sozlamalar bo‘yicha narxlar
| Sozlama | To‘lovni hisoblash shartlari | To‘lov |
|---|---|---|
| Sozlamagoogle/gemini-3.1-flash-image-preview · Standart sozlama | To‘lovni hisoblash shartlariStandart konfiguratsiya | To‘lov Kirish · Kirish 0,001 US$ / 1K token Chiqish · Chiqish 0,12 US$ / 1K token |
google/gemini-3.1-flash-image-preview
Sozlamalar bo‘yicha narxlar
| Sozlama | To‘lovni hisoblash shartlari | To‘lov |
|---|---|---|
| Sozlamagoogle/gemini-3.1-flash-image-preview · Standart konfiguratsiya | To‘lovni hisoblash shartlariStandart konfiguratsiya | To‘lov Kirish · Kirish 0,001 US$ / 1K token Chiqish · Chiqish 0,12 US$ / 1K token |
google/gemini-3.1-flash-image-preview
Sozlamalar bo‘yicha narxlar
| Sozlama | To‘lovni hisoblash shartlari | To‘lov |
|---|---|---|
| Sozlamagoogle/gemini-3.1-flash-image-preview · Standart sozlama | To‘lovni hisoblash shartlariStandart konfiguratsiya | To‘lov Kirish · Kirish 0,00 US$ har chaqiruv uchun Chiqish · Chiqish 0,16 US$ har chaqiruv uchun |
google/gemini-3.1-flash-image-preview
Sozlamalar bo‘yicha narxlar
| Sozlama | To‘lovni hisoblash shartlari | To‘lov |
|---|---|---|
| Sozlamagoogle/gemini-3.1-flash-image-preview · Standart sozlama | To‘lovni hisoblash shartlariStandart konfiguratsiya | To‘lov Kirish · Kirish 0,00 US$ har chaqiruv uchun Chiqish · Chiqish 0,32 US$ har chaqiruv uchun |
google/gemini-3.1-flash-image-preview
Sozlamalar bo‘yicha narxlar
| Sozlama | To‘lovni hisoblash shartlari | To‘lov |
|---|---|---|
| Sozlamagoogle/gemini-3.1-flash-image-preview · Standart sozlama | To‘lovni hisoblash shartlariStandart konfiguratsiya | To‘lov Kirish · Kirish 0,00 US$ har chaqiruv uchun Chiqish · Chiqish 0,00 US$ har chaqiruv uchun |
Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)
Sozlamalar bo‘yicha narxlar
| Sozlama | To‘lovni hisoblash shartlari | To‘lov |
|---|---|---|
| SozlamaGoogle: Nano Banana 2 (Gemini 3.1 Flash Image Preview) · Standart sozlama | To‘lovni hisoblash shartlariStandart konfiguratsiya | To‘lov Kirish · Kirish tokenlari 0,001 US$ / 1K token Chiqish · Chiqish tokenlari 0,006 US$ / 1K token Chiqish · Chiqish rasmi 0,12 US$ / 1K token Chiqish · Veb-qidiruv 0,028 US$ har bir qidiruv uchun |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · OpenAI Chat
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "google/gemini-3.1-flash-image-preview", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
from openai import OpenAI
import os
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='google/gemini-3.1-flash-image-preview',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
save_result(result.to_dict(mode="json"))
from openai import OpenAI
import os
from pathlib import Path
if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path
def save_result(data, stem="result"):
# Keep every field, including usage, IDs, reasoning and tool requests.
Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
print(json.dumps(data, ensure_ascii=False, indent=2))
def save_blob(encoded, suffix, label):
raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
file = Path(stem + "-" + label + "." + ext)
file.write_bytes(raw)
print("Saved", file)
for index, block in enumerate(data.get("content") or []):
print("Content", index, json.dumps(block, ensure_ascii=False))
for choice in data.get("choices") or []:
print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
for index, item in enumerate(data.get("output") or []):
print("Output", index, json.dumps(item, ensure_ascii=False))
if item.get("type") == "image_generation_call" and item.get("result"):
save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
for ci, candidate in enumerate(data.get("candidates") or []):
for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
blob = part.get("inlineData") or part.get("inline_data")
if blob and blob.get("data"):
mime = blob.get("mimeType") or blob.get("mime_type")
suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))
with client.chat.completions.stream(model='google/gemini-3.1-flash-image-preview',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
for event in stream:
payload=event.to_dict(mode="json")
log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
print(json.dumps(payload,ensure_ascii=False))
final=stream.get_final_completion()
save_result(final.to_dict(mode="json"),"stream-result")
Natijalarni olish va saqlash
Ailoot Ultra · OpenAI Chat
json yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Har bir javob variantini va uning kontenti, vosita chaqiruvlari hamda fikrlash ma’lumotlarini saqlang. SSEda o‘zgarish qismlarini variant va vosita indeksi bo‘yicha yig‘ing, yakuniy tugash sababi va sarf ma’lumotlarini saqlang.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonchoices[].index | Turinteger |
Maydonchoices[].message.content | Turstring|null |
Maydonchoices[].message.tool_calls | Turtool_call[] |
Maydonchoices[].message.reasoning_content | Turstring |
Maydonchoices[].message.reasoning_details | Turobject|array |
Maydonchoices[].finish_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot Ultra google/gemini-3.1-flash-image-preview
Usul yo‘llari taxalluslari
/v1/images
Chaqirish uchun tegishli ID lar
Ailoot Ultra · Rasmlar POST /v1/images/generations google/gemini-3.1-flash-image-preview
google/gemini-3.1-flash-image-preview
google/gemini-3.1-flash-image-previewBoshlash
Nano Banana 2 (Gemini 3.1 Flash Image Preview) matn va vizual namunalar asosida tasvirlar yaratadi hamda tahrirlaydi. Uning hujjatlashtirilgan kuchli tomonlari obyekt izchilligi, tasvir ichidagi matn va lokalizatsiya, suhbat davomida o‘zgartirishlar hamda kompozitsiya, tomonlar nisbati va tasvir aniqligini ijodiy boshqarishni o‘z ichiga oladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn · Rasmlar
- Natijalar
- Rasmlar
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Rasmlar POST /v1/images/generations
- Kirish
text,image- Chiqish
image
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar google/gemini-3.1-flash-image-preview | Standart— |
Maydonprompt | Turstring | TalabMajburiy | Qiymatlar va cheklovlar Eng kam uzunlik: 1 | Standart— |
Maydonresolution | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 512, 1K, 2K, 4K | Standart— |
Maydonaspect_ratio | Turstring | TalabIxtiyoriy | Qiymatlar va cheklovlar 1:1, 1:4, 1:8, 2:3, 3:2, 3:4, 4:1, 4:3, 4:5, 5:4, 8:1, 9:16, 16:9, 21:9 | Standart— |
Maydonn | Turinteger | TalabIxtiyoriy | Qiymatlar va cheklovlar Eng kam: 1 Eng ko‘p: 1 | Standart— |
Maydoninput_references | Turarray | TalabIxtiyoriy | Qiymatlar va cheklovlar Elementlarning eng kam soni: 0 Elementlarning eng ko‘p soni: 14 | Standart— |
Maydonprovider | Turobject | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standart— |
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, prompt |
Parametrmaterial_types | Parametr talablaritext, image |
Hayot sikli: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · Amalda qaytarilgan task_id yoki media kutubxonasidagi yozuv
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Tariflar
Yakuniy to‘lov qanday hisoblanadi
Ko‘rsatilgan tariflar xarajatni generatsiyadan oldin taxminiy hisoblash uchun xizmat qiladi. Yakuniy to‘lov dastlabki generatsiya uchun qayd etilgan xarajat asosida hisoblanadi. Natijaning o‘lchangan davomiyligi va oldindan taxmin qilingan miqdorlar haq undiriladigan yakuniy miqdor hisoblanmaydi.
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Ko‘rsatilmagan Tezkor rejim tanlanganda
- Flex rejimi
- Ko‘rsatilmagan flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Ko‘rsatilmagan Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
Taqqoslash uchun taxminiy tariflar
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Prognoz miqdori | To‘lov |
|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Prognoz miqdori— | To‘lov Kirish · Kirish tokenlari · Faqat taqqoslash uchun taxmin — / 1K token Chiqish · Chiqish tokenlari · Faqat taqqoslash uchun taxmin — / 1K token Kirish · Keshdan o‘qish · Faqat taqqoslash uchun taxmin — / 1K token Kirish · Keshga yozish · Faqat taqqoslash uchun taxmin — / 1K token Kirish · Keshga yozish, 1 soat · Faqat taqqoslash uchun taxmin — / 1K token |
| SozlamaYaratishning taxminiy qiymati | Tariflar jadvali— | Prognoz miqdoribir generatsiya uchun taxmin | To‘lov Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin $0.49152 yaratishdan oldingi taxmin Bu taxmin qo‘shimcha to‘lov ham, tugallangan generatsiya uchun qat’iy tarif ham emas. |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Rasmlar
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'google/gemini-3.1-flash-image-preview', 'prompt': 'a red panda astronaut floating in space, studio lighting'}
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
-H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin
def save_images(items):
if not items: raise SystemExit("No completed images; retain the full response")
for index, item in enumerate(items):
encoded=item.get("b64_json")
uri=item.get("url", "")
if not encoded and uri.startswith("data:image/"):
header, separator, encoded=uri.partition(",")
if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
if encoded:
raw=base64.b64decode(encoded,validate=True)
elif uri:
uri=urljoin("https://api.ailoot.ai",uri)
parsed=urlsplit(uri)
if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
raise SystemExit("Invalid returned image URL")
owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
args=["curl","--fail-with-body","--silent","--show-error",uri]
if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
temporary=Path(f"image-{index}.bin")
subprocess.run(args+["-o",str(temporary)],check=True)
raw=temporary.read_bytes()
temporary.unlink()
else: raise SystemExit("Image has neither bytes nor URL")
if not raw: raise SystemExit("Empty image result")
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"
Path(f"image-{index}.{ext}").write_bytes(raw)
print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
Natijalarni olish va saqlash
Ailoot Ultra · Rasmlar
Har bir qaytarilgan rasmni yuklab oling yoki uning Base64 kontentini saqlang
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Boshqa kontentni o‘qish
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/media/assets \
-H "Authorization: Bearer $AILOOT_API_KEY" -o owned-assets.json
# Preserve every returned asset and follow its exact signed content URL. Do not construct a signed token.
Barcha tayyor natijalarni saqlash
Har bir tayyor rasmni saqlang; har bir qaytarilgan URL dan kontentni oling yoki uning Base64 kontentini dekodlang.
To‘liq javob va sarlavhalarni, amalda qaytarilgan barcha natijalarni, dastlab qaytarilgan identifikatorlarni hamda barcha usage maydonlarini saqlang. Yaratish so‘rovini qayta yubormasdan dastlabki operatsiyani tiklang.
Asl javobni tekshirish kerak bo‘lsa
Qaytarilgan X-Client-Request-ID ni ma’lumotlarni solishtirib tekshirish uchun saqlang. Faqat amalda qaytarilgan task_id/asset_id qiymatlari bo‘yicha yoki o‘zingizga tegishli media kutubxonasidan ma’lumot o‘qing; operatsiya ID sidan vazifa URL manzilini hech qachon tuzmang va yaratish so‘rovini qayta yubormang.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydoncreated | Tur |
Maydondata[].url | Tur |
Maydondata[].b64_json | Tur |
Maydonusage | Tur |
Taxalluslar
Model taxalluslari
Ailoot Ultra google/gemini-3.1-flash-image-preview
Usul yo‘llari taxalluslari
/v1/images
Chaqirish uchun tegishli ID lar
Ailoot Ultra · Anthropic Messages POST /v1/messages google/gemini-3.1-flash-image-preview
google/gemini-3.1-flash-image-preview
google/gemini-3.1-flash-image-previewBoshlash
Nano Banana 2 (Gemini 3.1 Flash Image Preview) matn va vizual namunalar asosida tasvirlar yaratadi hamda tahrirlaydi. Uning hujjatlashtirilgan kuchli tomonlari obyekt izchilligi, tasvir ichidagi matn va lokalizatsiya, suhbat davomida o‘zgartirishlar hamda kompozitsiya, tomonlar nisbati va tasvir aniqligini ijodiy boshqarishni o‘z ichiga oladi.
- Qabul qilinadigan kirish ma’lumotlari
- Matn
- Natijalar
- json · sse
Ailoot da mavjud · kirish ma’lumotlari va usullar
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Kirish
text- Chiqish
json,sse- Chiqish formati
- JSON yoki SSE
| Maydon | Tur | Talab | Qiymatlar va cheklovlar | Standart |
|---|---|---|---|---|
Maydonmodel | Turstring | TalabMajburiy | Qiymatlar va cheklovlar google/gemini-3.1-flash-image-preview | Standart— |
Maydonmessages | Turmessage[] | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonmessages[].role | Turstring | TalabMajburiy | Qiymatlar va cheklovlar user, assistant | Standart— |
Maydonmessages[].content | Turstring | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonmax_tokens | Turinteger | TalabMajburiy | Qiymatlar va cheklovlar | Standart— |
Maydonstream | Turboolean | TalabIxtiyoriy | Qiymatlar va cheklovlar | Standartfalse |
Kirish materiallari birikmalari
Matn · UTF-8 matni
messages[].content satri
Usul parametrlari va hayot sikli
| Parametr | Parametr talablari |
|---|---|
Parametrcontent_type | Parametr talablariapplication/json |
Parametrrequired | Parametr talablarimodel, messages, max_tokens |
Parametroptional_controls | Parametr talablaristream |
Parametrmaterial_types | Parametr talablaritext |
Parametrtext_file_material | Parametr talablariHaqiqiy UTF-8 hujjatini o‘qing va uning matnini ko‘rsatilgan kirish yoki xabar kontenti satriga joylashtiring. |
Hayot sikli: synchronous_or_streamed
Tariflar
Tarif ma’lumotlari so‘rov imkoniyatlarini qo‘shmaydi. Qo‘llab-quvvatlanadigan parametrlar tanlangan usulda ko‘rsatilgan.
- Tezkor rejim
- Standart tarif Tezkor rejim tanlanganda
- Flex rejimi
- Standart tarif flex rejimi tanlanganda
- Maksimal fikrlash darajasi
- Standart tarif Maksimal fikrlash darajasi uchun standart (default) tuzatish qo‘llanganda
- Fikrlash darajasi · yuqori
- Standart tarif Fikrlash darajasi yuqori bo‘lganda
- Fikrlash darajasi · minimal
- Standart tarif Fikrlash darajasi minimal bo‘lganda
- Ochiq ko‘rsatilgan keshlash narxlari
- Yoqilmagan Ochiq ko‘rsatilgan keshlash so‘ralganda
Ailoot tariflari
Sozlamalar bo‘yicha narxlar
Har bir to‘lovni ko‘rsatilgan shartlarga moslang. Har bir muqobil sozlamalar to‘plami uchun bitta tarifdan foydalaning.
| Sozlama | Tariflar jadvali | Kontekst tokenlari soni bundan ko‘p | Kontekst tokenlari soni bundan oshmaydi, chegara kiradi | To‘lov |
|---|---|---|---|---|
| SozlamaTokenlar uchun bazaviy tariflar | Tariflar jadvaliAsosiy tarif | Kontekst tokenlari soni bundan ko‘p— | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.001 / 1K token Chiqish · Chiqish tokenlari $0.006 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token Chiqish · Chiqish rasmi tokenlari $0.12 / 1K rasm tokeni |
| SozlamaSo‘rov uzunligi bo‘yicha 1-daraja | Tariflar jadvali— | Kontekst tokenlari soni bundan ko‘p0 | Kontekst tokenlari soni bundan oshmaydi, chegara kiradiYuqori chegara yo‘q | To‘lov Kirish · Kirish tokenlari $0.001 / 1K token Chiqish · Chiqish tokenlari $0.006 / 1K token Kirish · Keshdan o‘qish — / 1K token Kirish · Keshga yozish — / 1K token Kirish · Keshga yozish, 1 soat — / 1K token |
Ailoot so‘rovdan oldin taxminiy summani band qiladi. Natijadan keyin o‘lchangan sarf asosidagi yakuniy to‘lovni yechadi. Oqimli javob bo‘yicha yakuniy hisob-kitob yakuniy sarf yozuviga asoslanadi. Summani band qilish va to‘lovni hisoblash tartibi →
So‘rov namunalari
Ailoot Ultra · Anthropic Messages
{
"model": "google/gemini-3.1-flash-image-preview",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemini-3.1-flash-image-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
-H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
--data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
import json, os
from pathlib import Path
source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
raise SystemExit('Choose a document containing text')
payload = {'model': 'google/gemini-3.1-flash-image-preview', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError
api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
with urlopen(request, timeout=120) as response:
raw = response.read()
Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
Path('result.json').write_bytes(error.read())
Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path
result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
Natijalarni olish va saqlash
Ailoot Ultra · Anthropic Messages
JSON yoki SSE
Barcha tayyor natijalarni saqlash
Qaytarilgan har bir to‘liq javob, fayl va kontent qismini saqlang.
Barcha kontent bloklari, fikrlash imzolari va haqiqiy vosita ishlatish IDlarini saqlang. SSE bloklarining barcha o‘zgarish qismlarini yig‘ing; birinchi matn bloki to‘liq chiqish emas.
Asl javobni tekshirish kerak bo‘lsa
So‘rov va javob IDlari hamda sarlavhalarini saqlang. Matn vazifasini olish uchun umumiy URL taqdim etilmagan.
Javob maydonlari
| Maydon | Tur |
|---|---|
Maydonid | Turstring |
Maydonmodel | Turstring |
Maydoncontent[] | Turtext|thinking|tool_use|other content block |
Maydonstop_reason | Turstring|null |
Maydonusage | Turobject |
Xatolar va keyingi qadamlar
| Javob | Shart | Keyingi qadam |
|---|---|---|
Javob400 · invalid_request_error | ShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘ri | Keyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating. |
Taxalluslar
Model taxalluslari
Ailoot Ultra google/gemini-3.1-flash-image-preview
Usul yo‘llari taxalluslari
/v1/images
Chaqirish uchun tegishli ID lar
FAQ · Google: Nano Banana 2 (Gemini 3.1 Flash Image Preview)
- Qanday kirish ma’lumotlari va natijalar mavjud?
POST /v1/chat/completions·google/gemini-3.1-flash-image-preview:text→textPOST /v1/images/generations·google/gemini-3.1-flash-image-preview:text,image→imagePOST /v1/messages·google/gemini-3.1-flash-image-preview:text→json,sse- So‘rov qaysi maydonlardan foydalanadi?
POST /v1/chat/completions·google/gemini-3.1-flash-image-preview:model,messages,stream,modalities,providerPOST /v1/images/generations·google/gemini-3.1-flash-image-preview:model,prompt,resolution,aspect_ratio,n,input_references,providerPOST /v1/messages·google/gemini-3.1-flash-image-preview:model,messages,max_tokens,stream- Qanday cheklovlar amal qiladi?
POST /v1/chat/completions·google/gemini-3.1-flash-image-preview:messages.min_items:1POST /v1/images/generations·google/gemini-3.1-flash-image-preview:n.minimum:1;n.maximum:1