modely

GPT Image 1.5

Markdown · JSON

GPT Image 1.5

GPT Image 1.5 vytvára obrázky podľa textového zadania s dôrazom na dodržiavanie podrobných pokynov. K dispozícii sú tri tvary záberu, viacero úrovní kvality a formátov výsledku.

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.

Obrázok podľa podrobného zadania

GPT Image 1.5 je model OpenAI na tvorbu obrázkov podľa textového opisu. Výrobca vyzdvihuje dodržiavanie pokynov a spracovanie podrobného zadania: možno v ňom určiť obsah scény, kompozíciu, vzhľad objektov a požadovaný štýl. Výsledkom metódy obrázkov je hotový obrázok.

V Ailoot sa táto karta vzťahuje na generovanie s textovým vstupom. OpenAI opisuje aj prácu modelu so zdrojovými obrázkami, úpravy a zmeny jednotlivých oblastí. Tieto možnosti vyžadujú samostatnú podporu vizuálneho vstupu a nepatria do tu označeného textového spôsobu generovania.

Pri samostatnej operácii úpravy, ktorú OpenAI umožňuje, slúži maska ako vodidlo: presná zhoda výsledku s jej obrysmi nie je zaručená. Takáto operácia vyžaduje podporu odovzdania zdrojového obrázka; aktuálna karta Ailoot sa naďalej vzťahuje na generovanie s textovým vstupom.

Tri tvary záberu a nastavenie kvality

K dispozícii je štvorcový rozmer 1024x1024, horizontálny 1536x1024 a vertikálny 1024x1536, ako aj automatická voľba. Na túto verziu sa nemajú prenášať ľubovoľné rozmery iných modelov.

Úrovne kvality sú low, medium, high a auto. Voľba kvality ovplyvňuje rozsah spracovania a detailnosť výsledku. Kvalita a veľkosť sú odlišné nastavenia: orientácia záberu určuje priestor kompozície a úroveň kvality režim jej tvorby. Úrovne xhigh a max nie sú pre GPT Image 1.5 deklarované.

Formát súboru a pozadie

Predvolene sa výsledok vytvára v PNG; k dispozícii sú aj JPEG a WebP. Pre JPEG a WebP možno určiť mieru kompresie. Ide o nastavenie výsledného súboru, ktoré sa líši od kvality generovania.

Výrobca umožňuje priehľadné aj nepriehľadné pozadie a automatickú voľbu. Priehľadnosť vyžaduje PNG alebo WebP: JPEG nezachováva alfa kanál. Priehľadné pozadie je vhodné, keď sa má obrázok použiť ako samostatný objekt v ďalšej kompozícii. Podporu konkrétnych parametrov treba posudzovať podľa zvolenej metódy.

Text a kompozícia vyžadujú kontrolu

Model môže do obrázka vložiť nápisy a zostaviť scénu z viacerých prvkov, ale presné umiestnenie textu a objektov nie je zaručené. Opakovanie vzhľadu jednej postavy alebo dizajnu medzi samostatnými generovaniami tiež vyžaduje kontrolu.

Zložitý obrázok sa môže vytvárať dlhšie než jednoduchý; podľa OpenAI môžu jednotlivé zložité zadania trvať až dve minúty. Pre výsledok sú dôležité úplnosť pôvodného opisu aj kontrola hotového obrázka: čitateľnosť nápisov, poloha detailov a zhoda so zadanou scénou sa posudzujú podľa samotného súboru.

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

gpt-image-1.5

OpenAI /gpt-image-1.5

Úvod

GPT Image 1.5 vytvára obrázky podľa textového zadania s dôrazom na dodržiavanie podrobných pokynov. K dispozícii sú tri tvary záberu, viacero úrovní kvality a formátov výsledku.

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-1.5
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,005 USD / 1K
Textový výstup
0,01 USD / 1K
Vstup, obrázok
0,008 USD / 1K tokens
Výstup, obrázok
0,032 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-1.5", "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-1.5', '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-1.5", "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-1.5
Ailoot Ultra gpt-image-1.5

Aliasy ciest metód

Použite cesty metód uvedené vyššie.

Súvisiace ID na volanie

gpt-image-1.5, gpt-image-1.5

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

gpt-image-1.5

OpenAI /gpt-image-1.5

Úvod

GPT Image 1.5 vytvára obrázky podľa textového zadania s dôrazom na dodržiavanie podrobných pokynov. K dispozícii sú tri tvary záberu, viacero úrovní kvality a formátov výsledku.

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-1.5
Predvolené—
PolepromptTypstringPožiadavkaPovinnéHodnoty a limity
Maximálna dĺžka: 32 000
Predvolené—
PolesizeTypstringPožiadavkaVoliteľnéHodnoty a limity
1024x1024, 1536x1024, 1024x1536, auto
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.32768 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-1.5', '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-1.5
Ailoot Ultra gpt-image-1.5

Aliasy ciest metód

Použite cesty metód uvedené vyššie.

Súvisiace ID na volanie

gpt-image-1.5, gpt-image-1.5

FAQ · GPT Image 1.5
Aké vstupy a výsledky sú dostupné?

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

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

Aké polia používa požiadavka?

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

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

Aké limity platia?

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

POST /v1/images/generations · gpt-image-1.5: prompt.maximum_length: 32000; 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