modeller

OpenAI: GPT Image 2.5 Flare

Markdown · JSON

OpenAI: GPT Image 2.5 Flare

GPT Image 2.5 Flare genererer og redigerer bilder fra tekst og referanser, med vekt på rask visuell produksjon i det daglige. Den støtter egendefinerte størrelser, gjennomsiktige bakgrunner, masker og kvalitetsnivåer opptil max for utkast, illustrasjoner og kampanjemateriell.

Om modellen

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

GPT Image 2.5 Flare er OpenAIs utgave for bildegenerering og bilderedigering rettet mot raskt daglig arbeid med høy kvalitet. Den tar imot tekst og bilder og returnerer bilderesultater. Bruk den til visuelle utkast, illustrasjoner, produktkonsepter og gjentakende kreative oppgaver der en oppdragsbeskrivelse raskt skal bli til et brukbart bilde. Flare er adskilt fra Sunburst, som er rettet mot presisjon ved redigering. Velg Flare til rutinemessig bildeproduksjon og Sunburst når presis redigering er viktigst.

Begynn med hovedmotiv, handling, omgivelser, komposisjon og visuell behandling. For en kampanjeillustrasjon kan du be om en syklist som krysser en liten bro i varmt kveldslys, med en markant silhuett og åpen himmel til senere tekst. En kort utforskende oppdragsbeskrivelse kan la estetiske valg stå åpne; en produksjonsbeskrivelse bør angi detaljene og plasseringen som betyr noe. De direkte genererings- og redigeringsflytene tillater prompter på opptil 32 000 tegn og ett til ti resultater, noe som gjør det nyttig å sammenligne noen få varianter mot det samme formålet.

Redigering kan bruke opptil seksten referansebilder. Gi hver referanse en tydelig rolle, i stedet for å forvente at modellen avgjør om et bilde representerer motividentitet, omgivelser eller stil. En maske kan styre en endring av et område; med flere bilder gjelder den det første. Bildet og masken må ha samme format og dimensjoner, og masken må inneholde en alfakanal. Veiledningen krever at kilden og masken er under 50 MB. En maske er veiledning, ikke et løfte om nøyaktig bevaring av grensene, så angi både ønsket endring og hva som skal forbli gjenkjennelig.

Flare støtter kvalitetene low, medium, high, xhigh, max og automatisk kvalitet, med auto som standard. Lavere kvalitet kan brukes til et raskt visuelt utkast; høyere innstillinger kan sammenlignes for detaljene i en sluttfil. Kvalitet er uavhengig av størrelse og utdatakomprimering. Standardstørrelsene omfatter 1024 × 1024, 1536 × 1024 og 1024 × 1536, med automatiske eller egendefinerte dimensjoner også tilgjengelig. Velg retning ut fra sluttplasseringen og den nyttige plassen i scenen.

Egendefinert bredde og høyde må være multipler av seksten, og ingen side kan være over 3840 piksler. Det tillatte sideforholdet går fra 1:3 til 3:1, og totalarealet må være minst 655 360 og høyst 8 294 400 piksler. Alle fire vilkårene gjelder samtidig. Veiledningen identifiserer oppløsninger over 2560 × 1440 som eksperimentelle. Bruk et gyldig bildeformat som passer komposisjonen, og ta med eventuelle beskjæringsfølsomme detaljer i oppdragsbeskrivelsen, i stedet for å behandle større oppløsning som en automatisk layoutforbedring.

Resultatformatet er PNG som standard, med JPEG og WebP som alternativer. JPEG og WebP tillater komprimering fra 0 til 100. For gjennomsiktig bakgrunn velger du PNG eller WebP; ugjennomsiktige og automatiske bakgrunner støttes også. En gjennomsiktig ressurs kan plasseres i en senere layout, mens et ugjennomsiktig bilde har sin egen bakgrunn. Velg format, bakgrunn og komprimering ut fra det faktiske leveringsbehovet, og behold den ferdige filen sammen med oppdragsbeskrivelsen og de valgte innstillingene.

Produsenten dokumenterer direkte bildegenerering og redigeringer, samt et samtalebasert bildeverktøy som kan bevare valgte resultater for senere endringer. I den arbeidsflyten kan handlingen være automatisk, tvungen generering eller tvungen redigering når et bilde finnes i konteksten. Strømming kan vise opptil tre delbilder før sluttresultatet. Disse forhåndsvisningene viser fremdrift, ikke flere ferdige leveranser. For trinnvis arbeid bør du fortsette fra det valgte bildet og beskrive en synlig endring, som å flytte ett objekt eller justere fargebehandlingen. Produsentens grensesnitt støtter også satsvis behandling.

Kontroller bildets skrift, objektplassering, motivdetaljer og komposisjon i den tiltenkte størrelsen. GPT Image kan fortsatt ha problemer med nøyaktig tekstplassering, strukturerte layouter og gjentatt visuell identitet på tvers av genereringer. Behold en godkjent variant som neste referanse, og avgrens den påfølgende redigeringen til problemet som betyr noe. Flares rolle for daglig generering er nyttig for en tydelig sekvens med oppdragsbeskrivelse, visuelle alternativer, utvalg og finpussing, der sluttfilen vurderes mot det faktiske kreative formålet.

Ailoot · Bilder POST /v1/images/generations gpt-image-2.5-flare

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare

Start

GPT Image 2.5 Flare genererer og redigerer bilder fra tekst og referanser, med vekt på rask visuell produksjon i det daglige. Den støtter egendefinerte størrelser, gjennomsiktige bakgrunner, masker og kvalitetsnivåer opptil max for utkast, illustrasjoner og kampanjemateriell.

Godkjente inndata
Tekst
Resultater
Bilder

Tilgjengelig i Ailoot · inndata & metoder

Ailoot · Bilder POST /v1/images/generations
Inndatatyper
text
Utdatatyper
image
Utdataformat
Bildefil
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
gpt-image-2.5-flare
Standard—
FeltpromptTypestringKravPåkrevdVerdier & grenser
Minste lengde: 1
Standard—
FeltnTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Standard1
Feltresponse_formatTypestringKravValgfrittVerdier & grenser
url, b64_json
Standard—
FeltstreamTypebooleanKravValgfrittVerdier & grenserStandardfalse
FeltsizeTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltqualityTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltbackgroundTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltoutput_formatTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltoutput_compressionTypeintegerKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltmoderationTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltinput_fidelityTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
FeltstyleTypestringKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Feltpartial_imagesTypeintegerKravValgfrittVerdier & grenser
Avhenger av modellen
Standard—
Kombinasjoner av inngående materialer

Tekst til bilde · Påkrevd: prompt

Metodeparametere og livssyklus
ParameterAvtale
Parametermaterial_typesAvtaletext
ParameterrequiredAvtalemodel, prompt
Parameteroptional_controlsAvtalenull
Parametercontent_typeAvtaleapplication/json

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}

Metodestrukturer og ID-er er eksakte; leverandørens evne er adskilt fra godkjenning av forespørselen.

Priser

Satser for Ailoot-metoder

Ailoot BilderPOST /v1/images/generations
Tekstinndata
0,005 USD / 1K
Inndata, bilde
0,008 USD / 1K tokens
Utdata, bilde
0,03 USD / 1K tokens

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 · Bilder

curlPython SDKNode.js SDK
set -eu
: "${AILOOT_API_KEY:?Set your Ailoot API key}"
export AILOOT_API_KEY
export AILOOT_API_KEY
: "${AILOOT_PROMPT_FILE:?Set your actual UTF-8 image brief}"
export AILOOT_PROMPT_FILE
python3 - <<'PY_REQUEST'
import json,os
from pathlib import Path
p=json.loads('{"model": "gpt-image-2.5-flare", "prompt": ""}')
f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Choose your actual UTF-8 brief")
p['prompt']=f.read_text(encoding="utf-8")
if not p['prompt'].strip():raise SystemExit("Brief must contain text")
Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT
from openai import OpenAI
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")

f=Path(os.environ["AILOOT_PROMPT_FILE"])
if not f.is_file():raise SystemExit("Set your actual UTF-8 image brief file")
request={'model': 'gpt-image-2.5-flare', 'prompt': ''}
request["prompt"]=f.read_text(encoding="utf-8")
client=OpenAI(base_url="https://api.ailoot.ai/v1",api_key=os.environ["AILOOT_API_KEY"],max_retries=0)
result=client.images.generate(**request)
Path("sdk-result.txt").write_text(str(result),encoding="utf-8")
save_images([{"b64_json":getattr(item,"b64_json",None),"url":getattr(item,"url",None)} for item in result.data])
import OpenAI from "openai";
import { readFileSync, writeFileSync } from "node:fs";
const key=process.env.AILOOT_API_KEY;
if(!key) throw new Error("Set your actual Ailoot API key");
const client=new OpenAI({baseURL:"https://api.ailoot.ai/v1",apiKey:key,maxRetries:0});
const request={"model": "gpt-image-2.5-flare", "prompt": ""};
if(!process.env.AILOOT_PROMPT_FILE)throw new Error("Set your actual UTF-8 image brief file");
request.prompt=readFileSync(process.env.AILOOT_PROMPT_FILE,"utf8");
const result=await client.images.generate(request);
writeFileSync("sdk-result.json",JSON.stringify(result,null,2));
if(!result.data?.length) throw new Error("No completed images");
for(let index=0;index<result.data.length;index++) {
  const item=result.data[index];let encoded=item.b64_json,uri=item.url||"",raw;
  if(!encoded && uri.startsWith("data:image/")) {
    const comma=uri.indexOf(",");if(comma<0 || !uri.slice(0,comma).includes(";base64")) throw new Error("Unsupported image data URI");
    encoded=uri.slice(comma+1);
  }
  if(encoded) {
    if(encoded.length%4!==0 || !/^[A-Za-z0-9+/]*={0,2}$/.test(encoded)) throw new Error("Invalid Base64");
    raw=Buffer.from(encoded,"base64");
  } else if(uri) {
    const u=new URL(uri,"https://api.ailoot.ai");
    if(u.protocol!=="https:" || u.username || u.password) throw new Error("Invalid returned URL");
    const owned=u.origin==="https://api.ailoot.ai" && u.pathname.startsWith("/v1/media/assets/") && u.pathname.endsWith("/content");
    const response=await fetch(u,{headers:owned?{Authorization:"Bearer "+key}:{},redirect:"manual"});
    if(!response.ok) throw new Error("Image content download failed: "+response.status);
    raw=Buffer.from(await response.arrayBuffer());
  } else throw new Error("Image has neither bytes nor URL");
  if(!raw.length) throw new Error("Empty image result");
  const ext=raw.subarray(0,4).equals(Buffer.from([137,80,78,71]))?"png":raw[0]===255&&raw[1]===216?"jpg":raw.toString("ascii",0,4)==="RIFF"&&raw.toString("ascii",8,12)==="WEBP"?"webp":raw.toString("utf8").trimStart().startsWith("<svg")||raw.toString("utf8").trimStart().startsWith("<?xml")?"svg":"bin";
  writeFileSync(`image-${index}.${ext}`,raw);
}
console.log("Every returned image saved; sdk-result.json retains complete metadata");

Motta og lagre resultater

Ailoot · 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}
Behold alle ferdige resultater

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

Lagre hvert dataelement. Dekod hver b64_json, eller hent hver returnerte signerte URL. Velg filendelse ut fra faktisk MIME-type/byteinnhold.

Hvis det opprinnelige svaret må kontrolleres

Hvis et resultat fra bildegenerering eller bilderedigering må kontrolleres, bevar opprinnelig operation_id/X-Client-Request-ID og den returnerte resultatinformasjonen. Hent eksisterende resultater du eier via mediebiblioteket, ved hjelp av faktiske task_id- eller asset_id-verdier. Ikke send genererings-/redigeringsforespørselen på nytt, og ikke konstruer en URL for statusavlesning fra operation_id.

Svarfelter
FeltType
FeltcreatedTypeinteger
Feltdata[].urlTypestring
Feltdata[].b64_jsonTypebase64 string
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.
Svarserver_errorVilkårDet returnerte svaret angir at operasjonen eller resultatet må kontrolleresNeste trinnBevar den opprinnelige returnerte operasjons-/oppgave-ID-en, forespørselshodene og svaret; fortsett å lese den opprinnelige operasjonen på de støttede måtene. Ikke send opprettelsesforespørselen på nytt.

Aliaser

Modellaliaser

Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

Aliaser for metodestier

/v1/images

Tilknyttede anroper-ID-er

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

Ailoot Ultra · Bilder POST /v1/images/generations gpt-image-2.5-flare

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare
Modell-ID
  • gpt-image-2.5-flare
  • openai/gpt-image-2.5-flare

Start

GPT Image 2.5 Flare genererer og redigerer bilder fra tekst og referanser, med vekt på rask visuell produksjon i det daglige. Den støtter egendefinerte størrelser, gjennomsiktige bakgrunner, masker og kvalitetsnivåer opptil max for utkast, illustrasjoner og kampanjemateriell.

Godkjente inndata
Tekst
Resultater
Bilder

Tilgjengelig i Ailoot · inndata & metoder

Ailoot Ultra · Bilder POST /v1/images/generations
Inndatatyper
text
Utdatatyper
image
FeltTypeKravVerdier & grenserStandard
FeltmodelTypestringKravPåkrevdVerdier & grenser
gpt-image-2.5-flare
Standard—
FeltpromptTypestringKravPåkrevdVerdier & grenser
Maksimal lengde: 32 000
Standard—
FeltsizeTypestringKravValgfrittVerdier & grenser
Vilkår: Bruk auto eller WIDTHxHEIGHT med begge mål delelige med 16. Den lengste siden er høyst 3,840 piksler, og samlet størrelse er høyst 8,300,000 piksler.
Standardauto
FeltbackgroundTypestringKravValgfrittVerdier & grenser
transparent, opaque, auto
Standardauto
FeltmoderationTypestringKravValgfrittVerdier & grenser
low, auto
Vilkår: Bruk auto for standard innholdsmoderering.
Standard—
FeltnTypeintegerKravValgfrittVerdier & grenser
Minimum: 1
Maksimum: 10
Standard1
FeltqualityTypestringKravValgfrittVerdier & grenser
auto, high, medium, low
Standardauto
Feltoutput_compressionTypeintegerKravValgfrittVerdier & grenser
Minimum: 0
Maksimum: 100
Vilkår: Gjelder utdata i JPEG og WebP; send den dokumenterte heltallsverdien.
Standard100
Feltoutput_formatTypestringKravValgfrittVerdier & grenser
webp, png, jpeg
Standardpng
FeltstreamTypebooleanKravValgfrittVerdier & grenser
false
Vilkår: Denne ruten returnerer ett ferdigstilt JSON-svar.
Standardfalse
Metodeparametere og livssyklus
ParameterAvtale
Parametercontent_typeAvtaleapplication/json
ParameterrequiredAvtaleprompt, model
Parametermaterial_typesAvtaletext
ParameteroptionalAvtalesize, background, moderation, n, quality, output_compression, output_format, stream
ParameterconditionsAvtaleGjennomsiktig bakgrunn krever PNG eller WebP., Komprimering av utdata gjelder JPEG eller WebP., Den valgte metoden genererer fra tekst. Redigerings- og strømmingsparametere som beskrives for produsenten, er separate funksjoner.

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.24576 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={'prompt': 'A cute baby sea otter', 'model': 'gpt-image-2.5-flare', 'size': '1024x1024', 'n': 1, 'background': 'auto', 'moderation': 'auto', 'output_format': 'png'}

Path("request.json").write_text(json.dumps(p,ensure_ascii=False))
PY_REQUEST
curl --fail-with-body --silent --show-error https://api.ailoot.ai/v1/images/generations \
  -H "Authorization: Bearer $AILOOT_API_KEY" -H 'Content-Type: application/json' \
  --data-binary @request.json -D response-headers.txt -o result.json
python3 - <<'PY_RESULT'
import base64, json, os, subprocess
from pathlib import Path
from urllib.parse import urlsplit, urljoin

def save_images(items):
    if not items: raise SystemExit("No completed images; retain the full response")
    for index, item in enumerate(items):
        encoded=item.get("b64_json")
        uri=item.get("url", "")
        if not encoded and uri.startswith("data:image/"):
            header, separator, encoded=uri.partition(",")
            if not separator or ";base64" not in header: raise SystemExit("Unsupported image data URI")
        if encoded:
            raw=base64.b64decode(encoded,validate=True)
        elif uri:
            uri=urljoin("https://api.ailoot.ai",uri)
            parsed=urlsplit(uri)
            if parsed.scheme!="https" or not parsed.netloc or parsed.username or parsed.password:
                raise SystemExit("Invalid returned image URL")
            owned=parsed.netloc=="api.ailoot.ai" and parsed.path.startswith("/v1/media/assets/") and parsed.path.endswith("/content")
            args=["curl","--fail-with-body","--silent","--show-error",uri]
            if owned: args += ["-H","Authorization: Bearer "+os.environ["AILOOT_API_KEY"]]
            temporary=Path(f"image-{index}.bin")
            subprocess.run(args+["-o",str(temporary)],check=True)
            raw=temporary.read_bytes()
            temporary.unlink()
        else: raise SystemExit("Image has neither bytes nor URL")
        if not raw: raise SystemExit("Empty image result")
        ext="png" if raw.startswith(b"\x89PNG") else "jpg" if raw.startswith(b"\xff\xd8") else "webp" if raw[:4]==b"RIFF" and raw[8:12]==b"WEBP" else "svg" if raw.lstrip().startswith((b"<svg",b"<?xml")) else "bin"
        Path(f"image-{index}.{ext}").write_bytes(raw)
    print("Every returned image saved; complete response metadata retained")
save_images(json.loads(Path("result.json").read_text())["data"])
PY_RESULT

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 gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

Aliaser for metodestier

/v1/images

Tilknyttede anroper-ID-er

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

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

openai/gpt-image-2.5-flare

OpenAI /openai/gpt-image-2.5-flare
Modell-ID
  • gpt-image-2.5-flare
  • openai/gpt-image-2.5-flare

Start

GPT Image 2.5 Flare genererer og redigerer bilder fra tekst og referanser, med vekt på rask visuell produksjon i det daglige. Den støtter egendefinerte størrelser, gjennomsiktige bakgrunner, masker og kvalitetsnivåer opptil max for utkast, illustrasjoner og kampanjemateriell.

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-image-2.5-flare
Standard—
FeltpromptTypestringKravPåkrevdVerdier & grenser
Minste lengde: 1
Standard—
Feltaspect_ratioTypestringKravValgfrittVerdier & grenser
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
Standard—
FeltqualityTypestringKravValgfrittVerdier & grenser
auto, low, medium, high, xhigh, max
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.24576 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-image-2.5-flare', '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 gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare

Aliaser for metodestier

/v1/images

Tilknyttede anroper-ID-er

openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare

FAQ · OpenAI: GPT Image 2.5 Flare
Hvilke inndata og resultater er tilgjengelige?

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

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

POST /v1/images/generations · openai/gpt-image-2.5-flare: text, image → image

Hvilke felt bruker forespørselen?

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

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

POST /v1/images/generations · openai/gpt-image-2.5-flare: model, prompt, aspect_ratio, quality, background, n, input_references, output_compression, provider

Hvilke grenser gjelder?

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

POST /v1/images/generations · gpt-image-2.5-flare: prompt.maximum_length: 32000; n.minimum: 1; n.maximum: 10; output_compression.minimum: 0; output_compression.maximum: 100

POST /v1/images/generations · openai/gpt-image-2.5-flare: 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