Source: https://ailoot.ai/models/lt/openai-gpt-5-image/
Canonical: https://ailoot.ai/models/lt/openai-gpt-5-image/
Language: lt

# OpenAI: GPT-5 Image

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

## [OpenAI: GPT-5 Image](https://ailoot.ai/models/lt/openai-gpt-5-image/)

GPT-5 Image sujungia OpenAI GPT-5 kalbos bei samprotavimo galimybes su GPT Image 1 vaizdų generavimu ir pagal nuorodinius vaizdus atliekamu redagavimu. Priima tekstą, vaizdus ir dokumentus, o grąžina tekstą ir vaizdus, taip susiedamas rašytinę užduotį su vaizdiniu rezultatu.

- [**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `openai/gpt-5-image`](https://ailoot.ai/models/lt/openai-gpt-5-image/#method-0)
- [**Ailoot Ultra · Vaizdai** `POST /v1/images/generations` `openai/gpt-5-image`](https://ailoot.ai/models/lt/openai-gpt-5-image/#method-1)
- [**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `openai/gpt-5-image`](https://ailoot.ai/models/lt/openai-gpt-5-image/#method-2)

Apie modelį

Šis aprašas apima modelio galimybes. Pasirinktam metodui Ailoot prieinamos įvestys, išvestys ir parinktys nurodytos toliau.

GPT-5 Image yra jungtinis profilis, kuriame OpenAI GPT-5 kalbos modelis derinamas su GPT Image 1. Kalbos komponentas interpretuoja reikalavimus ir pradinę medžiagą, o vaizdų komponentas sukuria vaizdinį rezultatą. Paskelbtame aprašyme pabrėžiamas samprotavimas, instrukcijų laikymasis, teksto atvaizdavimas ir išsamus vaizdų redagavimas. Profilis tinka užduotims, kuriose vaizdinė medžiaga ir jos rašytinė interpretacija turi atitikti tą patį užduoties aprašą.

#### Interpretuokite užduotį ir sukurkite vaizdinę medžiagą

Pateikite modeliui vaizdo paskirtį, numatomą auditoriją ir turinį, kuris turi būti matomas. Atskirkite faktus, kuriuos reikia tiksliai perteikti, nuo kompozicijos ar vaizdinio pateikimo pasirinkimų. Diagramos užduotyje galima įvardyti objektus ir ryšius, tada nurodyti etiketes, išdėstymą ir stilių. Plakato užduotyje galima apibrėžti renginio informaciją, hierarchiją ir sceną bei tikslius žodžius, kurie turi būti vaizde.

Pavyzdžiui, parenkite vietos bendruomenės mokslo renginio plakato koncepciją. Pateikite renginio faktus, paprašykite trumpo išdėstymo paaiškinimo ir vaizdo su aiškia antrašte bei ją papildančiais vaizdiniais elementais. Nurodykite, kurie žodžiai turi būti vaizde, o kurie priklauso tik lydinčiam aprašymui. Rašytinį paaiškinimą ir sugeneruotą plakatą peržiūrėkite kartu, kad prasmingas išdėstymo planas būtų palygintas su iš tikrųjų matomu rezultatu.

Dokumentuoti jungtinio profilio įvesties tipai yra tekstas, vaizdai ir failai, pavyzdžiui, PDF. Dokumente gali būti pateikti vaizdo reikalavimai arba informacija, kurią reikia apibendrinti. Nuorodiniai vaizdai gali apibrėžti objektą, produktą, vietą ar išdėstymą. Prieš aprašydami siekiamą rezultatą įvardykite kiekvieną šaltinį ir paaiškinkite jo vaidmenį, ypač kai nuorodiniame vaizde yra ir išsaugotino, ir keistino turinio.

#### Redagavimas pagal nuorodinius vaizdus ir teksto atvaizdavimas

Norėdami atlikti pataisą, nurodykite pradinį vaizdą ir tiksliai aprašykite pageidaujamą pakeitimą. Produkto scenos redagavimas gali pakeisti aplinką išlaikant daikto formą ir matomą ženklinimą. Vaizdiniame paaiškinime galima pakeisti vieną elementą, išsaugant aplinkinius ryšius. Užduotyje išdėstykite išsaugojimo reikalavimus ir tikrame vaizde patikrinkite svarbias detales.

Konkretaus jungtinio profilio kortelėje leidžiama redaguojant naudoti iki šešiolikos nuorodinių vaizdų. Rinkitės su užduotimi susijusius vaizdus ir paaiškinkite, kokias savybes kiekvienas pateikia. Jei keliuose vaizduose skiriasi apšvietimas, žiūrėjimo kampai ar vaizdinis pateikimas, nurodykite numatomą kompoziciją, užuot prašę, kad kiekvienas šaltinis dominuotų rezultate. Šaltinius išsaugokite kartu su užbaigtu vaizdu, kad vėlesnė pataisa galėtų remtis ta pačia medžiaga.

Paskelbtame profilyje teksto atvaizdavimas įtrauktas į modelio galimybes. Svarbiam tekstui pateikite tikslias formuluotes, skyrybą ir vietą, taip pat nurodykite jo santykį su objektais ar kitomis etiketėmis. Kiekvieną privalomą žodį ir skaičių grąžintame vaizde patikrinkite numatytu rodymo dydžiu. Diagramoje taip pat patikrinkite, ar linijos, pozicijos ir grupavimas perteikia rašytiniame šaltinyje aprašytą ryšį.

#### Kontekstas ir atsakymo struktūra

Jungtinis profilis skelbia 400 000 žetonų konteksto langą ir iki 128 000 sugeneruojamo atsakymo žetonų. Šios ribos apibūdina įvestį ir generuojamą atsakymą, o ne konkretų pikselių dydį ar vaizdų skaičių. Kontekstą naudokite susijusiems reikalavimams, nuorodinei medžiagai ir pokalbio būsenai, taip pat palikite vietos prašomai išvesčiai. Pažymėkite ilgą pradinę medžiagą, kad modelis galėtų susieti kiekvieną instrukciją su tinkama ištrauka.

Dokumentuota tekstinės išvesties sąsaja palaiko struktūruotus rezultatus pagal JSON schemą. Rašytiniame atsakyme galima apibrėžti laukus, reikalingus koncepcijai aprašyti, reikalavimui apibendrinti ar prašomam pakeitimui įvardyti. Prieš perduodami juos programai, patikrinkite laukus ir jų reikšmes pagal šaltinį. Jungtinis profilis neteikia programos funkcijų iškvietimo, nors jo įvardytas kalbos ir vaizdų derinys viduje atlieka vaizdų generavimą.

Pokalbio užklausos schema leidžia pasirinkti teksto (text) ir vaizdo (image) išvesties modalumus. Užduotyje nurodykite konkrečius rašytinius ir vaizdinius rezultatus, tada patikrinkite, ar užbaigtame atsakyme yra abu. Vaizdo konfigūracija priklauso nuo konkretaus modelio ir sąsajos. Priimtus nustatymus saugokite kartu su užklausa ir naudokite tik tam jungtiniam profiliui dokumentuotus valdiklius; tiesioginė vaizdų komponento sąsaja gali turėti kitokią laukų ir galimybių struktūrą.

#### Sąmoningai naudokite įvardytą derinį

Šio profilio vaizdų komponentas yra GPT Image 1. Jo tiesioginis vaizdų generavimo profilis skirtas į vaizdus orientuotoms užduotims, o GPT-5 Image šią galimybę sujungia su GPT-5 kalbos apdorojimu. GPT-5 Image Mini yra atskiras GPT-5 Mini ir GPT Image 1 Mini derinys. Pasirinkto profilio tapatybę išsaugokite kartu su pradine medžiaga ir išvesties nustatymais, užuot panašiai pavadintus derinius laikę tuo pačiu modeliu.

Pokalbyje, kuriame atliekamos kelios pataisos, toliau perduokite aktualius rašytinius reikalavimus ir šaltinių nuorodas. Naujausioje užduotyje nurodykite konkretų pakeitimą, pavyzdžiui, etiketės perkėlimą, objekto pakeitimą ar kompozicijos supaprastinimą. Venkite nekonkretaus prašymo viską pagerinti, kai naudingas pakeitimas jau matomas grąžintoje vaizdinėje medžiagoje.

#### Išsaugokite ir peržiūrėkite užbaigtą rezultatą

Išsaugokite rašytinį atsakymą ir kiekvieną tikrą vaizdo artefaktą, pateiktą generavimo rezultate. Vaizdus saugokite nurodytu formatu kartu su užklausa, šaltinių nuorodomis ir pasirinktais nustatymais. Pačiame vaizde patikrinkite kompoziciją, objekto detales ir tekstą, o lydinčią prozą palyginkite su jos aprašomais duomenimis. Naudingas užbaigtas rezultatas sujungia rašytinius reikalavimus su vaizdu, kurį galima atverti, peržiūrėti ir įdėti į numatytą dokumentą, puslapį ar kūrybinį darbo procesą.

Praktinė užduotis

### Praktinė užduotis

Techninis pavyzdys anglų kalba

```
Simplify a community-event poster

Edit the supplied community science poster. Preserve the exact event title, date, venue and central telescope illustration. Remove the small decorative stars around the footer, increase the empty space around the title and keep the original portrait layout and two-color palette. Add no new event facts or text. Return the revised poster image.
```

#### Laukiamas rezultatas

```
A revised poster image retaining all event wording and the telescope while simplifying the requested areas.
```

#### Rezultato patikra

```
Check every event word and number against the source and confirm that only the named decorative elements were removed.
```

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions` `openai/gpt-5-image`

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

OpenAI /`openai/gpt-5-image`

### Pradžia

GPT-5 Image sujungia OpenAI GPT-5 kalbos bei samprotavimo galimybes su GPT Image 1 vaizdų generavimu ir pagal nuorodinius vaizdus atliekamu redagavimu. Priima tekstą, vaizdus ir dokumentus, o grąžina tekstą ir vaizdus, taip susiedamas rašytinę užduotį su vaizdiniu rezultatu.

Leidžiamos įvestys

Tekstas

Rezultatai

Tekstas

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · OpenAI pokalbis** `POST /v1/chat/completions`

Įvestis

`text`

Išvestis

`text`

Išvesties formatas

json arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos openai/gpt-5-image | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 1 | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Pavyzdžiai: system, user, assistant, tool, function Sąlygos: Šie vaidmenys aiškiai išreikšti šaltinio kodo suderinamumo tipuose; tikslus vaidmenų rinkinys priklauso nuo konkretaus modelio. Priklauso nuo modelio | Numatyta— |
| Laukas`messages[].content` | Tipas`string\|content_part[]\|null` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_calls` | Tipas`tool_call[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].tool_call_id` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: role=tool; naudokite tikrąjį grąžintą ID | Numatyta— |
| Laukas`messages[].name` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].reasoning_content` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Taikoma, kai: Grąžinkite tikrąjį gautą samprotavimą ten, kur šis modelis jį naudoja | Numatyta— |
| Laukas`messages[].reasoning_details` | Tipas`object\|array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`max_completion_tokens` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Priklauso nuo modelio | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |
| Laukas`stream_options.include_usage` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`temperature` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`top_p` | Tipas`number` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`stop` | Tipas`string\|string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools` | Tipas`function_tool[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].type` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos function Priklauso nuo modelio | Numatyta— |
| Laukas`tools[].function.name` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Taikoma, kai: pateiktas funkcijos tipo įrankis | Numatyta— |
| Laukas`tools[].function.description` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tools[].function.parameters` | Tipas`JSON_schema` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`tool_choice` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`parallel_tool_calls` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`response_format` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning_effort` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`reasoning` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`service_tier` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`instructions` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Suderinamumo laukas | Numatyta— |
| Laukas`functions` | Tipas`function[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`function_call` | Tipas`string\|object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`prompt_cache_options` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Priklauso nuo modelio | Numatyta— |
| Laukas`modalities` | Tipas`string[]` | ReikalavimasNeprivaloma | Reikšmės ir ribos text | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: provider.options šiame Ultra teksto maršrute atmetamas | Numatyta— |
| Laukas`cache_control.ttl` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos Sąlygos: 1h atmetamas tikrosiose užklausų podėlio vietose | Numatyta— |

Įvesties medžiagos deriniai

**Tekstas** · UTF8 tekstas

`messages[].content`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages |
| Parametras`material_types` | Specifikacijatext |
| Parametras`messages` | Specifikacijapranešimų masyvas su role/content struktūra |
| Parametras`file_material` | Specifikacijatikrasis UTF-8 dokumentas įterptas kaip pažodinis tekstas; failo ID nenumanomas |
| Parametras`optional_controls` | Specifikacijastream, temperature, top\_p, stop, max\_tokens, max\_completion\_tokens, reasoning, response\_format, tools, tool\_choice |
| Parametras`control_scope` | Specifikacijapriklauso nuo modelio; naudotojo funkcijų įrankiai skiriasi nuo priglobtų įrankių |
| Parametras`output_modalities` | Specifikacijatext |
| Parametras`hosted_operations` | Specifikacijafalse |
| Parametras`multimodal_input_binding` | Specifikacijanull |

Gyvavimo ciklas: `synchronous_or_streamed`

Siųskite tikslų modelio ID kartu su messages.

Konteksto ilgis nėra išvesties limitas.

Teksto failas gali pateikti pažodinį tekstą; vaizdų / garso / failų objektų įvestims reikia tikslaus susiejimo.

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.02** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0025** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų Išvestis · Vaizdo išvesties žetonai **$0.08** / 1K vaizdo tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.02** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0025** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

#### Informacinio tarifo duomenys

Modelio informacinės lentelės nekeičia metodo pasirinkimo, kainos įverčių ar mokesčių. Galiojantys mokesčiai nustatomi pagal pasirinkto Ailoot metodo įkainius.

OpenAI: GPT-5 Image

#### Kainos pagal konfigūraciją

| Konfigūracija | Apmokestinimo sąlygos | Mokestis |
| --- | --- | --- |
| KonfigūracijaOpenAI: GPT-5 Image · Numatytoji konfigūracija | Apmokestinimo sąlygosNumatytoji konfigūracija | Mokestis Įvestis · Įvesties tokenai **0,02 USD** / 1K tokenų Išvestis · Išvesties tokenai **0,02 USD** / 1K tokenų Išvestis · Išvesties vaizdas **0,08 USD** / 1K tokenų Išvestis · Paieška žiniatinklyje **0,02 USD** už paiešką Įvestis · Talpyklos skaitymas **0,0025 USD** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · OpenAI pokalbis

curlPython SDKPython srautas

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "openai/gpt-5-image", "messages": [{"role": "user", "content": "Explain the difference between an observation and a hypothesis in three sentences."}]}')

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/chat/completions \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path
r=json.loads(Path("result.json").read_text())
for x in r.get("choices",[]):
    if x.get("message",{}).get("content"): print(x["message"]["content"])
PY_RESULT
```

```python
from openai import OpenAI
import os

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.chat.completions.create(model='openai/gpt-5-image',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}])
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

save_result(result.to_dict(mode="json"))
```

```python
from openai import OpenAI
import os
from pathlib import Path

if not os.environ.get("AILOOT_API_KEY", "").strip(): raise SystemExit("Set AILOOT_API_KEY before making a request")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
import base64, json
from pathlib import Path

def save_result(data, stem="result"):
    # Keep every field, including usage, IDs, reasoning and tool requests.
    Path(stem + ".json").write_text(json.dumps(data, ensure_ascii=False, indent=2), encoding="utf-8")
    print(json.dumps(data, ensure_ascii=False, indent=2))
    def save_blob(encoded, suffix, label):
        raw = base64.b64decode(encoded, altchars=b"-_", validate=True)
        ext = "png" if raw.startswith(b"\x89PNG\r\n\x1a\n") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4] == b"RIFF" and raw[8:12] == b"WEBP" else suffix
        file = Path(stem + "-" + label + "." + ext)
        file.write_bytes(raw)
        print("Saved", file)
    for index, block in enumerate(data.get("content") or []):
        print("Content", index, json.dumps(block, ensure_ascii=False))
    for choice in data.get("choices") or []:
        print("Choice", choice.get("index"), json.dumps(choice.get("message", choice.get("delta", {})), ensure_ascii=False))
    for index, item in enumerate(data.get("output") or []):
        print("Output", index, json.dumps(item, ensure_ascii=False))
        if item.get("type") == "image_generation_call" and item.get("result"):
            save_blob(item["result"], item.get("output_format") or "bin", "output-" + str(index))
    for ci, candidate in enumerate(data.get("candidates") or []):
        for pi, part in enumerate((candidate.get("content") or {}).get("parts") or []):
            print("Candidate/part", ci, pi, json.dumps(part, ensure_ascii=False))
            blob = part.get("inlineData") or part.get("inline_data")
            if blob and blob.get("data"):
                mime = blob.get("mimeType") or blob.get("mime_type")
                suffix = {"image/png":"png", "image/jpeg":"jpg", "image/webp":"webp", "audio/wav":"wav", "audio/mpeg":"mp3", "video/mp4":"mp4"}.get(mime, "bin")
                save_blob(blob["data"], suffix, "candidate-" + str(ci) + "-part-" + str(pi))

with client.chat.completions.stream(model='openai/gpt-5-image',messages=[{"role":"user","content":"Explain observations and hypotheses in three sentences."}]) as stream:
    with Path("stream-events.jsonl").open("w",encoding="utf-8") as log:
        for event in stream:
            payload=event.to_dict(mode="json")
            log.write(json.dumps(payload,ensure_ascii=False)+"\n"); log.flush()
            print(json.dumps(payload,ensure_ascii=False))
    final=stream.get_final_completion()
    save_result(final.to_dict(mode="json"),"stream-result")
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · OpenAI pokalbis

json arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite kiekvieną variantą ir jo turinį / įrankių iškvietimus / samprotavimą. SSE prieaugius surinkite pagal varianto / įrankio indeksą; išsaugokite galutinę užbaigimo priežastį ir naudojimo duomenis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`choices[].index` | Tipasinteger |
| Laukas`choices[].message.content` | Tipasstring\|null |
| Laukas`choices[].message.tool_calls` | Tipastool\_call\[\] |
| Laukas`choices[].message.reasoning_content` | Tipasstring |
| Laukas`choices[].message.reasoning_details` | Tipasobject\|array |
| Laukas`choices[].finish_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

**Ailoot Ultra** [`openai/gpt-5-image`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-5-image&route=Ultra&caller=openai%2Fgpt-5-image&fmt=chat)

#### Metodų kelių pseudonimai

`/v1/images`

#### Susiję ID iškvietimui

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

**Ailoot Ultra · Vaizdai** `POST /v1/images/generations` `openai/gpt-5-image`

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

OpenAI /`openai/gpt-5-image`

### Pradžia

GPT-5 Image sujungia OpenAI GPT-5 kalbos bei samprotavimo galimybes su GPT Image 1 vaizdų generavimu ir pagal nuorodinius vaizdus atliekamu redagavimu. Priima tekstą, vaizdus ir dokumentus, o grąžina tekstą ir vaizdus, taip susiedamas rašytinę užduotį su vaizdiniu rezultatu.

Leidžiamos įvestys

Tekstas · Vaizdai

Rezultatai

Vaizdai

### Prieinama Ailoot · įvestys ir metodai

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

Įvestis

`text`, `image`

Išvestis

`image`

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos openai/gpt-5-image | Numatyta— |
| Laukas`prompt` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos Mažiausias ilgis: 1 | Numatyta— |
| Laukas`aspect_ratio` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos 1:1, 3:2, 2:3, auto | Numatyta— |
| Laukas`quality` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos auto, low, medium, high | Numatyta— |
| Laukas`background` | Tipas`string` | ReikalavimasNeprivaloma | Reikšmės ir ribos auto, transparent, opaque | Numatyta— |
| Laukas`n` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 1 Didžiausia reikšmė: 10 | Numatyta— |
| Laukas`input_references` | Tipas`array` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausias elementų skaičius: 0 Didžiausias elementų skaičius: 16 | Numatyta— |
| Laukas`output_compression` | Tipas`integer` | ReikalavimasNeprivaloma | Reikšmės ir ribos Mažiausia reikšmė: 0 Didžiausia reikšmė: 100 | Numatyta— |
| Laukas`provider` | Tipas`object` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatyta— |

Metodo parametrai ir gyvavimo ciklas

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

Gyvavimo ciklas: `synchronous_result_then_owned_library`

`GET /v1/media/tasks/{task_id}` · faktiškai grąžinta task\_id reikšmė arba medijos bibliotekos įrašas

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

`GET /v1/media/assets`

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

### Planai

##### Kaip apskaičiuojamas galutinis mokestis

Rodomi įkainiai leidžia įvertinti kainą prieš generavimą. Galutinė suma apskaičiuojama pagal užfiksuotą pradinio generavimo kainą. Išmatuota rezultato trukmė ir prognozuoti kiekiai nėra galutinis apmokestinamas kiekis.

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Nenurodyta Pasirinkus spartųjį režimą

Flex režimas

Nenurodyta Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Nenurodyta Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Numatomi įkainiai palyginimui

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Numatomas kiekis | Mokestis |
| --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Numatomas kiekis— | Mokestis Įvestis · Įvesties tokenai · Įvertis tik palyginimui **—** / 1K tokenų Išvestis · Išvesties tokenai · Įvertis tik palyginimui **—** / 1K tokenų Įvestis · Talpyklos skaitymas · Įvertis tik palyginimui **—** / 1K tokenų Įvestis · Rašymas į talpyklą · Įvertis tik palyginimui **—** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val · Įvertis tik palyginimui **—** / 1K tokenų |
| KonfigūracijaNumatoma generavimo kaina | Įkainių lentelė— | Numatomas kiekisvieno generavimo įvertis | Mokestis Išvestis · Numatoma generavimo kaina · Įvertis tik palyginimui **$0.32768** įvertis prieš generavimą Šis įvertis nėra papildomas mokestis ar fiksuotas užbaigto generavimo įkainis. |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Vaizdai

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-5-image', '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
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Vaizdai

Atsisiųskite kiekvieną grąžintą vaizdą arba išsaugokite jo Base64 turinį

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

Kito turinio skaitymas

Skaityti esamą jums priklausančią medžiagą

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

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną baigtą vaizdą; gaukite turinį iš kiekvieno grąžinto URL arba dekoduokite jo Base64 turinį.

Išsaugokite visą atsakymą ir antraštes, visus faktiškai gautus rezultatus, pradinius grąžintus identifikatorius ir visus naudojimo apskaitos laukus. Atkurkite prieigą prie pradinės operacijos pakartotinai neteikdami kūrimo užklausos.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite grąžintą X-Client-Request-ID duomenims sutikrinti. Tikrinkite tik faktiškai grąžintas task\_id/asset\_id reikšmes arba jums priklausančią medijos biblioteką; niekada nekurkite užduoties URL iš operacijos ID ir niekada pakartotinai neteikite kūrimo užklausos.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`created` | Tipas |
| Laukas`data[].url` | Tipas |
| Laukas`data[].b64_json` | Tipas |
| Laukas`usage` | Tipas |

### Pseudonimai

#### Modelių pseudonimai

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

#### Metodų kelių pseudonimai

`/v1/images`

#### Susiję ID iškvietimui

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

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages` `openai/gpt-5-image`

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

OpenAI /`openai/gpt-5-image`

### Pradžia

GPT-5 Image sujungia OpenAI GPT-5 kalbos bei samprotavimo galimybes su GPT Image 1 vaizdų generavimu ir pagal nuorodinius vaizdus atliekamu redagavimu. Priima tekstą, vaizdus ir dokumentus, o grąžina tekstą ir vaizdus, taip susiedamas rašytinę užduotį su vaizdiniu rezultatu.

Leidžiamos įvestys

Tekstas

Rezultatai

json · sse

### Prieinama Ailoot · įvestys ir metodai

**Ailoot Ultra · Anthropic pranešimai** `POST /v1/messages`

Įvestis

`text`

Išvestis

`json`, `sse`

Išvesties formatas

JSON arba SSE

| Laukas | Tipas | Reikalavimas | Reikšmės ir ribos | Numatyta |
| --- | --- | --- | --- | --- |
| Laukas`model` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos openai/gpt-5-image | Numatyta— |
| Laukas`messages` | Tipas`message[]` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`messages[].role` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos user, assistant | Numatyta— |
| Laukas`messages[].content` | Tipas`string` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`max_tokens` | Tipas`integer` | ReikalavimasPrivaloma | Reikšmės ir ribos | Numatyta— |
| Laukas`stream` | Tipas`boolean` | ReikalavimasNeprivaloma | Reikšmės ir ribos | Numatytafalse |

Įvesties medžiagos deriniai

**Tekstas** · UTF-8 tekstas

`messages[].content eilutė`

Metodo parametrai ir gyvavimo ciklas

| Parametras | Specifikacija |
| --- | --- |
| Parametras`content_type` | Specifikacijaapplication/json |
| Parametras`required` | Specifikacijamodel, messages, max\_tokens |
| Parametras`optional_controls` | Specifikacijastream |
| Parametras`material_types` | Specifikacijatext |
| Parametras`text_file_material` | SpecifikacijaPerskaitykite tikrąjį UTF-8 dokumentą ir įterpkite jo tekstą į nurodytą input lauką arba pranešimo turinio eilutę. |

Gyvavimo ciklas: `synchronous_or_streamed`

### Planai

Tarifų informacija neprideda užklausos parinkčių. Palaikomi parametrai nurodyti prie pasirinkto metodo.

Spartusis režimas

Standartinis įkainis Pasirinkus spartųjį režimą

Flex režimas

Standartinis įkainis Pasirinkus flex režimą

Didžiausios samprotavimo pastangos

Standartinis įkainis Kai didžiausioms samprotavimo pastangoms taikomas numatytasis koregavimas (default)

#### Ailoot įkainiai

#### Kainos pagal konfigūraciją

Kiekvieną mokestį susiekite su nurodytomis sąlygomis. Kiekvienam alternatyvių konfigūracijų rinkiniui taikykite vieną įkainį.

| Konfigūracija | Įkainių lentelė | Konteksto tokenų daugiau nei | Konteksto tokenų iki imtinai | Mokestis |
| --- | --- | --- | --- | --- |
| KonfigūracijaBaziniai žetonų įkainiai | Įkainių lentelėBazinis įkainis | Konteksto tokenų daugiau nei— | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.02** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0025** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų Išvestis · Vaizdo išvesties žetonai **$0.08** / 1K vaizdo tokenų |
| KonfigūracijaUžklausos ilgio pakopa 1 | Įkainių lentelė— | Konteksto tokenų daugiau nei0 | Konteksto tokenų iki imtinaiBe viršutinės ribos | Mokestis Įvestis · Įvesties tokenai **$0.02** / 1K tokenų Išvestis · Išvesties tokenai **$0.02** / 1K tokenų Įvestis · Talpyklos skaitymas **$0.0025** / 1K tokenų Įvestis · Rašymas į talpyklą **—** / 1K tokenų Įvestis · Rašymas į talpyklą, 1 val **—** / 1K tokenų |

Ailoot prieš užklausą rezervuoja numatomą sumą. Gavus rezultatą, galutinis mokestis nuskaitomas pagal išmatuotą naudojimą. Srautinio atsakymo atsiskaitymui naudojamas galutinis naudojimo įrašas. [Kaip veikia rezervavimas ir atsiskaitymas →](https://ailoot.ai/docs/lt/billing/reserve/)

### Užklausų pavyzdžiai

#### Ailoot Ultra · Anthropic pranešimai

Visas minimalus JSON užklausos turinyscurl · naudokite savo UTF-8 dokumentąPython · išsaugokite visą rezultatą

```json
{
  "model": "openai/gpt-5-image",
  "max_tokens": 128,
  "messages": [
    {
      "role": "user",
      "content": "Summarize the incident report."
    }
  ],
  "stream": false
}
```

```bash
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
: "${AILOOT_TEXT_FILE:?Set your actual UTF-8 document}"
export AILOOT_TEXT_FILE
python3 - <<'PY_REQUEST'
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'openai/gpt-5-image', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
Path('request.json').write_text(json.dumps(payload, ensure_ascii=False), encoding='utf-8')
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/messages \
  -H "x-api-key: $AILOOT_API_KEY" -H 'anthropic-version: 2023-06-01' -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
PY_RESULT
```

```python
import json, os
from pathlib import Path

source_file = Path(os.environ['AILOOT_TEXT_FILE'])
if not source_file.is_file():
    raise SystemExit('Set AILOOT_TEXT_FILE to your actual UTF-8 document')
text = source_file.read_text(encoding='utf-8')
if not text.strip():
    raise SystemExit('Choose a document containing text')
payload = {'model': 'openai/gpt-5-image', 'max_tokens': 128, 'messages': [{'role': 'user', 'content': 'Summarize the incident report.'}]}
payload['messages'][0]['content'] = 'Summarize this material and quote supporting source passages.\n\n' + text
from urllib.request import Request, urlopen
from urllib.error import HTTPError

api_key = os.environ['AILOOT_API_KEY']
if not api_key.strip():
    raise SystemExit('Set AILOOT_API_KEY before making a request')
headers = {'x-api-key': 'PLACEHOLDER_KEY', 'anthropic-version': '2023-06-01', 'Content-Type': 'application/json'}
headers['x-api-key'] = api_key
request = Request('https://api.ailoot.ai/v1/messages', data=json.dumps(payload, ensure_ascii=False).encode('utf-8'), headers=headers, method='POST')
try:
    with urlopen(request, timeout=120) as response:
        raw = response.read()
        Path('response-headers.txt').write_text(str(response.headers), encoding='utf-8')
except HTTPError as error:
    Path('result.json').write_bytes(error.read())
    Path('response-headers.txt').write_text(str(error.headers), encoding='utf-8')
    raise
Path('result.json').write_bytes(raw)
import json
from pathlib import Path

result = json.loads(Path('result.json').read_text(encoding='utf-8'))
print(json.dumps(result, ensure_ascii=False, indent=2))
```

### Gauti ir išsaugoti rezultatus

#### Ailoot Ultra · Anthropic pranešimai

JSON arba SSE

##### Išsaugoti visus baigtus rezultatus

Išsaugokite kiekvieną visą grąžintą atsakymą, failą ir turinio dalį.

Išsaugokite visus turinio blokus, mąstymo parašus ir tikruosius įrankių naudojimo ID. Surinkite visus SSE blokų prieaugius; pirmasis teksto blokas nėra visa išvestis.

##### Jei reikia patikrinti pradinį atsakymą

Išsaugokite užklausų / atsakymų ID ir antraštes. Bendras teksto užduoties gavimo URL nepateikiamas.

Atsakymo laukai

| Laukas | Tipas |
| --- | --- |
| Laukas`id` | Tipasstring |
| Laukas`model` | Tipasstring |
| Laukas`content[]` | Tipastext\|thinking\|tool\_use\|other content block |
| Laukas`stop_reason` | Tipasstring\|null |
| Laukas`usage` | Tipasobject |

Klaidos ir tolesni veiksmai

| Atsakymas | Sąlyga | Kitas žingsnis |
| --- | --- | --- |
| Atsakymas400 · `invalid_request_error` | SąlygaNetinkami privalomi laukai, medžiagos pateikimo forma arba parametro reikšmė | Kitas žingsnisPrieš naują kūrimo užklausą pataisykite nurodytus laukus. |

### Pseudonimai

#### Modelių pseudonimai

**Ailoot Ultra** [`openai/gpt-5-image`](https://ailoot.ai/models/lt/#m=openai%2Fgpt-5-image&route=Ultra&caller=openai%2Fgpt-5-image&fmt=messages)

#### Metodų kelių pseudonimai

`/v1/images`

#### Susiję ID iškvietimui

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

FAQ · OpenAI: GPT-5 Image

Kokios įvestys ir rezultatai prieinami?

`POST /v1/chat/completions` · `openai/gpt-5-image`: `text` → `text` `POST /v1/images/generations` · `openai/gpt-5-image`: `text`, `image` → `image` `POST /v1/messages` · `openai/gpt-5-image`: `text` → `json`, `sse`

Kokius laukus naudoja užklausa?

`POST /v1/chat/completions` · `openai/gpt-5-image`: `model`, `messages`, `stream`, `modalities`, `provider` `POST /v1/images/generations` · `openai/gpt-5-image`: `model`, `prompt`, `aspect_ratio`, `quality`, `background`, `n`, `input_references`, `output_compression`, `provider` `POST /v1/messages` · `openai/gpt-5-image`: `model`, `messages`, `max_tokens`, `stream`

Kokie apribojimai taikomi?

`POST /v1/chat/completions` · `openai/gpt-5-image`: `messages.min_items`: `1` `POST /v1/images/generations` · `openai/gpt-5-image`: `n.minimum`: `1`; `n.maximum`: `10`; `output_compression.minimum`: `0`; `output_compression.maximum`: `100`

Prijunkite Ailoot prie Claude Code, OpenCode, Hermes arba savo programos.

## Įmonė ir jos projektų portfelis

Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.

## Pirkite žetonus su nuolaida.

Prenumeratos nuolaida reguliariam darbui. Kodai — iki 50% žetonų pirkimui.

Prenumerata

Pasirinkite planą su nuolaida reguliarioms užklausoms.

Nuolaidos kodas iki 50%

Įveskite kodą perkant. Kaina perskaičiuojama pagal galiojančios akcijos sąlygas.

Išlaidos istorijoje

Kiekvienai užklausai išsaugomi modelis, žetonai ir suma.

[Pasirinkti prenumeratą](https://ailoot.ai/docs/lt/billing/subscriptions/) · [Peržiūrėti modelių kainas](https://ailoot.ai/models/lt/)

## Prijunkite API prie produkto, kurį parduodate.

SaaS, programos ir botai pagal Ailoot ofertą bei licencijos sutartį. Perpardavimui paprašykite perpardavėjo licencijos.

Komercinė programa

Teksto, vaizdų, video ir garso kūrimą integruokite į mokamas paslaugos funkcijas.

Perpardavėjo licencija

Atsiųskite projekto aprašymą ir prieigos schemą. Paprašykite rašytinių naudojimo ir perpardavimo sąlygų.

Dokumentai svetainėje

Oferta, licencijos sutartis ir duomenų tvarkymo politika prieinamos prieš prisijungiant.

[Paprašyti perpardavėjo licencijos](mailto:support@ailoot.ai) · [Oferta ir licencijos sutartis](https://ailoot.ai/legal/offer?lang=lt)

## Ailoot · Įmonė ir jos projektų portfelis





Ailoot remiasi sukaupta veiklos patirtimi, plačia klientų baze, stabiliomis paslaugomis ir nuolatine KPI kontrole.





Įmonė ir jos projektų portfelis: milijonai klientų; mėnesio pardavimai siekia milijardus.





Ailoot šią veiklos patirtį pritaiko teikdama API prieigą prie DI funkcijų klientų produktuose, agentuose, programose ir automatizavimo sprendimuose.
