modely

OpenAI: GPT Image 2

Markdown · JSON

OpenAI: GPT Image 2

GPT Image 2 vytvára a upravuje obrázky z textu a vizuálnych referencií. Podporuje flexibilné rozmery rámca a automaticky spracúva obrazové vstupy s vysokou vernosťou, pričom hotový podklad má samostatné ovládanie kvality, formátu a pozadia.

O modeli

Tento opis pokrýva možnosti modelu. Dostupné vstupy, výstupy a voľby v Ailoot sú uvedené nižšie pre vybranú metódu.

GPT Image 2 je model spoločnosti OpenAI na tvorbu a úpravu obrázkov z textových a vizuálnych vstupov. Vytvára nový obrázok z písomného zadania a môže použiť zdrojové obrázky na úpravy alebo prácu vedenú referenciami. Praktické úlohy zahŕňajú ilustrácie, produktové koncepty, vizuálne kompozície a zmeny existujúceho podkladu. Je to samostatná edícia odlišná od modelov GPT Image 2.5 Sunburst a Flare s vlastným rozsahom kvality a správaním vernosti vstupu.

Pri generovaní opíšte objekt, scénu, kompozíciu, svetlo a zamýšľaný štýl. Pri úprave pomenujte, čo sa má zmeniť a čo má zachovať svoj vzhľad. Produktové zadanie môže žiadať keramickú lampu na svetlom povrchu s vycentrovanou siluetou a miestom na popis; nadväzujúca úprava môže zmeniť pozadie a zachovať tvar lampy aj uhol pohľadu. Dokumentované priame postupy generovania a úpravy prijímajú zadania s najviac 32 000 znakmi a môžu vrátiť jeden až desať obrázkov.

Úprava podľa referencií prijíma až šestnásť vstupných obrázkov. Určte účel každej referencie, aby sa nezamieňal objekt, pozadie a vizuálne spracovanie. GPT Image 2 automaticky spracúva každý obrazový vstup s vysokou vernosťou; input_fidelity treba vynechať, pretože sa v tejto edícii nedá nastaviť. Tým sa líši od voľby high alebo low v GPT Image 1 a od režimu vernosti vstupu obmedzeného na low v GPT Image 1 Mini. Spracovanie vstupu s vysokou vernosťou podporuje zdrojové detaily bez záruky, že sa každý detail reprodukuje bez zmeny.

Maska môže označiť oblasť na úpravu. Zdrojový obrázok a maska musia mať rovnaký formát a rozmery a podľa požiadaviek prípravy v príručke menej než 50 MB; maska potrebuje aj alfa kanál. Ak dodáte viac vstupných obrázkov, maskovanie sa vzťahuje na prvý. Model zaobchádza s maskou ako s usmernením založeným na zadaní, nie ako s prísnou geometrickou hranicou. Opíšte miestnu zmenu a požiadavky na zachovanie prvkov a potom skontrolujte okolie, či v ňom nevznikli nechcené rozdiely.

GPT Image 2 podporuje kvalitu low, medium, high a auto, pričom auto je predvolené. Nastavenia xhigh a max z rodiny 2.5 nepatria do rozsahu kvality tejto edície. Veľkosť môže byť štvorcová, na šírku, na výšku, automatická alebo platná vlastná šírka a výška. Príklady výrobcu zahŕňajú 1 024 × 1 024, 1 536 × 1 024, 1 024 × 1 536, 2 048 × 2 048, 2 048 × 1 152, 3 840 × 2 160 a 2 160 × 3 840 pixelov. Orientáciu a úroveň detailov vyberajte pre skutočné rozloženie a nepovažujte kvalitu a rozmery za rovnaký ovládací prvok.

Vlastné rozmery musia byť násobkami šestnástich pixelov s maximálnou hranou 3 840 pixelov, pomerom dlhšej ku kratšej hrane najviac 3:1 a plochou od 655 360 do 8 294 400 pixelov. Tieto podmienky platia súčasne. Rozlíšenia nad 2 560 × 1 440 sú označené ako experimentálne. Rámec, ktorý spĺňa jedno pravidlo, môže porušiť iné, preto vyberte podporovanú dvojicu rozmerov a v zadaní opíšte prvky citlivé na orez.

Výstup je predvolene PNG; dostupné sú aj JPEG alebo WebP. Pre JPEG a WebP je podporovaná kompresia od 0 do 100. Pozadie môže byť nepriehľadné alebo automatické; konkrétna aktuálna referenčná dokumentácia opisuje priehľadnosť v GPT Image 2 ako schopnosť v režime preview. Pri požiadavke na priehľadnosť použite PNG alebo WebP, aby bolo možné zachovať alfa kanál. Dokumentovaný postup streamovania povoľuje až tri čiastočné obrázky pred hotovým obrázkom; uložte konečný podklad, nie priebežný náhľad. Rozhranie výrobcu podporuje aj dávkové spracovanie.

V skutočnom výsledku vyhodnoťte jasnosť textu, polohu predmetov a zachovanie zdrojových detailov. GPT Image môže mať ťažkosti s presnými nápismi, kompozíciami citlivými na rozloženie a opakujúcou sa vizuálnou identitou naprieč samostatnými generovaniami. Pri sérii úprav použite vybraný výsledok ako ďalší zdroj a dajte konkrétnu zmenu viazanú na viditeľný problém. Užitočným výstupom GPT Image 2 je obrázok prepojený s jasným zadaním na generovanie alebo úpravu, ktorého vstupy s vysokou vernosťou, rozmery a kvalita sú zvolené pre danú úlohu.

Ailoot · Obrázky POST /v1/images/generations gpt-image-2

gpt-image-2

OpenAI /gpt-image-2

Úvod

GPT Image 2 vytvára a upravuje obrázky z textu a vizuálnych referencií. Podporuje flexibilné rozmery rámca a automaticky spracúva obrazové vstupy s vysokou vernosťou, pričom hotový podklad má samostatné ovládanie kvality, formátu a pozadia.

Povolené vstupy
Text
Výsledky
Obrázky

Dostupné v Ailoot · vstupy a metódy

Ailoot · Obrázky POST /v1/images/generations
Vstup
text
Výstup
image
Výstupný formát
Súbor obrázka
PoleTypPožiadavkaHodnoty a limityPredvolené
PolemodelTypstringPožiadavkaPovinnéHodnoty a limity
gpt-image-2
Predvolené—
PolepromptTypstringPožiadavkaPovinnéHodnoty a limity
Minimálna dĺžka: 1
Predvolené—
PolenTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 1
Predvolené1
Poleresponse_formatTypstringPožiadavkaVoliteľnéHodnoty a limity
url, b64_json
Predvolené—
PolestreamTypbooleanPožiadavkaVoliteľnéHodnoty a limityPredvolenéfalse
PolesizeTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolequalityTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolebackgroundTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleoutput_formatTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleoutput_compressionTypintegerPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolemoderationTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Poleinput_fidelityTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
PolestyleTypstringPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Polepartial_imagesTypintegerPožiadavkaVoliteľnéHodnoty a limity
Závisí od modelu
Predvolené—
Kombinácie vstupných podkladov

Z textu na obrázok · Povinné: prompt

Parametre a životný cyklus metódy
ParameterŠpecifikácia
Parametermaterial_typesŠpecifikáciatext
ParameterrequiredŠpecifikáciamodel, prompt
Parameteroptional_controlsŠpecifikácianull
Parametercontent_typeŠpecifikáciaapplication/json

Životný cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutočne vrátené task_id alebo záznam v knižnici médií

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Štruktúry metód a ID sú presné; možnosti dodávateľa sa posudzujú oddelene od prijatia požiadavky.

Cenník

Sadzby metód Ailoot

Ailoot ObrázkyPOST /v1/images/generations
Textový vstup
0,0025 USD / 1K
Vstup, obrázok
0,004 USD / 1K tokens
Výstup, obrázok
0,015 USD / 1K tokens

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →

Príklady požiadaviek

Ailoot · Obrázky

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");

Prijať a uložiť výsledky

Ailoot · Obrázky

Stiahnite každý vrátený obrázok alebo uložte jeho obsah Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Uchovať všetky dokončené výsledky

Uložte každý dokončený obrázok; stiahnite obsah z každej vrátenej URL alebo dekódujte jeho obsah Base64.

Uložte každú dátovú položku. Dekódujte každé b64_json alebo stiahnite obsah z každej vrátenej podpísanej URL. Príponu názvu súboru vyberte podľa skutočného typu MIME/bajtov.

Ak treba overiť pôvodnú odpoveď

Ak je potrebné skontrolovať výsledok generovania alebo úpravy obrázka, uchovajte pôvodné operation_id/X-Client-Request-ID a vrátené informácie o výsledku. Existujúce vlastné výsledky obnovte cez knižnicu médií pomocou skutočných hodnôt task_id alebo asset_id. Požiadavku na generovanie/úpravu znova neodosielajte ani nevytvárajte URL na priebežné zisťovanie stavu z operation_id.

Polia odpovede
PoleTyp
PolecreatedTypinteger
Poledata[].urlTypstring
Poledata[].b64_jsonTypbase64 string
PoleusageTypobject
Chyby a ďalšie kroky
OdpoveďPodmienkaĎalší krok
Odpoveď400 · invalid_request_errorPodmienkaNeplatné povinné polia, reprezentácia materiálu alebo hodnota parametraĎalší krokPred novou požiadavkou na vytvorenie opravte uvedené polia.
Odpoveďserver_errorPodmienkaVrátená odpoveď uvádza, že operáciu alebo výsledok je potrebné skontrolovaťĎalší krokUchovajte pôvodné vrátené ID operácie/úlohy, hlavičky požiadavky a odpoveď; naďalej čítajte údaje o tejto pôvodnej operácii podporovaným spôsobom. Požiadavku na vytvorenie znova neodosielajte.

Aliasy

Aliasy modelov

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

Aliasy ciest metód

/v1/images

Súvisiace ID na volanie

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

Ailoot Ultra · Obrázky POST /v1/images/generations gpt-image-2

gpt-image-2

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

Úvod

GPT Image 2 vytvára a upravuje obrázky z textu a vizuálnych referencií. Podporuje flexibilné rozmery rámca a automaticky spracúva obrazové vstupy s vysokou vernosťou, pričom hotový podklad má samostatné ovládanie kvality, formátu a pozadia.

Povolené vstupy
Text
Výsledky
Obrázky

Dostupné v Ailoot · vstupy a metódy

Ailoot Ultra · Obrázky POST /v1/images/generations
Vstup
text
Výstup
image
PoleTypPožiadavkaHodnoty a limityPredvolené
PolemodelTypstringPožiadavkaPovinnéHodnoty a limity
gpt-image-2
Predvolené—
PolepromptTypstringPožiadavkaPovinnéHodnoty a limity
Maximálna dĺžka: 32 000
Predvolené—
PolesizeTypstringPožiadavkaVoliteľnéHodnoty a limity
Podmienky: Použite auto alebo WIDTHxHEIGHT, pričom oba rozmery musia byť deliteľné 16. Najdlhšia strana má najviac 3,840 pixelov a celková veľkosť najviac 8,300,000 pixelov.
Predvolenéauto
PolebackgroundTypstringPožiadavkaVoliteľnéHodnoty a limity
transparent, opaque, auto
Predvolenéauto
PolemoderationTypstringPožiadavkaVoliteľnéHodnoty a limity
low, auto
Podmienky: Na štandardnú moderáciu obsahu použite auto.
Predvolené—
PolenTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 1
Maximum: 10
Predvolené1
PolequalityTypstringPožiadavkaVoliteľnéHodnoty a limity
auto, high, medium, low
Predvolenéauto
Poleoutput_compressionTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 0
Maximum: 100
Podmienky: Platí pre výstup JPEG a WebP; odošlite zdokumentovanú celočíselnú hodnotu.
Predvolené100
Poleoutput_formatTypstringPožiadavkaVoliteľnéHodnoty a limity
webp, png, jpeg
Predvolenépng
PolestreamTypbooleanPožiadavkaVoliteľnéHodnoty a limity
false
Podmienky: Táto trasa vracia jednu úplnú odpoveď JSON.
Predvolenéfalse
Parametre a životný cyklus metódy
ParameterŠpecifikácia
Parametercontent_typeŠpecifikáciaapplication/json
ParameterrequiredŠpecifikáciaprompt, model
Parametermaterial_typesŠpecifikáciatext
ParameteroptionalŠpecifikáciasize, background, moderation, n, quality, output_compression, output_format, stream
ParameterconditionsŠpecifikáciaPriehľadné pozadie vyžaduje PNG alebo WebP., Kompresia výstupu platí pre JPEG alebo WebP., Vybraná metóda generuje z textu. Úpravy a streamovanie opísané pre výrobcu sú samostatné funkcie.

Životný cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutočne vrátené task_id alebo záznam v knižnici médií

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Cenník

Ako sa vypočíta konečný poplatok

Zobrazené sadzby slúžia na odhad nákladov pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Namerané trvanie výstupu a predpokladané množstvá nepredstavujú konečné účtované množstvo.

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim
Neuvedené Keď je zvolený rýchly režim
Režim Flex
Neuvedené Keď je zvolený režim flex
Maximálna úroveň uvažovania
Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

Odhadované sadzby na porovnanie

Ceny podľa konfigurácie

Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.

KonfiguráciaSadzobníkOdhadované množstvoPoplatok
KonfiguráciaZákladné sadzby za tokenySadzobníkZákladná sadzbaOdhadované množstvo—Poplatok
Vstup · Vstupné tokeny · Odhad iba na porovnanie — / 1K tokenov
Výstup · Výstupné tokeny · Odhad iba na porovnanie — / 1K tokenov
Vstup · Čítanie cache · Odhad iba na porovnanie — / 1K tokenov
Vstup · Zápis do cache · Odhad iba na porovnanie — / 1K tokenov
Vstup · Zápis do cache, 1 hod · Odhad iba na porovnanie — / 1K tokenov
KonfiguráciaOdhadované náklady na generovanieSadzobník—Odhadované množstvoodhad pre jedno generovaniePoplatok
Výstup · Odhadované náklady na generovanie · Odhad iba na porovnanie $0.24576 odhad pred generovaním

Tento odhad nepredstavuje dodatočný poplatok ani pevnú sadzbu za dokončené generovanie.

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →

Príklady požiadaviek

Ailoot Ultra · Obrázky

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

Prijať a uložiť výsledky

Ailoot Ultra · Obrázky

Stiahnite každý vrátený obrázok alebo uložte jeho obsah Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Čítanie ďalšieho obsahu
Čítať existujúce podklady, ktoré vám patria
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.
Uchovať všetky dokončené výsledky

Uložte každý dokončený obrázok; stiahnite obsah z každej vrátenej URL alebo dekódujte jeho obsah Base64.

Uchovajte úplnú odpoveď a hlavičky, všetky skutočné výstupy, pôvodné vrátené identifikátory a všetky polia s údajmi o spotrebe. Obnovte pôvodnú operáciu bez opätovného odoslania požiadavky na vytvorenie.

Ak treba overiť pôvodnú odpoveď

Uchovajte vrátené X-Client-Request-ID na zosúladenie záznamov. Čítajte iba skutočne vrátené hodnoty task_id/asset_id alebo vlastnú knižnicu médií; nikdy nevytvárajte URL úlohy z ID operácie a nikdy znova neodosielajte požiadavku na vytvorenie.

Polia odpovede
PoleTyp
PolecreatedTyp
Poledata[].urlTyp
Poledata[].b64_jsonTyp
PoleusageTyp

Aliasy

Aliasy modelov

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

Aliasy ciest metód

/v1/images

Súvisiace ID na volanie

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

Ailoot Ultra · Obrázky POST /v1/images/generations openai/gpt-image-2

openai/gpt-image-2

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

Úvod

GPT Image 2 vytvára a upravuje obrázky z textu a vizuálnych referencií. Podporuje flexibilné rozmery rámca a automaticky spracúva obrazové vstupy s vysokou vernosťou, pričom hotový podklad má samostatné ovládanie kvality, formátu a pozadia.

Povolené vstupy
Text · Obrázky
Výsledky
Obrázky

Dostupné v Ailoot · vstupy a metódy

Ailoot Ultra · Obrázky POST /v1/images/generations
Vstup
text, image
Výstup
image
PoleTypPožiadavkaHodnoty a limityPredvolené
PolemodelTypstringPožiadavkaPovinnéHodnoty a limity
openai/gpt-image-2
Predvolené—
PolepromptTypstringPožiadavkaPovinnéHodnoty a limity
Minimálna dĺžka: 1
Predvolené—
Poleaspect_ratioTypstringPožiadavkaVoliteľnéHodnoty a limity
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
Predvolené—
PolequalityTypstringPožiadavkaVoliteľnéHodnoty a limity
auto, low, medium, high
Predvolené—
PolebackgroundTypstringPožiadavkaVoliteľnéHodnoty a limity
auto, opaque
Predvolené—
PolenTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 1
Maximum: 10
Predvolené—
Poleinput_referencesTyparrayPožiadavkaVoliteľnéHodnoty a limity
Minimálny počet položiek: 0
Maximálny počet položiek: 16
Predvolené—
Poleoutput_compressionTypintegerPožiadavkaVoliteľnéHodnoty a limity
Minimum: 0
Maximum: 100
Predvolené—
PoleproviderTypobjectPožiadavkaVoliteľnéHodnoty a limityPredvolené—
Parametre a životný cyklus metódy
ParameterŠpecifikácia
Parametercontent_typeŠpecifikáciaapplication/json
ParameterrequiredŠpecifikáciamodel, prompt
Parametermaterial_typesŠpecifikáciatext, image

Životný cyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · skutočne vrátené task_id alebo záznam v knižnici médií

GET /v1/media/assets/{asset_id}/content

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Cenník

Ako sa vypočíta konečný poplatok

Zobrazené sadzby slúžia na odhad nákladov pred generovaním. Konečný poplatok sa vypočíta z nákladov zaznamenaných pri pôvodnom generovaní. Namerané trvanie výstupu a predpokladané množstvá nepredstavujú konečné účtované množstvo.

Tarifné údaje nepridávajú možnosti požiadavky. Podporované parametre sú uvedené pri vybranej metóde.

Rýchly režim
Neuvedené Keď je zvolený rýchly režim
Režim Flex
Neuvedené Keď je zvolený režim flex
Maximálna úroveň uvažovania
Neuvedené Keď sa pri maximálnej úrovni uvažovania používa predvolená úprava (default)

Odhadované sadzby na porovnanie

Ceny podľa konfigurácie

Každý poplatok priraďte k zobrazeným podmienkam. Pre každú skupinu alternatívnych konfigurácií použite jednu sadzbu.

KonfiguráciaSadzobníkOdhadované množstvoPoplatok
KonfiguráciaZákladné sadzby za tokenySadzobníkZákladná sadzbaOdhadované množstvo—Poplatok
Vstup · Vstupné tokeny · Odhad iba na porovnanie — / 1K tokenov
Výstup · Výstupné tokeny · Odhad iba na porovnanie — / 1K tokenov
Vstup · Čítanie cache · Odhad iba na porovnanie — / 1K tokenov
Vstup · Zápis do cache · Odhad iba na porovnanie — / 1K tokenov
Vstup · Zápis do cache, 1 hod · Odhad iba na porovnanie — / 1K tokenov
KonfiguráciaOdhadované náklady na generovanieSadzobník—Odhadované množstvoodhad pre jedno generovaniePoplatok
Výstup · Odhadované náklady na generovanie · Odhad iba na porovnanie $0.24576 odhad pred generovaním

Tento odhad nepredstavuje dodatočný poplatok ani pevnú sadzbu za dokončené generovanie.

Ailoot pred požiadavkou rezervuje odhadovanú sumu. Po získaní výsledku vyúčtuje konečný poplatok podľa nameraného využitia. Pri streamovaní sa vyúčtovanie riadi konečným záznamom využitia. Ako funguje rezervácia a vyúčtovanie →

Príklady požiadaviek

Ailoot Ultra · Obrázky

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

Prijať a uložiť výsledky

Ailoot Ultra · Obrázky

Stiahnite každý vrátený obrázok alebo uložte jeho obsah Base64

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Čítanie ďalšieho obsahu
Čítať existujúce podklady, ktoré vám patria
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.
Uchovať všetky dokončené výsledky

Uložte každý dokončený obrázok; stiahnite obsah z každej vrátenej URL alebo dekódujte jeho obsah Base64.

Uchovajte úplnú odpoveď a hlavičky, všetky skutočné výstupy, pôvodné vrátené identifikátory a všetky polia s údajmi o spotrebe. Obnovte pôvodnú operáciu bez opätovného odoslania požiadavky na vytvorenie.

Ak treba overiť pôvodnú odpoveď

Uchovajte vrátené X-Client-Request-ID na zosúladenie záznamov. Čítajte iba skutočne vrátené hodnoty task_id/asset_id alebo vlastnú knižnicu médií; nikdy nevytvárajte URL úlohy z ID operácie a nikdy znova neodosielajte požiadavku na vytvorenie.

Polia odpovede
PoleTyp
PolecreatedTyp
Poledata[].urlTyp
Poledata[].b64_jsonTyp
PoleusageTyp

Aliasy

Aliasy modelov

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

Aliasy ciest metód

/v1/images

Súvisiace ID na volanie

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

FAQ · OpenAI: GPT Image 2
Aké vstupy a výsledky sú dostupné?

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

Aké polia používa požiadavka?

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

Aké limity platia?

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

Viac podrobností

Pripojte Ailoot k Claude Code, OpenCode, Hermes alebo vlastnej aplikácii.

Spoločnosť a jej portfólio projektov

Spoločnosť a jej portfólio projektov: milióny zákazníkov; mesačné tržby v miliardách.

Nakupujte tokeny so zľavou.

Zľava predplatného na pravidelnú prácu. Promo kódy až 50% na nákup tokenov.

Predplatné
Na pravidelné požiadavky vyberte tarifu so zľavou.
Promo kód až 50%
Pri nákupe zadajte kód. Cena sa prepočíta podľa prebiehajúcej akcie.
Výdavky v histórii
Pri každej požiadavke sa uloží model, tokeny a suma.

Vybrať predplatné · Zobraziť ceny modelov

Pripojte API k produktu, ktorý predávate.

SaaS, aplikácie a boti podľa ponuky a licenčnej zmluvy Ailoot. Na ďalší predaj požiadajte o licenciu predajcu.

Komerčná aplikácia
Začleňte generovanie textu, obrázkov, videa a zvuku do platených funkcií svojej služby.
Licencia pre predajcu
Pošlite popis projektu a spôsob poskytovania prístupu. Vyžiadajte písomné podmienky použitia a ďalšieho predaja.
Dokumenty na webe
Ponuka, licenčná zmluva a zásady spracovania dát sú dostupné pred pripojením.

Požiadať o licenciu predajcu · Ponuka a licenčná zmluva