Source: https://ailoot.ai/models/sl/gpt-image-2/
Canonical: https://ailoot.ai/models/sl/gpt-image-2/
Language: sl

# OpenAI: GPT Image 2

[Markdown](https://ailoot.ai/models/sl/gpt-image-2/index.md) · [JSON](https://ailoot.ai/models/sl/gpt-image-2/facts.json)

## [OpenAI: GPT Image 2](https://ailoot.ai/models/sl/gpt-image-2/)

GPT Image 2 ustvarja in ureja slike iz besedila in vizualnih referenc. Podpira prilagodljive dimenzije okvirja in slikovne vhode samodejno obdeluje z visoko zvestobo, z ločenimi nastavitvami kakovosti, formata in ozadja za končno gradivo.

- [**Ailoot · Slike** `POST /v1/images/generations` `gpt-image-2`](https://ailoot.ai/models/sl/gpt-image-2/#method-0)
- [**Ailoot Ultra · Slike** `POST /v1/images/generations` `gpt-image-2`](https://ailoot.ai/models/sl/gpt-image-2/#method-1)
- [**Ailoot Ultra · Slike** `POST /v1/images/generations` `openai/gpt-image-2`](https://ailoot.ai/models/sl/gpt-image-2/#method-2)

O modelu

Ta opis zajema zmožnosti modela. Vhodi, izhodi in možnosti, ki so na voljo v Ailoot, so spodaj navedeni za izbrano metodo.

GPT Image 2 je OpenAI-jev model za ustvarjanje in urejanje slik iz besedilnih in vizualnih vhodov. Iz pisnega opisa ustvari novo sliko ter lahko uporablja izvorne slike za urejanje ali delo na podlagi referenc. Praktične naloge vključujejo ilustracije, koncepte izdelkov, vizualne kompozicije in spremembe obstoječega gradiva. Gre za ločeno izdajo od modelov GPT Image 2.5 Sunburst in Flare, z lastnim razponom kakovosti in načinom obravnave zvestobe vhoda.

Pri ustvarjanju opišite motiv, prizor, kompozicijo, svetlobo in predvideni slog. Pri urejanju poimenujte, kaj naj se spremeni in kaj naj ohrani videz. Opis izdelka lahko zahteva keramično svetilko na svetli podlagi z osrednjo silhueto in prostorom za napis; naslednji popravek lahko spremeni ozadje ter ohrani obliko svetilke in zorni kot. Dokumentirana neposredna postopka ustvarjanja in urejanja sprejemata pozive do 32.000 znakov in lahko vrneta od ene do deset slik.

Urejanje na podlagi referenc sprejema do šestnajst vhodnih slik. Določite namen vsake reference, da se motiv, ozadje in vizualna obdelava ne pomešajo. GPT Image 2 vsak slikovni vhod samodejno obdeluje z visoko zvestobo; input\_fidelity izpustite, ker ga pri tej izdaji ni mogoče nastavljati. To se razlikuje od izbire high ali low pri GPT Image 1 in načina zvestobe vhoda, ki pri GPT Image 1 Mini podpira le low. Obdelava vhoda z visoko zvestobo podpira podrobnosti izvirnika, ne jamči pa, da bo vsaka podrobnost reproducirana nespremenjeno.

Maska lahko določi območje za urejanje. Izvorna slika in maska morata imeti enak format in dimenzije ter biti po zahtevah priprave v vodniku manjši od 50 MB; maska potrebuje tudi alfa kanal. Če je podanih več vhodnih slik, maska velja za prvo. Model masko obravnava kot usmeritev na podlagi poziva in ne kot strogo geometrijsko mejo. Opišite lokalno spremembo in zahteve za ohranitev, nato pa v okolici preverite neželene razlike.

GPT Image 2 podpira kakovost low, medium, high in auto, privzeto auto. Nastavitvi xhigh in max iz družine 2.5 ne spadata v razpon kakovosti te izdaje. Velikost je lahko kvadratna, ležeča, pokončna, samodejna ali veljavna širina in višina po meri. Proizvajalčevi primeri vključujejo 1024 × 1024, 1536 × 1024, 1024 × 1536, 2048 × 2048, 2048 × 1152, 3840 × 2160 in 2160 × 3840 slikovnih pik. Usmerjenost in raven podrobnosti izberite za dejansko postavitev, namesto da kakovost in dimenzije obravnavate kot isto nastavitev.

Dimenzije po meri morajo biti večkratniki šestnajstih slikovnih pik; nobena stranica ne sme presegati 3840 slikovnih pik, razmerje med daljšo in krajšo stranico sme biti največ 3:1, površina pa mora znašati od 655.360 do 8.294.400 slikovnih pik. Ti pogoji veljajo hkrati. Ločljivosti nad 2560 × 1440 so označene kot eksperimentalne. Okvir, ki izpolnjuje eno pravilo, lahko še vedno krši drugo, zato izberite podprt par dimenzij ter v opisu navedite elemente, občutljive na obrezovanje.

Izhod je privzeto PNG, na voljo pa sta tudi JPEG in WebP. Za JPEG in WebP je podprto stiskanje od 0 do 100. Ozadje je lahko neprosojno ali samodejno; konkretna trenutna dokumentacija prosojnost za GPT Image 2 opisuje kot zmožnost v predogledu. Pri zahtevi za prosojnost uporabite PNG ali WebP, da je mogoče ohraniti alfa kanal. Dokumentirani pretočni postopek pred dokončano sliko dovoljuje do tri delne slike; shranite končno gradivo, ne predogleda napredka. Proizvajalčev vmesnik podpira tudi paketno obdelavo.

V dejanskem rezultatu ocenite jasnost besedila, položaj predmetov in ohranitev izvornih podrobnosti. GPT Image ima lahko težave z natančnimi napisi, kompozicijami, občutljivimi na postavitev, in ponavljajočo se vizualno identiteto med ločenimi ustvarjanji. Pri zaporedju popravkov izbrani rezultat uporabite kot naslednji vir in podajte konkretno spremembo, povezano z vidno težavo. Uporaben izhod GPT Image 2 je slika, povezana z jasnim opisom ustvarjanja ali urejanja, pri čemer so vhodi z visoko zvestobo, dimenzije in kakovost izbrani za to konkretno nalogo.

**Ailoot · Slike** `POST /v1/images/generations` `gpt-image-2`

[`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)

OpenAI /`gpt-image-2`

### Začetek

GPT Image 2 ustvarja in ureja slike iz besedila in vizualnih referenc. Podpira prilagodljive dimenzije okvirja in slikovne vhode samodejno obdeluje z visoko zvestobo, z ločenimi nastavitvami kakovosti, formata in ozadja za končno gradivo.

Dovoljeni vhodi

Besedilo

Rezultati

Slike

### Na voljo v Ailoot · vhodi in metode

**Ailoot · Slike** `POST /v1/images/generations`

Vhod

`text`

Izhod

`image`

Izhodni format

Slikovna datoteka

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-image-2 | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
| Polje`n` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 | Privzeto1 |
| Polje`response_format` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve url, b64\_json | Privzeto— |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
| Polje`size` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`quality` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`background` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`output_format` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`output_compression` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`moderation` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`input_fidelity` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`style` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
| Polje`partial_images` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |

Kombinacije vhodnih gradiv

**Iz besedila v sliko** · Obvezno: prompt

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`material_types` | Specifikacijatext |
| Parameter`required` | Specifikacijamodel, prompt |
| Parameter`optional_controls` | Specifikacijanull |
| Parameter`content_type` | Specifikacijaapplication/json |

Življenjski cikel: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Dejansko vrnjeni task\_id ali zapis v medijski knjižnici

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

`GET /v1/media/assets`

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

Strukture metod in ID so natančno določeni; zmožnost ponudnika je ločena od sprejema zahteve.

### Cenik

#### Cene metod Ailoot

Besedilni vhod

0,0025 $ */ 1K*

Vhod, slika

0,004 $ */ 1K tokens*

Izhod, slika

0,015 $ */ 1K tokens*

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot · Slike

curlPython SDKNode.js SDK

```bash
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
```

```python
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])
```

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

### Prejmi in shrani rezultate

#### Ailoot · Slike

Prenesite vsako vrnjeno sliko ali shranite njeno vsebino Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

##### Ohrani vse dokončane rezultate

Shranite vsako dokončano sliko; pridobite vsebino z vsake vrnjene URL ali dekodirajte njeno vsebino Base64.

Shranite vsak podatkovni element. Dekodirajte vsak b64\_json ali pridobite vsebino z vsakega vrnjenega podpisanega URL. Končnico imena datoteke izberite glede na dejanski tip MIME oziroma bajte.

##### Če je treba preveriti izvirni odgovor

Če je treba preveriti rezultat generiranja ali urejanja slike, shranite izvirni operation\_id/X-Client-Request-ID in vrnjene podatke o rezultatu. Obstoječe rezultate, ki vam pripadajo, pridobite prek medijske knjižnice z dejanskimi vrednostmi task\_id ali asset\_id. Zahteve za generiranje/urejanje ne pošiljajte znova in iz operation\_id ne sestavljajte URL za periodično preverjanje stanja.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`created` | Vrstainteger |
| Polje`data[].url` | Vrstastring |
| Polje`data[].b64_json` | Vrstabase64 string |
| Polje`usage` | Vrstaobject |

Napake in naslednji koraki

| Odgovor | Pogoj | Naslednji korak |
| --- | --- | --- |
| Odgovor400 · `invalid_request_error` | PogojNeveljavna obvezna polja, predstavitev gradiva ali vrednost parametra | Naslednji korakPred novo zahtevo za ustvarjanje popravite navedena polja. |
| Odgovor`server_error` | PogojVrnjeni odgovor navaja, da je treba operacijo ali rezultat preveriti | Naslednji korakShranite izvirni vrnjeni ID operacije/opravila, glave zahteve in odgovor; nadaljujte s podprtimi branji te izvirne operacije. Zahteve za ustvarjanje ne pošiljajte znova. |

### Druga imena

#### Druga imena modelov

<strong>Ailoot</strong> [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)
**Ailoot Ultra** [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images), [`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

#### Druga imena poti metod

`/v1/images`

#### Povezani ID-ji za klic

[`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

**Ailoot Ultra · Slike** `POST /v1/images/generations` `gpt-image-2`

[`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

OpenAI /`gpt-image-2`

ID modela

- `gpt-image-2`
- `openai/gpt-image-2`

### Začetek

GPT Image 2 ustvarja in ureja slike iz besedila in vizualnih referenc. Podpira prilagodljive dimenzije okvirja in slikovne vhode samodejno obdeluje z visoko zvestobo, z ločenimi nastavitvami kakovosti, formata in ozadja za končno gradivo.

Dovoljeni vhodi

Besedilo

Rezultati

Slike

### Na voljo v Ailoot · vhodi in metode

**Ailoot Ultra · Slike** `POST /v1/images/generations`

Vhod

`text`

Izhod

`image`

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve gpt-image-2 | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Največja dolžina: 32.000 | Privzeto— |
| Polje`size` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: Uporabite auto ali WIDTHxHEIGHT, pri čemer sta obe meri deljivi s 16. Najdaljša stranica meri največ 3,840 slikovnih pik, skupna velikost pa največ 8,300,000 slikovnih pik. | Privzetoauto |
| Polje`background` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve transparent, opaque, auto | Privzetoauto |
| Polje`moderation` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve low, auto Pogoji: Za standardno moderiranje vsebine uporabite auto. | Privzeto— |
| Polje`n` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Največ: 10 | Privzeto1 |
| Polje`quality` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve auto, high, medium, low | Privzetoauto |
| Polje`output_compression` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 0 Največ: 100 Pogoji: Velja za izhod JPEG in WebP; pošljite dokumentirano celo število. | Privzeto100 |
| Polje`output_format` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve webp, png, jpeg | Privzetopng |
| Polje`stream` | Vrsta`boolean` | ZahtevaIzbirno | Vrednosti in omejitve false Pogoji: Ta pot vrne en dokončan odgovor JSON. | Privzetofalse |

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijaprompt, model |
| Parameter`material_types` | Specifikacijatext |
| Parameter`optional` | Specifikacijasize, background, moderation, n, quality, output\_compression, output\_format, stream |
| Parameter`conditions` | SpecifikacijaProsojno ozadje zahteva PNG ali WebP., Stiskanje izhoda velja za JPEG ali WebP., Izbrana metoda ustvarja iz besedila. Krmilni parametri za urejanje in pretakanje, opisani za proizvajalca, so ločene zmožnosti. |

Življenjski cikel: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Dejansko vrnjeni task\_id ali zapis v medijski knjižnici

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

`GET /v1/media/assets`

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

### Cenik

##### Kako se izračuna končni strošek

Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Ni navedeno Ko je izbran hitri način

Način flex

Ni navedeno Ko je izbran način flex

Najvišja raven razmišljanja

Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

#### Ocenjene cene za primerjavo

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Predvidena količina | Strošek |
| --- | --- | --- | --- |
| NastavitevOsnovne cene žetonov | Cenovna lestvicaOsnovna cena | Predvidena količina— | Strošek Vhod · Vhodni žetoni · Ocena samo za primerjavo **—** / 1K žetonov Izhod · Izhodni žetoni · Ocena samo za primerjavo **—** / 1K žetonov Vhod · Branje predpomnilnika · Ocena samo za primerjavo **—** / 1K žetonov Vhod · Zapis v predpomnilnik · Ocena samo za primerjavo **—** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura · Ocena samo za primerjavo **—** / 1K žetonov |
| NastavitevOcenjeni strošek ustvarjanja | Cenovna lestvica— | Predvidena količinaocena za eno generiranje | Strošek Izhod · Ocenjeni stroški ustvarjanja · Ocena samo za primerjavo **$0.24576** ocena pred ustvarjanjem Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje. |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · Slike

curl

```bash
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
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · Slike

Prenesite vsako vrnjeno sliko ali shranite njeno vsebino Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Branje druge vsebine

Preberi obstoječa gradiva, ki vam pripadajo

```bash
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.
```

##### Ohrani vse dokončane rezultate

Shranite vsako dokončano sliko; pridobite vsebino z vsake vrnjene URL ali dekodirajte njeno vsebino Base64.

Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.

##### Če je treba preveriti izvirni odgovor

Shranite vrnjeni X-Client-Request-ID za uskladitev evidenc. Berite samo dejansko vrnjene vrednosti task\_id/asset\_id ali svojo medijsko knjižnico; iz ID operacije nikoli ne sestavite URL opravila in zahteve za ustvarjanje nikoli ne pošljite znova.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`created` | Vrsta |
| Polje`data[].url` | Vrsta |
| Polje`data[].b64_json` | Vrsta |
| Polje`usage` | Vrsta |

### Druga imena

#### Druga imena modelov

<strong>Ailoot</strong> [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)
**Ailoot Ultra** [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images), [`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

#### Druga imena poti metod

`/v1/images`

#### Povezani ID-ji za klic

[`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

**Ailoot Ultra · Slike** `POST /v1/images/generations` `openai/gpt-image-2`

[`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

OpenAI /`openai/gpt-image-2`

ID modela

- `gpt-image-2`
- `openai/gpt-image-2`

### Začetek

GPT Image 2 ustvarja in ureja slike iz besedila in vizualnih referenc. Podpira prilagodljive dimenzije okvirja in slikovne vhode samodejno obdeluje z visoko zvestobo, z ločenimi nastavitvami kakovosti, formata in ozadja za končno gradivo.

Dovoljeni vhodi

Besedilo · Slike

Rezultati

Slike

### Na voljo v Ailoot · vhodi in metode

**Ailoot Ultra · Slike** `POST /v1/images/generations`

Vhod

`text`, `image`

Izhod

`image`

| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
| --- | --- | --- | --- | --- |
| Polje`model` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-image-2 | Privzeto— |
| Polje`prompt` | Vrsta`string` | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
| Polje`aspect_ratio` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto | Privzeto— |
| Polje`quality` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve auto, low, medium, high | Privzeto— |
| Polje`background` | Vrsta`string` | ZahtevaIzbirno | Vrednosti in omejitve auto, opaque | Privzeto— |
| Polje`n` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Največ: 10 | Privzeto— |
| Polje`input_references` | Vrsta`array` | ZahtevaIzbirno | Vrednosti in omejitve Najmanjše število elementov: 0 Največ elementov: 16 | Privzeto— |
| Polje`output_compression` | Vrsta`integer` | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 0 Največ: 100 | Privzeto— |
| Polje`provider` | Vrsta`object` | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |

Parametri in življenjski cikel metode

| Parameter | Specifikacija |
| --- | --- |
| Parameter`content_type` | Specifikacijaapplication/json |
| Parameter`required` | Specifikacijamodel, prompt |
| Parameter`material_types` | Specifikacijatext, image |

Življenjski cikel: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · Dejansko vrnjeni task\_id ali zapis v medijski knjižnici

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

`GET /v1/media/assets`

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

### Cenik

##### Kako se izračuna končni strošek

Prikazane cene so namenjene oceni stroškov pred generiranjem. Končni znesek se izračuna na podlagi stroška, zabeleženega za izvirno generiranje. Izmerjeno trajanje izhoda in napovedane količine niso končna obračunska količina.

Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.

Hitri način

Ni navedeno Ko je izbran hitri način

Način flex

Ni navedeno Ko je izbran način flex

Najvišja raven razmišljanja

Ni navedeno Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)

#### Ocenjene cene za primerjavo

#### Cene po nastavitvah

Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.

| Nastavitev | Cenovna lestvica | Predvidena količina | Strošek |
| --- | --- | --- | --- |
| NastavitevOsnovne cene žetonov | Cenovna lestvicaOsnovna cena | Predvidena količina— | Strošek Vhod · Vhodni žetoni · Ocena samo za primerjavo **—** / 1K žetonov Izhod · Izhodni žetoni · Ocena samo za primerjavo **—** / 1K žetonov Vhod · Branje predpomnilnika · Ocena samo za primerjavo **—** / 1K žetonov Vhod · Zapis v predpomnilnik · Ocena samo za primerjavo **—** / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura · Ocena samo za primerjavo **—** / 1K žetonov |
| NastavitevOcenjeni strošek ustvarjanja | Cenovna lestvica— | Predvidena količinaocena za eno generiranje | Strošek Izhod · Ocenjeni stroški ustvarjanja · Ocena samo za primerjavo **$0.24576** ocena pred ustvarjanjem Ta ocena ni dodatno plačilo ali fiksna cena za dokončano generiranje. |

Ailoot pred zahtevo rezervira ocenjeni znesek. Po rezultatu obračuna končni strošek na podlagi izmerjene porabe. Obračun pretakanja uporablja končni zapis porabe. [Kako delujeta rezervacija in obračun →](https://ailoot.ai/docs/sl/billing/reserve/)

### Primeri zahtev

#### Ailoot Ultra · Slike

curl

```bash
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
```

### Prejmi in shrani rezultate

#### Ailoot Ultra · Slike

Prenesite vsako vrnjeno sliko ali shranite njeno vsebino Base64

- `GET /v1/media/tasks/{task_id}`
- `GET /v1/media/assets/{asset_id}/content`
- `GET /v1/media/assets`
- `GET /v1/media/assets/{asset_id}`

Branje druge vsebine

Preberi obstoječa gradiva, ki vam pripadajo

```bash
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.
```

##### Ohrani vse dokončane rezultate

Shranite vsako dokončano sliko; pridobite vsebino z vsake vrnjene URL ali dekodirajte njeno vsebino Base64.

Shranite celoten odgovor in glave, vse dejanske izhode, izvirne vrnjene identifikatorje in vsa polja s podatki o porabi. Pridobite podatke izvirne operacije brez ponovnega pošiljanja zahteve za ustvarjanje.

##### Če je treba preveriti izvirni odgovor

Shranite vrnjeni X-Client-Request-ID za uskladitev evidenc. Berite samo dejansko vrnjene vrednosti task\_id/asset\_id ali svojo medijsko knjižnico; iz ID operacije nikoli ne sestavite URL opravila in zahteve za ustvarjanje nikoli ne pošljite znova.

Polja odgovora

| Polje | Vrsta |
| --- | --- |
| Polje`created` | Vrsta |
| Polje`data[].url` | Vrsta |
| Polje`data[].b64_json` | Vrsta |
| Polje`usage` | Vrsta |

### Druga imena

#### Druga imena modelov

<strong>Ailoot</strong> [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images)
**Ailoot Ultra** [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images), [`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images)

#### Druga imena poti metod

`/v1/images`

#### Povezani ID-ji za klic

[`openai/gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=openai%2Fgpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Core&caller=gpt-image-2&fmt=images), [`gpt-image-2`](https://ailoot.ai/models/sl/#m=openai%2Fgpt-image-2&route=Ultra&caller=gpt-image-2&fmt=images)

FAQ · OpenAI: GPT Image 2

Kateri vhodi in rezultati so na voljo?

`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`

Katera polja uporablja zahteva?

`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`

Katere omejitve veljajo?

`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`

Ailoot povežite s Claude Code, OpenCode, Hermes ali svojo aplikacijo.

## Podjetje in njegov portfelj projektov

Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.

## Žetone kupujte s popustom.

Naročniški popust za redno delo. Promocijske kode prinesejo do 50% popusta na nakup žetonov.

Naročnina

Za redne zahteve izberite paket s popustom.

Promocijska koda do 50%

Kodo vnesite ob nakupu. Cena se preračuna po veljavni akciji.

Poraba v zgodovini

Za vsako zahtevo se shranijo model, žetoni in znesek.

[Izberite naročnino](https://ailoot.ai/docs/sl/billing/subscriptions/) · [Oglejte si cene modelov](https://ailoot.ai/models/sl/)

## API povežite z izdelkom, ki ga prodajate.

SaaS, aplikacije in boti po ponudbi in licenčni pogodbi Ailoot. Za nadaljnjo prodajo zaprosite za preprodajno licenco.

Komercialna aplikacija

Ustvarjanje besedila, slik, videa in zvoka vključite v plačljive funkcije svoje storitve.

Licenca za preprodajalca

Pošljite opis projekta in shemo dostopa. Zahtevajte pisne pogoje uporabe in nadaljnje prodaje.

Dokumenti na strani

Ponudba, licenčna pogodba in politika obdelave podatkov so dostopne pred povezavo.

[Zaprosite za preprodajno licenco](mailto:support@ailoot.ai) · [Ponudba in licenčna pogodba](https://ailoot.ai/legal/offer?lang=sl)

## Ailoot · Podjetje in njegov portfelj projektov





Ailoot temelji na pridobljenih operativnih izkušnjah, široki bazi strank, stabilni storitvi in stalnem spremljanju KPI.





Podjetje in njegov portfelj projektov: milijoni strank; mesečna prodaja v milijardah.





Ailoot te operativne izkušnje uporablja za dostop prek API do funkcij umetne inteligence v izdelkih strank, agentih, aplikacijah in avtomatizacijah.
