modellar

OpenAI: GPT Image 2

Markdown · JSON

OpenAI: GPT Image 2

GPT Image 2 matn va vizual namunalar asosida tasvirlar yaratadi va tahrirlaydi. U moslashuvchan kadr o‘lchamlarini qo‘llab, tasvir kirishlarini avtomatik ravishda yuqori aniqlikda qayta ishlaydi; tayyor resurs uchun sifat, format va fon alohida boshqariladi.

Model haqida

Bu tavsif model imkoniyatlarini yoritadi. Ailoot da tanlangan usul uchun mavjud kirish, chiqish va parametrlar quyida keltirilgan.

GPT Image 2 — OpenAI’ning matn va vizual kirishlar asosida tasvir yaratish va tahrirlash modeli. U yozma topshiriqdan yangi tasvir yaratadi va tahrir yoki namuna asosidagi ishda manba tasvirlardan foydalanadi. Amaliy vazifalarga illyustratsiyalar, mahsulot konsepsiyalari, vizual kompozitsiyalar va mavjud resursni o‘zgartirish kiradi. U GPT Image 2.5 Sunburst va Flare modellaridan alohida nashr bo‘lib, o‘z sifat diapazoni va kirishni saqlash xatti-harakatiga ega.

Yaratishda obyekt, sahna, kompozitsiya, yorug‘lik va kerakli uslubni tasvirlang. Tahrirda nima o‘zgarishi va nima tashqi ko‘rinishini saqlashini ayting. Mahsulot topshirig‘i och rangli yuzadagi sopol chiroqni markazdagi siluet va izoh uchun joy bilan so‘rashi mumkin; keyingi tahrir chiroq shakli va ko‘rish burchagini saqlab, fonni o‘zgartiradi. Hujjatlashtirilgan bevosita yaratish va tahrirlash jarayonlari 32,000 belgigacha prompt qabul qilib, birdan o‘ntagacha tasvir qaytara oladi.

Namuna asosidagi tahrir o‘n oltitagacha kirish tasvirini qabul qiladi. Obyekt, fon va vizual ishlov aralashib ketmasligi uchun har bir namunaning maqsadini belgilang. GPT Image 2 har bir tasvir kirishini avtomatik yuqori aniqlikda qayta ishlaydi; input_fidelity bu nashrda sozlanmagani uchun uni yubormaslik kerak. Bu GPT Image 1’dagi high yoki low tanlovi va GPT Image 1 Mini’dagi faqat low kirish aniqligi rejimidan farq qiladi. Yuqori aniqlikdagi kirish ishlovi manba detallarini saqlashga yordam beradi, ammo har bir detal o‘zgarishsiz qaytarilishini kafolatlamaydi.

Niqob tahrirlanadigan hududni belgilashi mumkin. Qo‘llanmadagi tayyorlash talablariga ko‘ra manba tasvir va niqob bir xil format va o‘lchamda hamda 50 MB dan kichik bo‘lishi kerak; niqobda alfa kanal ham bo‘lishi zarur. Bir nechta kirish tasviri berilsa, niqob birinchisiga qo‘llanadi. Model niqobni qat’iy geometrik chegara emas, promptga asoslangan yo‘riq sifatida oladi. Mahalliy o‘zgarish va saqlash talablarini tasvirlab, keyin atrofdagi hududda kutilmagan farqlar bor-yo‘qligini tekshiring.

GPT Image 2 low, medium, high va auto sifatini qo‘llaydi; standart qiymat — auto. 2.5 oilasidagi xhigh va max sozlamalari bu nashr sifat diapazoniga kirmaydi. O‘lcham kvadrat, albom, portret, avtomatik yoki yaroqli maxsus kenglik va balandlik bo‘lishi mumkin. Ishlab chiqaruvchi misollarida 1024 × 1024, 1536 × 1024, 1024 × 1536, 2048 × 2048, 2048 × 1152, 3840 × 2160 va 2160 × 3840 piksel berilgan. Sifat va o‘lchamlarni bitta boshqaruv deb qabul qilmay, yo‘nalish va detal darajasini haqiqiy maketga mos tanlang.

Maxsus o‘lchamlar o‘n olti pikselga karrali bo‘lishi, eng katta tomon 3840 pikseldan oshmasligi, uzun va qisqa tomon nisbati 3:1 dan katta bo‘lmasligi, maydon esa 655,360 dan 8,294,400 pikselgacha bo‘lishi kerak. Bu shartlar bir vaqtda amal qiladi. 2560 × 1440 dan yuqori aniqliklar tajribaviy deb belgilangan. Bir qoidaga mos kadr boshqa qoidaga mos kelmasligi mumkin, shu sababli qo‘llanadigan o‘lcham juftligini tanlang va qirqilganda yo‘qolmasligi kerak bo‘lgan elementlarni topshiriqda tasvirlang.

Chiqish standart holda PNG; JPEG va WebP ham mavjud. JPEG va WebP uchun 0 dan 100 gacha siqish qo‘llanadi. Fon shaffof bo‘lmagan yoki avtomatik bo‘lishi mumkin; aynan joriy ma’lumotnoma GPT Image 2 shaffofligini dastlabki sinov imkoniyati sifatida tavsiflaydi. Shaffoflik so‘ralganda alfa kanal saqlanishi uchun PNG yoki WebP ishlating. Hujjatlashtirilgan oqimli jarayon tayyor tasvirdan oldin uchtagacha qisman tasvirga ruxsat beradi; jarayon ko‘rinishini emas, yakuniy resursni saqlang. Ishlab chiqaruvchi interfeysi paketlab qayta ishlashni ham qo‘llaydi.

Haqiqiy natijada matn ravshanligi, obyektlar joylashuvi va manba detallarining saqlanishini baholang. GPT Image aniq yozuv, maketga sezgir kompozitsiyalar va alohida generatsiyalar orasida takroriy vizual aynanlik bilan qiynalishi mumkin. Ketma-ket tahrirlarda tanlangan natijani keyingi manba qiling va ko‘rinadigan muammoga bog‘langan aniq o‘zgarishni bering. GPT Image 2’ning foydali chiqishi aniq yaratish yoki tahrir topshirig‘iga bog‘langan tasvir bo‘lib, yuqori aniqlikdagi kirishlari, o‘lchamlari va sifati shu vazifaga mos tanlanadi.

Ailoot · Rasmlar POST /v1/images/generations gpt-image-2

gpt-image-2

OpenAI /gpt-image-2

Boshlash

GPT Image 2 matn va vizual namunalar asosida tasvirlar yaratadi va tahrirlaydi. U moslashuvchan kadr o‘lchamlarini qo‘llab, tasvir kirishlarini avtomatik ravishda yuqori aniqlikda qayta ishlaydi; tayyor resurs uchun sifat, format va fon alohida boshqariladi.

Qabul qilinadigan kirish ma’lumotlari
Matn
Natijalar
Rasmlar

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot · Rasmlar POST /v1/images/generations
Kirish
text
Chiqish
image
Chiqish formati
Rasm fayli
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
gpt-image-2
Standart—
MaydonpromptTurstringTalabMajburiyQiymatlar va cheklovlar
Eng kam uzunlik: 1
Standart—
MaydonnTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Standart1
Maydonresponse_formatTurstringTalabIxtiyoriyQiymatlar va cheklovlar
url, b64_json
Standart—
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlarStandartfalse
MaydonsizeTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonqualityTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonbackgroundTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonoutput_formatTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonoutput_compressionTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonmoderationTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydoninput_fidelityTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
MaydonstyleTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Maydonpartial_imagesTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Modelga bogʻliq
Standart—
Kirish materiallari birikmalari

Matndan rasm · Majburiy: prompt

Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrmaterial_typesParametr talablaritext
ParametrrequiredParametr talablarimodel, prompt
Parametroptional_controlsParametr talablarinull
Parametrcontent_typeParametr talablariapplication/json

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}

Metod tuzilishlari va IDlari aniq; yetkazib beruvchining imkoniyati so‘rovni qabul qilishga ruxsatdan alohida.

Tariflar

Ailoot usullari tariflari

Ailoot RasmlarPOST /v1/images/generations
Matnli kirish
0,0025 US$ / 1K
Kirish, rasm
0,004 US$ / 1K tokens
Chiqish, rasm
0,015 US$ / 1K tokens

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 · Rasmlar

curlPython SDKNode.js SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-image-2", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
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
from openai import OpenAI
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")

f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'gpt-image-2', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "gpt-image-2", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");

Natijalarni olish va saqlash

Ailoot · Rasmlar

Har bir qaytarilgan rasmni yuklab oling yoki uning Base64 kontentini saqlang

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Barcha tayyor natijalarni saqlash

Har bir tayyor rasmni saqlang; har bir qaytarilgan URL dan kontentni oling yoki uning Base64 kontentini dekodlang.

Har bir ma’lumot elementini saqlang. Har bir b64_json ni dekodlang yoki qaytarilgan har bir imzolangan URL dan faylni yuklab oling. Fayl nomi kengaytmasini haqiqiy MIME turi/baytlar asosida tanlang.

Asl javobni tekshirish kerak bo‘lsa

Rasm yaratish yoki tahrirlash natijasini tekshirish kerak bo‘lsa, dastlabki operation_id/X-Client-Request-ID va qaytarilgan natija haqidagi ma’lumotlarni saqlang. Amalda qaytarilgan task_id yoki asset_id qiymatlari yordamida media kutubxonasidan o‘zingizga tegishli mavjud natijalarni tiklang. Rasm yaratish/tahrirlash so‘rovini qayta yubormang va operation_id dan holatni davriy tekshirish uchun URL tuzmang.

Javob maydonlari
MaydonTur
MaydoncreatedTurinteger
Maydondata[].urlTurstring
Maydondata[].b64_jsonTurbase64 string
MaydonusageTurobject
Xatolar va keyingi qadamlar
JavobShartKeyingi qadam
Javob400 · invalid_request_errorShartMajburiy maydonlar, material ifodasi yoki parametr qiymati noto‘g‘riKeyingi qadamYangi yaratish so‘rovidan oldin ko‘rsatilgan maydonlarni tuzating.
Javobserver_errorShartQaytarilgan javob operatsiya yoki natijani tekshirish kerakligini bildiradiKeyingi qadamDastlab qaytarilgan operatsiya/vazifa ID sini, so‘rov sarlavhalarini va javobni saqlang; aynan shu operatsiya uchun qo‘llab-quvvatlanadigan o‘qish so‘rovlarini davom ettiring. Yaratish so‘rovini qayta yubormang.

Taxalluslar

Model taxalluslari

Ailoot gpt-image-2
Ailoot Ultra gpt-image-2, openai/gpt-image-2

Usul yo‘llari taxalluslari

/v1/images

Chaqirish uchun tegishli ID lar

openai/gpt-image-2, gpt-image-2, gpt-image-2

Ailoot Ultra · Rasmlar POST /v1/images/generations gpt-image-2

gpt-image-2

OpenAI /gpt-image-2
Model ID
  • gpt-image-2
  • openai/gpt-image-2

Boshlash

GPT Image 2 matn va vizual namunalar asosida tasvirlar yaratadi va tahrirlaydi. U moslashuvchan kadr o‘lchamlarini qo‘llab, tasvir kirishlarini avtomatik ravishda yuqori aniqlikda qayta ishlaydi; tayyor resurs uchun sifat, format va fon alohida boshqariladi.

Qabul qilinadigan kirish ma’lumotlari
Matn
Natijalar
Rasmlar

Ailoot da mavjud · kirish ma’lumotlari va usullar

Ailoot Ultra · Rasmlar POST /v1/images/generations
Kirish
text
Chiqish
image
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
gpt-image-2
Standart—
MaydonpromptTurstringTalabMajburiyQiymatlar va cheklovlar
Eng ko‘p uzunlik: 32 000
Standart—
MaydonsizeTurstringTalabIxtiyoriyQiymatlar va cheklovlar
Shartlar: auto yoki WIDTHxHEIGHT dan foydalaning; har ikkala o‘lcham 16 ga bo‘linishi kerak. Eng uzun tomon ko‘pi bilan 3,840 piksel, umumiy o‘lcham esa ko‘pi bilan 8,300,000 piksel bo‘ladi.
Standartauto
MaydonbackgroundTurstringTalabIxtiyoriyQiymatlar va cheklovlar
transparent, opaque, auto
Standartauto
MaydonmoderationTurstringTalabIxtiyoriyQiymatlar va cheklovlar
low, auto
Shartlar: Standart mazmun moderatsiyasi uchun auto dan foydalaning.
Standart—
MaydonnTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Eng ko‘p: 10
Standart1
MaydonqualityTurstringTalabIxtiyoriyQiymatlar va cheklovlar
auto, high, medium, low
Standartauto
Maydonoutput_compressionTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 0
Eng ko‘p: 100
Shartlar: JPEG va WebP chiqishiga qo‘llanadi; hujjatdagi butun son qiymatini yuboring.
Standart100
Maydonoutput_formatTurstringTalabIxtiyoriyQiymatlar va cheklovlar
webp, png, jpeg
Standartpng
MaydonstreamTurbooleanTalabIxtiyoriyQiymatlar va cheklovlar
false
Shartlar: Bu yo‘nalish bitta yakunlangan JSON javobini qaytaradi.
Standartfalse
Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablariprompt, model
Parametrmaterial_typesParametr talablaritext
ParametroptionalParametr talablarisize, background, moderation, n, quality, output_compression, output_format, stream
ParametrconditionsParametr talablariShaffof fon uchun PNG yoki WebP kerak., Chiqishni siqish JPEG yoki WebP ga qo‘llanadi., Tanlangan usul matndan yaratadi. Ishlab chiqaruvchi uchun tavsiflangan tahrirlash va oqim boshqaruvlari alohida imkoniyatlardir.

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.

SozlamaTariflar jadvaliPrognoz miqdoriTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifPrognoz 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 qiymatiTariflar jadvali—Prognoz miqdoribir generatsiya uchun taxminTo‘lov
Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin $0.24576 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

curl
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={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

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}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Boshqa kontentni o‘qish
O‘zingizga tegishli mavjud materiallarni 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
MaydonTur
MaydoncreatedTur
Maydondata[].urlTur
Maydondata[].b64_jsonTur
MaydonusageTur

Taxalluslar

Model taxalluslari

Ailoot gpt-image-2
Ailoot Ultra gpt-image-2, openai/gpt-image-2

Usul yo‘llari taxalluslari

/v1/images

Chaqirish uchun tegishli ID lar

openai/gpt-image-2, gpt-image-2, gpt-image-2

Ailoot Ultra · Rasmlar POST /v1/images/generations openai/gpt-image-2

openai/gpt-image-2

OpenAI /openai/gpt-image-2
Model ID
  • gpt-image-2
  • openai/gpt-image-2

Boshlash

GPT Image 2 matn va vizual namunalar asosida tasvirlar yaratadi va tahrirlaydi. U moslashuvchan kadr o‘lchamlarini qo‘llab, tasvir kirishlarini avtomatik ravishda yuqori aniqlikda qayta ishlaydi; tayyor resurs uchun sifat, format va fon alohida boshqariladi.

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
MaydonTurTalabQiymatlar va cheklovlarStandart
MaydonmodelTurstringTalabMajburiyQiymatlar va cheklovlar
openai/gpt-image-2
Standart—
MaydonpromptTurstringTalabMajburiyQiymatlar va cheklovlar
Eng kam uzunlik: 1
Standart—
Maydonaspect_ratioTurstringTalabIxtiyoriyQiymatlar va cheklovlar
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
Standart—
MaydonqualityTurstringTalabIxtiyoriyQiymatlar va cheklovlar
auto, low, medium, high
Standart—
MaydonbackgroundTurstringTalabIxtiyoriyQiymatlar va cheklovlar
auto, opaque
Standart—
MaydonnTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 1
Eng ko‘p: 10
Standart—
Maydoninput_referencesTurarrayTalabIxtiyoriyQiymatlar va cheklovlar
Elementlarning eng kam soni: 0
Elementlarning eng ko‘p soni: 16
Standart—
Maydonoutput_compressionTurintegerTalabIxtiyoriyQiymatlar va cheklovlar
Eng kam: 0
Eng ko‘p: 100
Standart—
MaydonproviderTurobjectTalabIxtiyoriyQiymatlar va cheklovlarStandart—
Usul parametrlari va hayot sikli
ParametrParametr talablari
Parametrcontent_typeParametr talablariapplication/json
ParametrrequiredParametr talablarimodel, prompt
Parametrmaterial_typesParametr 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.

SozlamaTariflar jadvaliPrognoz miqdoriTo‘lov
SozlamaTokenlar uchun bazaviy tariflarTariflar jadvaliAsosiy tarifPrognoz 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 qiymatiTariflar jadvali—Prognoz miqdoribir generatsiya uchun taxminTo‘lov
Chiqish · Yaratishning taxminiy narxi · Faqat taqqoslash uchun taxmin $0.24576 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

curl
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': 'openai/gpt-image-2', '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}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Boshqa kontentni o‘qish
O‘zingizga tegishli mavjud materiallarni 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
MaydonTur
MaydoncreatedTur
Maydondata[].urlTur
Maydondata[].b64_jsonTur
MaydonusageTur

Taxalluslar

Model taxalluslari

Ailoot gpt-image-2
Ailoot Ultra gpt-image-2, openai/gpt-image-2

Usul yo‘llari taxalluslari

/v1/images

Chaqirish uchun tegishli ID lar

openai/gpt-image-2, gpt-image-2, gpt-image-2

FAQ · OpenAI: GPT Image 2
Qanday kirish ma’lumotlari va natijalar mavjud?

POST /v1/images/generations · gpt-image-2: text → image

POST /v1/images/generations · gpt-image-2: text → image

POST /v1/images/generations · openai/gpt-image-2: text, image → image

So‘rov qaysi maydonlardan foydalanadi?

POST /v1/images/generations · gpt-image-2: model, prompt, n, response_format, stream

POST /v1/images/generations · gpt-image-2: model, prompt, size, background, moderation, n, quality, output_compression, output_format, stream

POST /v1/images/generations · openai/gpt-image-2: model, prompt, aspect_ratio, quality, background, n, input_references, output_compression, provider

Qanday cheklovlar amal qiladi?

POST /v1/images/generations · gpt-image-2: n.minimum: 1

POST /v1/images/generations · gpt-image-2: prompt.maximum_length: 32000; n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

POST /v1/images/generations · openai/gpt-image-2: n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

Batafsil

Ailoot’ni Claude Code, OpenCode, Hermes yoki ilovangizga ulang.

Kompaniya va uning loyihalar portfeli

Kompaniya va uning loyihalar portfeli: millionlab mijozlar; oylik sotuvlar hajmi milliardlarda.

Tokenlarni chegirma bilan xarid qiling.

Muntazam ish uchun obuna chegirmasi. Token xaridiga promokodlar — 50% gacha.

Obuna
Muntazam so‘rovlaringiz uchun chegirmali tarif tanlang.
50% gacha promokod
Xaridda kod kiriting. Narx amaldagi aksiya bilan qayta hisoblanadi.
Tarixdagi xarajatlar
Har so‘rov uchun model, token va summa saqlanadi.

Obuna tanlash · Model narxlarini ko‘rish

API’ni sotadigan mahsulotingizga ulang.

SaaS, ilova va botlar Ailoot ofertasi hamda litsenziya shartnomasiga muvofiq. Qayta sotishga reseller litsenziyasi so‘rang.

Tijorat ilovasi
Xizmatingizning pullik funksiyalariga matn, rasm, video va ovoz yaratishni qo‘shing.
Reseller litsenziyasi
Loyiha tavsifi va kirish sxemasini yuboring. Foydalanish va qayta sotishga yozma shartlarni so‘rang.
Saytdagi hujjatlar
Oferta, litsenziya shartnomasi va ma’lumotlar siyosati ulashdan oldin ochiq.

Reseller litsenziyasini so‘rash · Oferta va litsenziya shartnomasi