OpenAI: GPT-5 Image
GPT-5 Image združuje jezikovne zmožnosti in sklepanje GPT-5 podjetja OpenAI z GPT Image 1 za ustvarjanje slik in urejanje po referencah. Sprejema besedilo, slike in dokumente ter vrača besedilo in slike, s čimer povezuje pisni opis naloge z vizualnim rezultatom.
- Ailoot Ultra · OpenAI Chat
POST /v1/chat/completionsopenai/gpt-5-image - Ailoot Ultra · Slike
POST /v1/images/generationsopenai/gpt-5-image - Ailoot Ultra · Anthropic Messages
POST /v1/messagesopenai/gpt-5-image
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-5 Image je kombinirani profil, ki jezikovni model GPT-5 podjetja OpenAI združuje z GPT Image 1. Jezikovna komponenta razloži zahteve in izvorno gradivo; slikovna komponenta ustvari vizualni rezultat. Objavljeni opis poudarja sklepanje, sledenje navodilom, izris besedila in podrobno urejanje slik. Profil ustreza nalogam, pri katerih morata vizualni izdelek in njegova pisna razlaga slediti istemu opisu naloge.
Razložite opis naloge in ustvarite izdelek
Modelu podajte namen slike, predvideno občinstvo in vsebino, ki se mora pojaviti. Dejstva, ki jih je treba predstaviti natančno, ločite od izbir kompozicije ali vizualne obdelave. Opis diagrama lahko določi entitete in razmerja ter nato oznake, razporeditev in slog. Opis plakata lahko določi podatke o dogodku, hierarhijo in prizor s točnimi besedami, ki sodijo v vizualno vsebino.
Na primer pripravite zasnovo plakata za znanstveni dogodek lokalne skupnosti. Predložite dejstva o dogodku, prosite za kratko razlago razporeditve in zahtevajte sliko z jasnim naslovom in podpornimi vizualnimi elementi. Določite, katere besede morajo biti na sliki in katere sodijo samo v spremni opis. Pisno razlago in ustvarjeni plakat preglejte skupaj, da smiseln načrt razporeditve preverite glede na dejanski vidni rezultat.
Besedilo, slike in datoteke, kot so PDF, so dokumentirani vhodi kombiniranega profila. Dokument lahko poda zahteve za vizualno vsebino ali informacije za povzemanje. Referenčne slike lahko določijo motiv, izdelek, lokacijo ali razporeditev. Pred opisom cilja poimenujte vsak vir in pojasnite njegovo vlogo, zlasti kadar referenca vsebuje vsebino, ki jo je treba ohraniti, in vsebino, ki naj se spremeni.
Urejanje po referencah in izris besedila
Za popravek označite izvorno sliko in natančno opišite zahtevano spremembo. Popravek produktnega prizora lahko spremeni okolje ob ohranitvi oblike predmeta in vidnih oznak. Vizualno pojasnilo lahko zamenja en element ob ohranitvi okoliških razmerij. Zahteve glede ohranitve navedite v opisu naloge in na dejanski sliki preverite pomembne podrobnosti.
Kartica tega točnega kombiniranega profila za urejanje dovoljuje do šestnajstih referenčnih slik. Reference naj bodo povezane z nalogo; pojasnite, katere značilnosti prispeva vsaka. Kadar več slik kaže različno osvetlitev, zorne kote ali obdelave, določite predvideno kompozicijo, namesto da bi zahtevali prevlado vsakega vira v rezultatu. Vire ohranite z dokončano sliko, da se poznejši popravek lahko sklicuje na isto gradivo.
Objavljeni profil med svojimi zmožnostmi navaja izris besedila. Za pomembno besedilo podajte točno besedilo, ločila in postavitev ter določite njegov odnos do predmetov ali drugih oznak. Na vrnjeni sliki pri predvideni velikosti prikaza preverite vsako obvezno besedo in številko. Pri diagramu preverite tudi, ali črte, položaji in skupine izražajo razmerje, opisano v pisnem viru.
Kontekst in oblika odgovora
Kombinirani profil objavlja kontekstno okno 400000 tokenov in do 128000 tokenov za dokončanje odgovora. Ta obsega opisujeta vhod in ustvarjeni odgovor, ne določene velikosti v pikslih ali števila slik. Kontekst uporabite za ustrezne zahteve, reference in stanje pogovora ter pustite prostor za zahtevani izhod. Dolgo izvorno gradivo označite, da model lahko vsako navodilo poveže s pravim odlomkom.
Dokumentirane zahteve za besedilni izhod podpirajo strukturirane rezultate po shemi JSON. Pisni odgovor lahko določi polja, potrebna za opis zasnove, povzetek zahteve ali označitev zahtevane spremembe. Pred obdelavo v aplikaciji ta polja in njihove vrednosti preverite glede na vir. Kombinirani profil ne izpostavlja klicanja funkcij aplikacije, čeprav njegova poimenovana jezikovna in slikovna kombinacija vizualno vsebino ustvarja interno.
Shema klepetalne zahteve omogoča izbiro besedilne in slikovne izhodne modalnosti. V opisu naloge navedite dejanske pisne in vizualne rezultate, nato preverite, ali dokončani odgovor vsebuje oboje. Konfiguracija slik je specifična za točen model in vmesnik. Sprejete nastavitve ohranite z zahtevo in uporabljajte samo nastavitve, dokumentirane za ta kombinirani profil; neposredni vmesnik slikovne komponente ima lahko drugačno razporeditev polj in zmožnosti.
Poimenovano kombinacijo uporabljajte premišljeno
Slikovna komponenta, poimenovana za ta profil, je GPT Image 1. Njen neposredni profil ustvarjanja slik obravnava slikovne naloge, GPT-5 Image pa to zmožnost združuje z jezikovno obdelavo GPT-5. GPT-5 Image Mini je ločena kombinacija GPT-5 Mini in GPT Image 1 Mini. Identiteto izbranega profila ohranite z izvornim gradivom in izhodnimi nastavitvami, namesto da bi podobno poimenovane kombinacije obravnavali kot isti model.
V pogovoru z več popravki prenesite ustrezne pisne zahteve in izvorne reference. V najnovejšem opisu naloge navedite konkretni popravek, na primer premik oznake, spremembo predmeta ali poenostavitev kompozicije. Izognite se neusmerjeni zahtevi za izboljšanje vsega, kadar je uporabna sprememba že vidna v vrnjenem izdelku.
Ohranite in preglejte dokončani rezultat
Ohranite pisni odgovor in vsak dejanski slikovni izdelek, priložen dokončanemu odgovoru. Slike shranite v navedenem formatu skupaj s pozivom, izvornimi referencami in izbranimi nastavitvami. Na sami sliki preverite kompozicijo, podrobnosti motiva in besedilo; spremno besedilo primerjajte z dokazi, ki jih opisuje. Uporaben dokončan rezultat združi pisne zahteve z vizualnim izdelkom, ki ga je mogoče odpreti, pregledati in vključiti v predvideni dokument, stran ali ustvarjalni potek dela.
Praktična naloga
Praktična naloga
Tehnični primer v angleščini
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.Pričakovani rezultat
A revised poster image retaining all event wording and the telescope while simplifying the requested areas.Preverjanje rezultata
Check every event word and number against the source and confirm that only the named decorative elements were removed.Ailoot Ultra · OpenAI Chat POST /v1/chat/completions openai/gpt-5-image
openai/gpt-5-imageZačetek
GPT-5 Image združuje jezikovne zmožnosti in sklepanje GPT-5 podjetja OpenAI z GPT Image 1 za ustvarjanje slik in urejanje po referencah. Sprejema besedilo, slike in dokumente ter vrača besedilo in slike, s čimer povezuje pisni opis naloge z vizualnim rezultatom.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- Besedilo
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
- Vhod
text- Izhod
text- Izhodni format
- json ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-5-image | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve Najmanjše število elementov: 1 | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Primeri: system, user, assistant, tool, function Pogoji: Te vloge so izrecno predstavljene s tipi združljivosti v izvorni kodi; natančen nabor vlog ostaja odvisen od modela. Odvisno od modela | Privzeto— |
Poljemessages[].content | Vrstastring|content_part[]|null | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].tool_calls | Vrstatool_call[] | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].tool_call_id | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: role=tool; uporabite dejansko vrnjeni ID | Privzeto— |
Poljemessages[].name | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].reasoning_content | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Velja, ko: Pošljite nazaj dejansko vrnjeno sklepanje, kadar ga ta model uporablja | Privzeto— |
Poljemessages[].reasoning_details | Vrstaobject|array | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
Poljemax_completion_tokens | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Odvisno od modela | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Poljestream_options.include_usage | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetemperature | Vrstanumber | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetop_p | Vrstanumber | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljestop | Vrstastring|string[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetools | Vrstafunction_tool[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljetools[].type | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve function Odvisno od modela | Privzeto— |
Poljetools[].function.name | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Velja, ko: podano je funkcijsko orodje | Privzeto— |
Poljetools[].function.description | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljetools[].function.parameters | VrstaJSON_schema | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Poljetool_choice | Vrstastring|object | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeparallel_tool_calls | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeresponse_format | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljereasoning_effort | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljereasoning | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeservice_tier | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeinstructions | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Polje združljivosti | Privzeto— |
Poljefunctions | Vrstafunction[] | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljefunction_call | Vrstastring|object | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljeprompt_cache_options | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Odvisno od modela | Privzeto— |
Poljemodalities | Vrstastring[] | ZahtevaIzbirno | Vrednosti in omejitve text | Privzeto— |
Poljeprovider | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: provider.options je na tej besedilni poti Ultra zavrnjen | Privzeto— |
Poljecache_control.ttl | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve Pogoji: 1h je zavrnjen na dejanskih mestih za predpomnjenje pozivov | Privzeto— |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF8
messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages |
Parametermaterial_types | Specifikacijatext |
Parametermessages | Specifikacijapolje sporočil s strukturo role/content |
Parameterfile_material | Specifikacijadejanski dokument UTF-8 je vstavljen kot dobesedno besedilo; ID datoteke se ne izpeljuje |
Parameteroptional_controls | Specifikacijastream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice |
Parametercontrol_scope | Specifikacijaodvisno od modela; uporabniška funkcijska orodja se razlikujejo od orodij, ki jih izvaja storitev |
Parameteroutput_modalities | Specifikacijatext |
Parameterhosted_operations | Specifikacijafalse |
Parametermultimodal_input_binding | Specifikacijanull |
Življenjski cikel: synchronous_or_streamed
Pošljite natančen ID modela skupaj z messages.
Dolžina konteksta ni zgornja meja izhoda.
Besedilna datoteka lahko poda dobesedno besedilo; slikovni, zvočni vhodi in vhodi z datotečnimi objekti potrebujejo natančno vezavo.
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.02 / 1K žetonov Izhod · Izhodni žetoni $0.02 / 1K žetonov Vhod · Branje predpomnilnika $0.0025 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov Izhod · Izhodni žetoni slike $0.08 / 1K slikovnih žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.02 / 1K žetonov Izhod · Izhodni žetoni $0.02 / 1K žetonov Vhod · Branje predpomnilnika $0.0025 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
Podrobnosti referenčne tarife
Referenčne lestvice modela ne spreminjajo izbire metode, ocen cen ali stroškov. Veljavni stroški uporabljajo cene izbrane metode Ailoot.
OpenAI: GPT-5 Image
Cene po nastavitvah
| Nastavitev | Obračunski pogoji | Strošek |
|---|---|---|
| NastavitevOpenAI: GPT-5 Image · Privzeta konfiguracija | Obračunski pogojiPrivzeta konfiguracija | Strošek Vhod · Vhodni žetoni 0,02 $ / 1K žetonov Izhod · Izhodni žetoni 0,02 $ / 1K žetonov Izhod · Izhodna slika 0,08 $ / 1K žetonov Izhod · Iskanje po spletu 0,02 $ na iskanje Vhod · Branje predpomnilnika 0,0025 $ / 1K žetonov |
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 →
Primeri zahtev
Ailoot Ultra · OpenAI Chat
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
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"))
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")
Prejmi in shrani rezultate
Ailoot Ultra · OpenAI Chat
json ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vsako možnost odgovora ter njeno vsebino, klice orodij in sklepanje. V SSE sestavite delne spremembe po indeksu možnosti/orodja ter ohranite končni razlog zaključka in podatke o porabi.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljechoices[].index | Vrstainteger |
Poljechoices[].message.content | Vrstastring|null |
Poljechoices[].message.tool_calls | Vrstatool_call[] |
Poljechoices[].message.reasoning_content | Vrstastring |
Poljechoices[].message.reasoning_details | Vrstaobject|array |
Poljechoices[].finish_reason | Vrstastring|null |
Poljeusage | 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. |
Druga imena
Druga imena modelov
Ailoot Ultra openai/gpt-5-image
Druga imena poti metod
/v1/images
Povezani ID-ji za klic
Ailoot Ultra · Slike POST /v1/images/generations openai/gpt-5-image
openai/gpt-5-imageZačetek
GPT-5 Image združuje jezikovne zmožnosti in sklepanje GPT-5 podjetja OpenAI z GPT Image 1 za ustvarjanje slik in urejanje po referencah. Sprejema besedilo, slike in dokumente ter vrača besedilo in slike, s čimer povezuje pisni opis naloge z vizualnim rezultatom.
- 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 |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-5-image | Privzeto— |
Poljeprompt | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve Najmanjša dolžina: 1 | Privzeto— |
Poljeaspect_ratio | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve 1:1, 3:2, 2:3, auto | Privzeto— |
Poljequality | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve auto, low, medium, high | Privzeto— |
Poljebackground | Vrstastring | ZahtevaIzbirno | Vrednosti in omejitve auto, transparent, opaque | Privzeto— |
Poljen | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 1 Največ: 10 | Privzeto— |
Poljeinput_references | Vrstaarray | ZahtevaIzbirno | Vrednosti in omejitve Najmanjše število elementov: 0 Največ elementov: 16 | Privzeto— |
Poljeoutput_compression | Vrstainteger | ZahtevaIzbirno | Vrednosti in omejitve Najmanj: 0 Največ: 100 | Privzeto— |
Poljeprovider | Vrstaobject | ZahtevaIzbirno | Vrednosti in omejitve | Privzeto— |
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, prompt |
Parametermaterial_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.32768 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 →
Primeri zahtev
Ailoot Ultra · Slike
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
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}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Branje druge vsebine
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 |
|---|---|
Poljecreated | Vrsta |
Poljedata[].url | Vrsta |
Poljedata[].b64_json | Vrsta |
Poljeusage | Vrsta |
Druga imena
Druga imena modelov
Ailoot Ultra openai/gpt-5-image
Druga imena poti metod
/v1/images
Povezani ID-ji za klic
Ailoot Ultra · Anthropic Messages POST /v1/messages openai/gpt-5-image
openai/gpt-5-imageZačetek
GPT-5 Image združuje jezikovne zmožnosti in sklepanje GPT-5 podjetja OpenAI z GPT Image 1 za ustvarjanje slik in urejanje po referencah. Sprejema besedilo, slike in dokumente ter vrača besedilo in slike, s čimer povezuje pisni opis naloge z vizualnim rezultatom.
- Dovoljeni vhodi
- Besedilo
- Rezultati
- json · sse
Na voljo v Ailoot · vhodi in metode
Ailoot Ultra · Anthropic Messages POST /v1/messages
- Vhod
text- Izhod
json,sse- Izhodni format
- JSON ali SSE
| Polje | Vrsta | Zahteva | Vrednosti in omejitve | Privzeto |
|---|---|---|---|---|
Poljemodel | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve openai/gpt-5-image | Privzeto— |
Poljemessages | Vrstamessage[] | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemessages[].role | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve user, assistant | Privzeto— |
Poljemessages[].content | Vrstastring | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljemax_tokens | Vrstainteger | ZahtevaObvezno | Vrednosti in omejitve | Privzeto— |
Poljestream | Vrstaboolean | ZahtevaIzbirno | Vrednosti in omejitve | Privzetofalse |
Kombinacije vhodnih gradiv
Besedilo · Besedilo UTF-8
niz messages[].content
Parametri in življenjski cikel metode
| Parameter | Specifikacija |
|---|---|
Parametercontent_type | Specifikacijaapplication/json |
Parameterrequired | Specifikacijamodel, messages, max_tokens |
Parameteroptional_controls | Specifikacijastream |
Parametermaterial_types | Specifikacijatext |
Parametertext_file_material | SpecifikacijaPreberite dejanski dokument UTF-8 in njegovo besedilo vstavite v navedeni vhodni niz ali niz vsebine sporočila. |
Življenjski cikel: synchronous_or_streamed
Cenik
Tarifni podatki ne dodajajo možnosti zahteve. Podprti parametri so navedeni pri izbrani metodi.
- Hitri način
- Standardna tarifa Ko je izbran hitri način
- Način flex
- Standardna tarifa Ko je izbran način flex
- Najvišja raven razmišljanja
- Standardna tarifa Ko najvišja raven razmišljanja uporablja privzeto prilagoditev (default)
Cene Ailoot
Cene po nastavitvah
Vsak strošek povežite s prikazanimi pogoji. Za vsak nabor alternativnih nastavitev uporabite eno ceno.
| Nastavitev | Cenovna lestvica | Žetonov konteksta več kot | Žetonov konteksta do vključno | Strošek |
|---|---|---|---|---|
| NastavitevOsnovne cene za žetone | Cenovna lestvicaOsnovna cena | Žetonov konteksta več kot— | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.02 / 1K žetonov Izhod · Izhodni žetoni $0.02 / 1K žetonov Vhod · Branje predpomnilnika $0.0025 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov Izhod · Izhodni žetoni slike $0.08 / 1K slikovnih žetonov |
| NastavitevRazred 1 glede na dolžino zahteve | Cenovna lestvica— | Žetonov konteksta več kot0 | Žetonov konteksta do vključnoBrez zgornje meje | Strošek Vhod · Vhodni žetoni $0.02 / 1K žetonov Izhod · Izhodni žetoni $0.02 / 1K žetonov Vhod · Branje predpomnilnika $0.0025 / 1K žetonov Vhod · Zapis v predpomnilnik — / 1K žetonov Vhod · Zapis v predpomnilnik, 1 ura — / 1K žetonov |
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 →
Primeri zahtev
Ailoot Ultra · Anthropic Messages
{
"model": "openai/gpt-5-image",
"max_tokens": 128,
"messages": [
{
"role": "user",
"content": "Summarize the incident report."
}
],
"stream": false
}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
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))
Prejmi in shrani rezultate
Ailoot Ultra · Anthropic Messages
JSON ali SSE
Ohrani vse dokončane rezultate
Shranite vsak v celoti vrnjen odgovor, datoteko in del vsebine.
Ohranite vse vsebinske bloke, podpise sklepanja in dejanske ID uporabe orodij. Sestavite vse delne spremembe blokov SSE; prvi besedilni blok ni celoten izhod.
Če je treba preveriti izvirni odgovor
Ohranite ID zahtev/odgovorov in glave. Splošni URL za pridobivanje besedilne naloge ni podan.
Polja odgovora
| Polje | Vrsta |
|---|---|
Poljeid | Vrstastring |
Poljemodel | Vrstastring |
Poljecontent[] | Vrstatext|thinking|tool_use|other content block |
Poljestop_reason | Vrstastring|null |
Poljeusage | 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. |
Druga imena
Druga imena modelov
Ailoot Ultra openai/gpt-5-image
Druga imena poti metod
/v1/images
Povezani ID-ji za klic
FAQ · OpenAI: GPT-5 Image
- Kateri vhodi in rezultati so na voljo?
POST /v1/chat/completions·openai/gpt-5-image:text→textPOST /v1/images/generations·openai/gpt-5-image:text,image→imagePOST /v1/messages·openai/gpt-5-image:text→json,sse- Katera polja uporablja zahteva?
POST /v1/chat/completions·openai/gpt-5-image:model,messages,stream,modalities,providerPOST /v1/images/generations·openai/gpt-5-image:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,providerPOST /v1/messages·openai/gpt-5-image:model,messages,max_tokens,stream- Katere omejitve veljajo?
POST /v1/chat/completions·openai/gpt-5-image:messages.min_items:1POST /v1/images/generations·openai/gpt-5-image:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100