modeller

OpenAI: GPT-5 Image

Markdown · JSON

OpenAI: GPT-5 Image

GPT-5 Image kombinerer OpenAIs språk- og resonneringsegenskaper fra GPT-5 med GPT Image 1 for bildegenerering og referansestyrt redigering. Den godtar tekst, bilder og dokumenter og returnerer tekst og bilder, og knytter et skriftlig oppgavegrunnlag til et visuelt resultat.

Om modellen

Denne beskrivelsen dekker modellens funksjoner. Tilgjengelige inndata, utdata og alternativer i Ailoot er oppført nedenfor for den valgte metoden.

GPT-5 Image er en kombinert profil som samler OpenAIs språkmodell GPT-5 og GPT Image 1. Språkkomponenten tolker krav og kildemateriale; bildekomponenten skaper det visuelle resultatet. Den publiserte beskrivelsen fremhever resonnering, instruksjonsfølging, gjengivelse av tekst i bilder og detaljert bilderedigering. Profilen passer til oppgaver der et visuelt produkt og den skriftlige tolkningen av det må følge det samme oppgavegrunnlaget.

Tolk oppgavegrunnlaget og skap produktet

Gi modellen formålet med bildet, målgruppen og innholdet som må være med. Skill fakta som må gjengis nøyaktig, fra valg av komposisjon eller visuelt uttrykk. Et diagramgrunnlag kan angi enhetene og sammenhengene, og deretter etiketter, plassering og stil. Et plakatgrunnlag kan definere arrangementsinformasjonen, hierarkiet og scenen, med de nøyaktige ordene som skal være i bildet.

Forbered for eksempel et plakatkonsept for et vitenskapsarrangement for lokalsamfunnet. Oppgi arrangementsfaktaene, be om en kort forklaring av utformingen, og be om et bilde som bruker en tydelig tittel med støttende visuelle elementer. Angi hvilke ord som skal være i bildet, og hvilke som bare hører hjemme i den tilhørende beskrivelsen. Gjennomgå den skriftlige forklaringen og den genererte plakaten samlet, slik at en fornuftig utformingsplan kontrolleres mot det faktiske synlige resultatet.

Tekst, bilder og filer som PDF-filer er dokumenterte inndata til den kombinerte profilen. Et dokument kan gi kravene til et visuelt produkt eller informasjonen som skal oppsummeres. Referansebilder kan etablere et motiv, et produkt, et sted eller en utforming. Navngi hver kilde og forklar rollen før du beskriver målet, særlig når en referanse inneholder både innhold som skal beholdes, og innhold som skal endres.

Referansestyrte endringer og tekstgjengivelse

For en revisjon angir du kildebildet og beskriver den ønskede endringen presist. En redigering av en produktscene kan endre omgivelsene og samtidig beholde gjenstandens form og synlige merking. En visuell forklaring kan erstatte ett element og beholde sammenhengene rundt. Angi kravene til bevaring i oppgavegrunnlaget, og undersøk det faktiske bildet for detaljene som er viktige.

Kortet for akkurat denne kombinerte profilen tillater opptil seksten referansebilder for redigering. Hold referansene relevante for oppgaven, og forklar hvilke trekk hver av dem bidrar med. Når flere bilder viser ulik belysning, ulike synsvinkler eller uttrykk, angir du ønsket komposisjon fremfor å be alle kildene dominere resultatet. Behold kildene sammen med det ferdige bildet, slik at en senere rettelse kan vise til det samme materialet.

Den publiserte profilen inkluderer tekstgjengivelse blant mulighetene. Oppgi nøyaktig ordlyd, tegnsetting og plassering for viktig tekst, og angi forholdet til gjenstander eller andre etiketter. Kontroller hvert obligatoriske ord og tall i det returnerte bildet ved den tiltenkte visningsstørrelsen. For et diagram kontrollerer du også at linjer, plasseringer og grupperinger uttrykker sammenhengen som er beskrevet i den skriftlige kilden.

Kontekst og svarform

Den kombinerte profilen publiserer et kontekstvindu på 400000 tokener og opptil 128000 fullføringstokener. Disse grensene beskriver inndataene og den genererte fullføringen, ikke en bestemt pikselstørrelse eller et bildeantall. Bruk konteksten til relevante krav, referanser og samtaletilstand, og la det være rom for de forespurte utdataene. Merk langt kildemateriale slik at modellen kan knytte hver instruksjon til riktig passasje.

Den dokumenterte spesifikasjonen for tekstutdata støtter strukturerte resultater gjennom et JSON-skjema. Et skriftlig svar kan definere feltene som trengs for å beskrive et konsept, oppsummere et krav eller angi en ønsket endring. Valider feltene og verdiene mot kilden før en applikasjon bruker dem. Den kombinerte profilen stiller ikke funksjonskall til applikasjonen til rådighet, selv om den navngitte språk- og bildesammensetningen utfører visuell generering internt.

Skjemaet for samtaleforespørsler kan velge text og image som utdatamodaliteter. Angi de faktiske skriftlige og visuelle leveransene i oppgavegrunnlaget, og undersøk deretter det fullførte svaret for begge. Bildekonfigurasjonen gjelder akkurat modellen og grensesnittet. Behold de godkjente innstillingene sammen med forespørselen, og bruk bare innstillinger som er dokumentert for den kombinerte profilen; et direkte bildekomponentgrensesnitt kan ha en annen ordning av felt og muligheter.

Bruk den navngitte sammensetningen bevisst

Bildekomponenten som er navngitt for denne profilen, er GPT Image 1. Den direkte bildegenereringsprofilen håndterer bildefokuserte oppgaver, mens GPT-5 Image knytter denne muligheten til språkbehandling fra GPT-5. GPT-5 Image Mini er en separat kombinasjon av GPT-5 Mini og GPT Image 1 Mini. Behold den valgte profilens identitet sammen med kildematerialet og utdatainnstillingene fremfor å behandle kombinasjoner med lignende navn som den samme modellen.

For en samtale med flere revisjoner tar du med de relevante skriftlige kravene og kildereferansene videre. Angi den konkrete rettelsen i det nyeste oppgavegrunnlaget, for eksempel å flytte en etikett, endre en gjenstand eller forenkle komposisjonen. Unngå en urettet forespørsel om å gjøre alt bedre når den nyttige endringen allerede er synlig i det returnerte produktet.

Behold og gjennomgå det ferdige resultatet

Behold det skriftlige svaret og hvert faktiske bildeprodukt som følger med fullføringen. Lagre bildene i det rapporterte formatet, sammen med instruksjonen, kildereferansene og de valgte innstillingene. Undersøk selve bildet for komposisjon, motivdetaljer og tekst; sammenlign støtteprosaen med belegget den beskriver. Et nyttig ferdig resultat knytter de skriftlige kravene til et bilde som kan åpnes, gjennomgås og plasseres i det tiltenkte dokumentet, på siden eller i den kreative arbeidsflyten.

Praktisk oppgave

Praktisk oppgave

Teknisk eksempel på engelsk

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.

Forventet resultat

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

Kontroller resultatet

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

OpenAI /openai/gpt-5-image

Start

GPT-5 Image kombinerer OpenAIs språk- og resonneringsegenskaper fra GPT-5 med GPT Image 1 for bildegenerering og referansestyrt redigering. Den godtar tekst, bilder og dokumenter og returnerer tekst og bilder, og knytter et skriftlig oppgavegrunnlag til et visuelt resultat.

Godkjente inndata
Tekst
Resultater
Tekst

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · OpenAI Chat POST /v1/chat/completions
Inndatatyper
text
Utdatatyper
text
Utdataformat
json eller SSE
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
openai/gpt-5-image
Standard—
FeltmessagesTypemessage[]KravPåkrevdVerdier & grenser
Minste antall elementer: 1
Standard—
Feltmessages[].roleTypestringKravPåkrevdVerdier & grenser
Eksempler: system, user, assistant, tool, function
Vilkår: Disse rollene representeres eksplisitt av kompatibilitetstyper i kildekoden; det eksakte rollesettet for modellen er fortsatt modellspesifikt.
Avhenger av modellen
Standard—
Feltmessages[].contentTypestring|content_part[]|nullKravValgfrittVerdier & grenserStandard—
Feltmessages[].tool_callsTypetool_call[]KravValgfrittVerdier & grenserStandard—
Feltmessages[].tool_call_idTypestringKravValgfrittVerdier & grenser
Gjelder når: role=tool; bruk faktisk returnert ID
Standard—
Feltmessages[].nameTypestringKravValgfrittVerdier & grenserStandard—
Feltmessages[].reasoning_contentTypestringKravValgfrittVerdier & grenser
Gjelder når: Send den faktisk returnerte resonneringen tilbake der denne modellen bruker den
Standard—
Feltmessages[].reasoning_detailsTypeobject|arrayKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltmax_tokensTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Avhenger av modellen
Standard—
Feltmax_completion_tokensTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Avhenger av modellen
Standard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
Feltstream_options.include_usageTypebooleanKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FelttemperatureTypenumberKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Felttop_pTypenumberKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltstopTypestring|string[]KravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FelttoolsTypefunction_tool[]KravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Felttools[].typeTypestringKravValgfrittVerdier & grenser
function
Avhenger av modellen
Standard—
Felttools[].function.nameTypestringKravPåkrevdVerdier & grenser
Gjelder når: funksjonsverktøy oppgitt
Standard—
Felttools[].function.descriptionTypestringKravValgfrittVerdier & grenserStandard—
Felttools[].function.parametersTypeJSON_schemaKravValgfrittVerdier & grenserStandard—
Felttool_choiceTypestring|objectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltparallel_tool_callsTypebooleanKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltresponse_formatTypeobjectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltreasoning_effortTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltreasoningTypeobjectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltservice_tierTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltinstructionsTypestringKravValgfrittVerdier & grenser
Kompatibilitetsfelt
Standard—
FeltfunctionsTypefunction[]KravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltfunction_callTypestring|objectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltprompt_cache_optionsTypeobjectKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltmodalitiesTypestring[]KravValgfrittVerdier & grenser
text
Standard—
FeltproviderTypeobjectKravValgfrittVerdier & grenser
Vilkår: provider.options avvises på denne Ultra-tekstruten
Standard—
Feltcache_control.ttlTypestringKravValgfrittVerdier & grenser
Vilkår: 1h avvises på faktiske steder for mellomlagring av ledetekster
Standard—
Kombinasjoner av inngående materialer

Tekst · UTF8-tekst

messages[].content

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, messages
Parametermaterial_typesAvtaletext
ParametermessagesAvtalemeldingstabell med role/content-struktur
Parameterfile_materialAvtalefaktisk UTF-8-dokument satt inn som bokstavelig tekst; ingen fil-ID utledes
Parameteroptional_controlsAvtalestream, temperature, top_p, stop, max_tokens, max_completion_tokens, reasoning, response_format, tools, tool_choice
Parametercontrol_scopeAvtalemodellspesifikt; brukerens funksjonsverktøy skiller seg fra driftede verktøy
Parameteroutput_modalitiesAvtaletext
Parameterhosted_operationsAvtalefalse
Parametermultimodal_input_bindingAvtalenull

Livssyklus: synchronous_or_streamed

Send eksakt modell-ID sammen med messages.

Kontekstlengde er ikke en outputgrense.

En tekstfil kan levere bokstavelig tekst; bilde-, lyd- og filobjektinput trenger eksakt binding.

Priser

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Standardpris Når hurtigmodus er valgt
Flex-modus
Standardpris Når flex-modus er valgt
Maksimal resonneringsinnsats
Standardpris Når justeringen «default» brukes for maksimal resonneringsinnsats

Ailoot-satser

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonPrisplanKonteksttokener, mer ennKonteksttokener, opptil og medKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKonteksttokener, mer enn—Konteksttokener, opptil og medIngen øvre grenseKostnad
Inndata · Inngående tokener $0.02 / 1K tokener
Utdata · Utgående tokener $0.02 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0.0025 / 1K tokener
Inndata · Skriving til hurtigbuffer — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener
Utdata · Utdatatokener for bilder $0.08 / 1K bildetokener
KonfigurasjonNivå 1 for forespørselslengdePrisplan—Konteksttokener, mer enn0Konteksttokener, opptil og medIngen øvre grenseKostnad
Inndata · Inngående tokener $0.02 / 1K tokener
Utdata · Utgående tokener $0.02 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0.0025 / 1K tokener
Inndata · Skriving til hurtigbuffer — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener

Detaljer om referansetariffen

Referanseprisplaner på modellnivå endrer ikke metodevalg, prisoverslag eller kostnader. Aktive kostnader bruker satsene til den valgte Ailoot-metoden.

OpenAI: GPT-5 Image

Priser etter konfigurasjon

KonfigurasjonFaktureringsvilkårKostnad
KonfigurasjonOpenAI: GPT-5 Image · StandardkonfigurasjonFaktureringsvilkårStandardkonfigurasjonKostnad
Inndata · Inngående tokener 0,02 USD / 1K tokener
Utdata · Utgående tokener 0,02 USD / 1K tokener
Utdata · Utdatabilde 0,08 USD / 1K tokener
Utdata · Nettsøk 0,02 USD per søk
Inndata · Lesing fra hurtigbuffer 0,0025 USD / 1K tokener

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · OpenAI Chat

curlPython SDKPython-strømming
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")

Motta og lagre resultater

Ailoot Ultra · OpenAI Chat

json eller SSE

Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Behold hvert svaralternativ med innhold, verktøykall og resonnering. Sett sammen endringer i SSE etter svaralternativets/verktøyets indeks, og behold endelig avslutningsgrunn og bruksdata.

Hvis det opprinnelige svaret må kontrolleres

Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.

Svarfelter
FeltType
Feltchoices[].indexTypeinteger
Feltchoices[].message.contentTypestring|null
Feltchoices[].message.tool_callsTypetool_call[]
Feltchoices[].message.reasoning_contentTypestring
Feltchoices[].message.reasoning_detailsTypeobject|array
Feltchoices[].finish_reasonTypestring|null
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.

Aliaser

Modellaliaser

Ailoot Ultra openai/gpt-5-image

Aliaser for metodestier

/v1/images

Tilknyttede anroper-ID-er

openai/gpt-5-image

Ailoot Ultra · Bilder POST /v1/images/generations openai/gpt-5-image

openai/gpt-5-image

OpenAI /openai/gpt-5-image

Start

GPT-5 Image kombinerer OpenAIs språk- og resonneringsegenskaper fra GPT-5 med GPT Image 1 for bildegenerering og referansestyrt redigering. Den godtar tekst, bilder og dokumenter og returnerer tekst og bilder, og knytter et skriftlig oppgavegrunnlag til et visuelt resultat.

Godkjente inndata
Tekst · Bilder
Resultater
Bilder

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Bilder POST /v1/images/generations
Inndatatyper
text, image
Utdatatyper
image
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
openai/gpt-5-image
Standard—
FeltpromptTypestringKravPåkrevdVerdier & grenser
Minste lengde: 1
Standard—
Feltaspect_ratioTypestringKravValgfrittVerdier & grenser
1:1, 3:2, 2:3, auto
Standard—
FeltqualityTypestringKravValgfrittVerdier & grenser
auto, low, medium, high
Standard—
FeltbackgroundTypestringKravValgfrittVerdier & grenser
auto, transparent, opaque
Standard—
FeltnTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Maksimum: 10
Standard—
Feltinput_referencesTypearrayKravValgfrittVerdier & grenser
Minste antall elementer: 0
Maksimalt antall elementer: 16
Standard—
Feltoutput_compressionTypeintegerKravValgfrittVerdier & grenser
Minimum: 0
Maksimum: 100
Standard—
FeltproviderTypeobjectKravValgfrittVerdier & grenserStandard—
Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, prompt
Parametermaterial_typesAvtaletext, image

Livssyklus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · faktisk returnert task_id eller oppføring i mediebiblioteket

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Priser

Slik beregnes det endelige beløpet

De viste satsene anslår kostnaden før generering. Det endelige beløpet beregnes ut fra kostnaden som er registrert for den opprinnelige genereringen. Målt varighet på utdataene og anslåtte mengder er ikke den endelige fakturerbare mengden.

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Ikke angitt Når hurtigmodus er valgt
Flex-modus
Ikke angitt Når flex-modus er valgt
Maksimal resonneringsinnsats
Ikke angitt Når justeringen «default» brukes for maksimal resonneringsinnsats

Estimerte satser for sammenligning

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonPrisplanForventet mengdeKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsForventet mengde—Kostnad
Inndata · Inngående tokener · Estimat kun for sammenligning — / 1K tokener
Utdata · Utgående tokener · Estimat kun for sammenligning — / 1K tokener
Inndata · Lesing fra hurtigbuffer · Estimat kun for sammenligning — / 1K tokener
Inndata · Skriving til hurtigbuffer · Estimat kun for sammenligning — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time · Estimat kun for sammenligning — / 1K tokener
KonfigurasjonAnslått genereringskostnadPrisplan—Forventet mengdeestimat for én genereringKostnad
Utdata · Anslått genereringskostnad · Estimat kun for sammenligning $0.32768 estimat før generering

Dette anslaget er verken en tilleggsavgift eller en fast sats for den fullførte genereringen.

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · Bilder

curl
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p={'model': 'openai/gpt-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

Motta og lagre resultater

Ailoot Ultra · Bilder

Last ned hvert returnerte bilde eller lagre Base64-innholdet

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Andre innholdslesinger
Les eksisterende ressurser som tilhører deg
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.
Behold alle ferdige resultater

Lagre hvert ferdige bilde; hent hver returnerte URL eller dekod Base64-innholdet.

Bevar hele svaret og svarhodene, alle faktiske utdata, de opprinnelige returnerte identifikatorene og alle bruksfeltene. Hent den opprinnelige operasjonen igjen uten å sende opprettelsesforespørselen på nytt.

Hvis det opprinnelige svaret må kontrolleres

Bevar returnert X-Client-Request-ID for avstemming. Les bare faktisk returnerte task_id/asset_id-verdier eller egne oppføringer i mediebiblioteket; bygg aldri en oppgave-URL fra operasjons-ID-en, og send aldri opprettelsesforespørselen på nytt.

Svarfelter
FeltType
FeltcreatedType
Feltdata[].urlType
Feltdata[].b64_jsonType
FeltusageType

Aliaser

Modellaliaser

Ailoot Ultra openai/gpt-5-image

Aliaser for metodestier

/v1/images

Tilknyttede anroper-ID-er

openai/gpt-5-image

Ailoot Ultra · Anthropic Messages POST /v1/messages openai/gpt-5-image

openai/gpt-5-image

OpenAI /openai/gpt-5-image

Start

GPT-5 Image kombinerer OpenAIs språk- og resonneringsegenskaper fra GPT-5 med GPT Image 1 for bildegenerering og referansestyrt redigering. Den godtar tekst, bilder og dokumenter og returnerer tekst og bilder, og knytter et skriftlig oppgavegrunnlag til et visuelt resultat.

Godkjente inndata
Tekst
Resultater
json · sse

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Anthropic Messages POST /v1/messages
Inndatatyper
text
Utdatatyper
json, sse
Utdataformat
JSON eller SSE
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
openai/gpt-5-image
Standard—
FeltmessagesTypemessage[]KravPåkrevdVerdier & grenserStandard—
Feltmessages[].roleTypestringKravPåkrevdVerdier & grenser
user, assistant
Standard—
Feltmessages[].contentTypestringKravPåkrevdVerdier & grenserStandard—
Feltmax_tokensTypeintegerKravPåkrevdVerdier & grenserStandard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
Kombinasjoner av inngående materialer

Tekst · UTF-8-tekst

messages[].content-streng

Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtalemodel, messages, max_tokens
Parameteroptional_controlsAvtalestream
Parametermaterial_typesAvtaletext
Parametertext_file_materialAvtaleLes det faktiske UTF-8-dokumentet og legg teksten i den angitte input- eller meldingsinnholdsstrengen.

Livssyklus: synchronous_or_streamed

Priser

Tariffopplysninger legger ikke til forespørselsvalg. Støttede parametere står ved den valgte metoden.

Hurtigmodus
Standardpris Når hurtigmodus er valgt
Flex-modus
Standardpris Når flex-modus er valgt
Maksimal resonneringsinnsats
Standardpris Når justeringen «default» brukes for maksimal resonneringsinnsats

Ailoot-satser

Priser etter konfigurasjon

Knytt hver kostnad til de viste vilkårene. Bruk én sats for hvert sett med alternative konfigurasjoner.

KonfigurasjonPrisplanKonteksttokener, mer ennKonteksttokener, opptil og medKostnad
KonfigurasjonGrunnpriser for tokenerPrisplanGrunnsatsKonteksttokener, mer enn—Konteksttokener, opptil og medIngen øvre grenseKostnad
Inndata · Inngående tokener $0.02 / 1K tokener
Utdata · Utgående tokener $0.02 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0.0025 / 1K tokener
Inndata · Skriving til hurtigbuffer — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener
Utdata · Utdatatokener for bilder $0.08 / 1K bildetokener
KonfigurasjonNivå 1 for forespørselslengdePrisplan—Konteksttokener, mer enn0Konteksttokener, opptil og medIngen øvre grenseKostnad
Inndata · Inngående tokener $0.02 / 1K tokener
Utdata · Utgående tokener $0.02 / 1K tokener
Inndata · Lesing fra hurtigbuffer $0.0025 / 1K tokener
Inndata · Skriving til hurtigbuffer — / 1K tokener
Inndata · Skriving til hurtigbuffer, 1 time — / 1K tokener

Ailoot reserverer et estimert beløp før en forespørsel. Etter resultatet gjøres det endelige beløpet opp basert på målt forbruk. Oppgjør for strømming bruker den endelige forbruksposten. Slik fungerer reservasjon og oppgjør →

Eksempelforespørsler

Ailoot Ultra · Anthropic Messages

Komplett, minimal JSON-kroppcurl · bruk UTF-8-dokumentet dittPython · lagre hele resultatet
{
  "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))

Motta og lagre resultater

Ailoot Ultra · Anthropic Messages

JSON eller SSE

Behold alle ferdige resultater

Behold alle fullstendige returnerte svar, filer og innholdsdeler.

Behold alle innholdsblokker, resonneringssignaturer og faktiske ID-er for verktøybruk. Sett sammen alle SSE-blokkendringer; den første tekstblokken er ikke hele resultatet.

Hvis det opprinnelige svaret må kontrolleres

Behold forespørsels-/svar-ID-er og headere. Ingen generell URL for henting av tekstjobber oppgis.

Svarfelter
FeltType
FeltidTypestring
FeltmodelTypestring
Feltcontent[]Typetext|thinking|tool_use|other content block
Feltstop_reasonTypestring|null
FeltusageTypeobject
Feil og neste trinn
SvarVilkårNeste trinn
Svar400 · invalid_request_errorVilkårUgyldige påkrevde felter, materialrepresentasjon eller parameterverdiNeste trinnKorriger de angitte feltene før en ny opprettelsesforespørsel.

Aliaser

Modellaliaser

Ailoot Ultra openai/gpt-5-image

Aliaser for metodestier

/v1/images

Tilknyttede anroper-ID-er

openai/gpt-5-image

FAQ · OpenAI: GPT-5 Image
Hvilke inndata og resultater er tilgjengelige?

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

Hvilke felt bruker forespørselen?

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

Hvilke grenser gjelder?

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

Flere detaljer

Koble Ailoot til Claude Code, OpenCode, Hermes eller egen applikasjon.

Selskapet og dets prosjektportefølje

Selskapet og dets prosjektportefølje: millioner av kunder; månedlig salg for milliarder.

Kjøp tokener med rabatt.

Abonnementsrabatt for jevnlig bruk. Kampanjekoder gir opptil 50% på tokenkjøp.

Abonnement
Velg et rabattabonnement for faste forespørsler.
Kampanjekode opptil 50%
Oppgi kode ved kjøp. Prisen beregnes på nytt etter gjeldende kampanje.
Kostnader i historikken
Modell, tokener og beløp lagres for hver forespørsel.

Velg abonnement · Se modellpriser

Koble API-et til produktet du selger.

SaaS, apper og boter etter Ailoots offentlige tilbud og lisensavtale. Be om forhandlerlisens for videresalg.

Kommersiell applikasjon
Bygg tekst-, bilde-, video- og lydgenerering inn i betalte funksjoner i tjenesten.
Forhandlerlisens
Send prosjektbeskrivelse og tilgangsopplegg. Be om skriftlige vilkår for bruk og videresalg.
Dokumenter på nettstedet
Offentlig tilbud, lisensavtale og retningslinjer for databehandling er tilgjengelige før tilkobling.

Be om forhandlerlisens · Offentlig tilbud og lisensavtale