modellen

OpenAI: GPT Image 2.5 Flare

Markdown · JSON

OpenAI: GPT Image 2.5 Flare

GPT Image 2.5 Flare genereert en bewerkt afbeeldingen op basis van tekst en referenties, met aandacht voor snelle dagelijkse beeldcreatie. Het ondersteunt aangepaste formaten, transparante achtergronden, maskers en kwaliteitsniveaus tot max voor schetsen, illustraties en campagnemateriaal.

Over het model

Deze beschrijving gaat over de mogelijkheden van het model. De via Ailoot beschikbare invoer, uitvoer en opties staan hieronder voor de geselecteerde methode.

GPT Image 2.5 Flare is de editie van OpenAI voor beeldgeneratie en -bewerking die is gepositioneerd voor snel dagelijks werk van hoge kwaliteit. Het accepteert tekst en afbeeldingen en levert beeldresultaten op. Gebruik het voor visuele schetsen, illustraties, productconcepten en terugkerende creatieve taken waarbij een briefing snel een bruikbare afbeelding moet worden. Flare staat los van Sunburst, waarvan de positionering de nadruk legt op nauwkeurige bewerking. Kies Flare voor routinematige beeldcreatie en Sunburst wanneer precieze bewerking vooropstaat.

Begin met het hoofdonderwerp, de handeling, omgeving, compositie en visuele uitwerking. Vraag voor een campagne-illustratie om een fietser die bij warm avondlicht een kleine brug oversteekt, met een krachtig silhouet en open lucht voor latere tekst. Een beknopte verkennende briefing kan esthetische beslissingen openlaten; een productiebriefing moet de details en plaatsing benoemen die belangrijk zijn. De directe generatie- en bewerkingsworkflows staan prompts tot 32,000 tekens en één tot tien resultaten toe, wat nuttig is om enkele varianten tegen hetzelfde doel af te zetten.

Bij bewerking kun je maximaal zestien referentieafbeeldingen aanleveren. Geef elke referentie een duidelijke rol, in plaats van te verwachten dat het model bepaalt of een afbeelding de identiteit van het onderwerp, het decor of de stijl weergeeft. Een masker kan een wijziging van een gebied sturen; bij meerdere afbeeldingen geldt het voor de eerste. De afbeelding en het masker moeten hetzelfde formaat en dezelfde afmetingen hebben en het masker moet een alfakanaal bevatten. De handleiding vereist dat bron en masker kleiner zijn dan 50 MB. Een masker geeft richting en belooft geen exact behoud van grenzen. Benoem daarom zowel de gewenste wijziging als wat herkenbaar moet blijven.

Flare ondersteunt low, medium, high, xhigh, max en automatische kwaliteit, met auto als standaard. Lagere kwaliteit kan dienen voor een snelle visuele schets; hogere instellingen kunnen voor de details van een definitief beeld worden vergeleken. Kwaliteit staat los van formaat en uitvoercompressie. Standaardformaten zijn onder meer 1024 × 1024, 1536 × 1024 en 1024 × 1536; automatische of aangepaste afmetingen zijn ook beschikbaar. Kies de oriëntatie op basis van de uiteindelijke plaatsing en de bruikbare ruimte in de scène.

Aangepaste breedte en hoogte moeten veelvouden van zestien zijn, waarbij geen van beide zijden langer mag zijn dan 3840 pixels. De toegestane verhouding loopt van 1:3 tot 3:1 en het totale oppervlak moet minstens 655,360 en maximaal 8,294,400 pixels zijn. Alle vier voorwaarden gelden samen. De handleiding noemt resoluties boven 2560 × 1440 experimenteel. Gebruik een geldig beeldformaat dat bij de compositie past en benoem in de briefing de details die bij uitsnijden behouden moeten blijven, in plaats van een hogere resolutie als automatische verbetering van de opmaak te behandelen.

Het resultaatformaat is standaard PNG, met JPEG en WebP als alternatieven. JPEG en WebP staan compressie van 0 tot 100 toe. Kies voor een transparante achtergrond PNG of WebP; ondoorzichtige en automatische achtergronden worden ook ondersteund. Een transparant beeld kan in een latere opmaak worden geplaatst, terwijl een ondoorzichtige afbeelding haar eigen achtergrond bevat. Kies formaat, achtergrond en compressie op basis van de daadwerkelijke leveringsbehoefte en bewaar het voltooide bestand met de briefing en gekozen instellingen.

De producent documenteert directe beeldgeneratie en bewerkingen, plus een gesprekstool voor afbeeldingen die gekozen resultaten voor vervolgwijzigingen kan bewaren. In die workflow kan action automatisch zijn, generatie afdwingen of bewerking afdwingen wanneer een afbeelding in de context staat. Streaming kan maximaal drie gedeeltelijke afbeeldingen tonen vóór het uiteindelijke resultaat. Die previews tonen voortgang en zijn geen extra voltooide eindproducten. Ga bij iteratief werk verder vanaf de gekozen afbeelding en beschrijf een zichtbare wijziging, zoals het verplaatsen van één object of aanpassen van het kleurgebruik. De interface van de fabrikant ondersteunt ook batchverwerking.

Controleer de belettering, objectplaatsing, onderwerpdetails en compositie van de afbeelding op de beoogde grootte. GPT Image kan nog moeite hebben met exacte tekstplaatsing, gestructureerde opmaak en herhaalde visuele identiteit over meerdere generaties. Bewaar een geaccepteerde variant als volgende referentie en beperk de daaropvolgende bewerking tot het probleem dat ertoe doet. De rol van Flare voor dagelijkse generatie is nuttig voor een duidelijke reeks van briefing, visuele alternatieven, selectie en verfijning, waarbij het definitieve beeld wordt beoordeeld op het daadwerkelijke creatieve doel.

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

gpt-image-2.5-flare

OpenAI /gpt-image-2.5-flare

Aan de slag

GPT Image 2.5 Flare genereert en bewerkt afbeeldingen op basis van tekst en referenties, met aandacht voor snelle dagelijkse beeldcreatie. Het ondersteunt aangepaste formaten, transparante achtergronden, maskers en kwaliteitsniveaus tot max voor schetsen, illustraties en campagnemateriaal.

Toegestane invoer
Tekst
Resultaten
Afbeeldingen

Beschikbaar in Ailoot · invoer en methoden

Ailoot · Afbeeldingen POST /v1/images/generations
Invoertypen
text
Uitvoertypen
image
Uitvoerformaat
Afbeeldingsbestand
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
gpt-image-2.5-flare
Standaard—
VeldpromptTypestringVereisteVereistWaarden en limieten
Minimumlengte: 1
Standaard—
VeldnTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 1
Standaard1
Veldresponse_formatTypestringVereisteOptioneelWaarden en limieten
url, b64_json
Standaard—
VeldstreamTypebooleanVereisteOptioneelWaarden en limietenStandaardfalse
VeldsizeTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldqualityTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldbackgroundTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldoutput_formatTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldoutput_compressionTypeintegerVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldmoderationTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldinput_fidelityTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
VeldstyleTypestringVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Veldpartial_imagesTypeintegerVereisteOptioneelWaarden en limieten
Afhankelijk van het model
Standaard—
Combinaties van invoermaterialen

Tekst naar afbeelding · Vereist: prompt

Methodeparameters en levenscyclus
ParameterContract
Parametermaterial_typesContracttext
ParameterrequiredContractmodel, prompt
Parameteroptional_controlsContractnull
Parametercontent_typeContractapplication/json

Levenscyclus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · de daadwerkelijk geretourneerde task_id of het record in de mediabibliotheek

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

De methodestructuren en ID’s zijn exact; de mogelijkheden van de leverancier staan los van toelating.

Tarieven

Ailoot-methodetarieven

Ailoot AfbeeldingenPOST /v1/images/generations
Tekstinvoer
US$ 0,005 / 1K
Invoer, afbeelding
US$ 0,008 / 1K tokens
Uitvoer, afbeelding
US$ 0,03 / 1K tokens

Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →

Voorbeeldverzoeken

Ailoot · Afbeeldingen

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

Resultaten ophalen en opslaan

Ailoot · Afbeeldingen

Download elke teruggegeven afbeelding of sla de Base64-inhoud ervan op

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Alle voltooide resultaten bewaren

Sla elke voltooide afbeelding op; haal elke teruggegeven URL op of decodeer de bijbehorende Base64-inhoud.

Sla elk data-item op. Decodeer elke b64_json of haal elk bestand op via elke geretourneerde ondertekende URL. Kies een bestandsextensie op basis van de daadwerkelijke MIME/bytes.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Als het resultaat van een afbeeldingsgeneratie of -bewerking moet worden gecontroleerd, bewaar dan de oorspronkelijke operation_id/X-Client-Request-ID en de geretourneerde resultaatinformatie. Haal bestaande eigen resultaten terug via de mediabibliotheek met de daadwerkelijke task_id- of asset_id-waarden. Dien de generatie-/bewerkingsaanvraag niet opnieuw in en bouw geen polling-URL op basis van operation_id.

Antwoordvelden
VeldType
VeldcreatedTypeinteger
Velddata[].urlTypestring
Velddata[].b64_jsonTypebase64 string
VeldusageTypeobject
Fouten en vervolgstappen
AntwoordVoorwaardeVolgende stap
Antwoord400 · invalid_request_errorVoorwaardeVerplichte velden, de materiaalrepresentatie of een parameterwaarde zijn ongeldigVolgende stapCorrigeer de aangegeven velden vóór een nieuwe aanmaakaanvraag.
Antwoordserver_errorVoorwaardeHet geretourneerde antwoord geeft aan dat de bewerking of het resultaat moet worden gecontroleerdVolgende stapBewaar de oorspronkelijk geretourneerde bewerkings-/taak-ID, de aanvraagheaders en het antwoord; blijf de ondersteunde leesacties voor die oorspronkelijke bewerking uitvoeren. Dien de aanmaakaanvraag niet opnieuw in.

Aliasnamen

Modelaliasnamen

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

Aliasnamen voor methodepaden

/v1/images

Gerelateerde aanroeper-ID’s

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

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

gpt-image-2.5-flare

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

Aan de slag

GPT Image 2.5 Flare genereert en bewerkt afbeeldingen op basis van tekst en referenties, met aandacht voor snelle dagelijkse beeldcreatie. Het ondersteunt aangepaste formaten, transparante achtergronden, maskers en kwaliteitsniveaus tot max voor schetsen, illustraties en campagnemateriaal.

Toegestane invoer
Tekst
Resultaten
Afbeeldingen

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Afbeeldingen POST /v1/images/generations
Invoertypen
text
Uitvoertypen
image
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
gpt-image-2.5-flare
Standaard—
VeldpromptTypestringVereisteVereistWaarden en limieten
Maximumlengte: 32.000
Standaard—
VeldsizeTypestringVereisteOptioneelWaarden en limieten
Voorwaarden: Gebruik auto of WIDTHxHEIGHT waarbij beide afmetingen deelbaar zijn door 16. De langste zijde is maximaal 3,840 pixels en de totale grootte maximaal 8,300,000 pixels.
Standaardauto
VeldbackgroundTypestringVereisteOptioneelWaarden en limieten
transparent, opaque, auto
Standaardauto
VeldmoderationTypestringVereisteOptioneelWaarden en limieten
low, auto
Voorwaarden: Gebruik auto voor standaardinhoudsmoderatie.
Standaard—
VeldnTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 1
Maximum: 10
Standaard1
VeldqualityTypestringVereisteOptioneelWaarden en limieten
auto, high, medium, low
Standaardauto
Veldoutput_compressionTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 0
Maximum: 100
Voorwaarden: Geldt voor JPEG- en WebP-uitvoer; verstuur de gedocumenteerde gehele waarde.
Standaard100
Veldoutput_formatTypestringVereisteOptioneelWaarden en limieten
webp, png, jpeg
Standaardpng
VeldstreamTypebooleanVereisteOptioneelWaarden en limieten
false
Voorwaarden: Deze route retourneert één voltooid JSON-antwoord.
Standaardfalse
Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractprompt, model
Parametermaterial_typesContracttext
ParameteroptionalContractsize, background, moderation, n, quality, output_compression, output_format, stream
ParameterconditionsContractEen transparante achtergrond vereist PNG of WebP., Uitvoercompressie geldt voor JPEG of WebP., De geselecteerde methode genereert vanuit tekst. Bewerkings- en streaminginstellingen die voor de fabrikant worden beschreven, zijn afzonderlijke mogelijkheden.

Levenscyclus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · de daadwerkelijk geretourneerde task_id of het record in de mediabibliotheek

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Tarieven

Zo worden de uiteindelijke kosten berekend

De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus
Niet opgegeven Wanneer de snelle modus is geselecteerd
Flexmodus
Niet opgegeven Wanneer de modus flex is geselecteerd
Maximale redeneerinspanning
Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt

Geschatte tarieven ter vergelijking

Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

ConfiguratieTariefstaffelVerwachte hoeveelheidKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefVerwachte hoeveelheid—Kosten
Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens
Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens
Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens
Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens
Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens
ConfiguratieGeschatte generatiekostenTariefstaffel—Verwachte hoeveelheidschatting voor één generatieKosten
Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.24576 schatting vóór generatie

Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie.

Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →

Voorbeeldverzoeken

Ailoot Ultra · Afbeeldingen

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

Resultaten ophalen en opslaan

Ailoot Ultra · Afbeeldingen

Download elke teruggegeven afbeelding of sla de Base64-inhoud ervan op

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Lezen van andere inhoud
Bestaande eigen bestanden ophalen
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.
Alle voltooide resultaten bewaren

Sla elke voltooide afbeelding op; haal elke teruggegeven URL op of decodeer de bijbehorende Base64-inhoud.

Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar de geretourneerde X-Client-Request-ID voor reconciliatie. Lees alleen daadwerkelijk geretourneerde task_id/asset_id-waarden of de eigen mediabibliotheek uit; bouw nooit een taak-URL op basis van de bewerkings-ID en dien de aanmaakaanvraag nooit opnieuw in.

Antwoordvelden
VeldType
VeldcreatedType
Velddata[].urlType
Velddata[].b64_jsonType
VeldusageType

Aliasnamen

Modelaliasnamen

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

Aliasnamen voor methodepaden

/v1/images

Gerelateerde aanroeper-ID’s

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

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

openai/gpt-image-2.5-flare

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

Aan de slag

GPT Image 2.5 Flare genereert en bewerkt afbeeldingen op basis van tekst en referenties, met aandacht voor snelle dagelijkse beeldcreatie. Het ondersteunt aangepaste formaten, transparante achtergronden, maskers en kwaliteitsniveaus tot max voor schetsen, illustraties en campagnemateriaal.

Toegestane invoer
Tekst · Afbeeldingen
Resultaten
Afbeeldingen

Beschikbaar in Ailoot · invoer en methoden

Ailoot Ultra · Afbeeldingen POST /v1/images/generations
Invoertypen
text, image
Uitvoertypen
image
VeldTypeVereisteWaarden en limietenStandaard
VeldmodelTypestringVereisteVereistWaarden en limieten
openai/gpt-image-2.5-flare
Standaard—
VeldpromptTypestringVereisteVereistWaarden en limieten
Minimumlengte: 1
Standaard—
Veldaspect_ratioTypestringVereisteOptioneelWaarden en limieten
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
Standaard—
VeldqualityTypestringVereisteOptioneelWaarden en limieten
auto, low, medium, high, xhigh, max
Standaard—
VeldbackgroundTypestringVereisteOptioneelWaarden en limieten
auto, transparent, opaque
Standaard—
VeldnTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 1
Maximum: 10
Standaard—
Veldinput_referencesTypearrayVereisteOptioneelWaarden en limieten
Minimumaantal items: 0
Maximumaantal items: 16
Standaard—
Veldoutput_compressionTypeintegerVereisteOptioneelWaarden en limieten
Minimum: 0
Maximum: 100
Standaard—
VeldproviderTypeobjectVereisteOptioneelWaarden en limietenStandaard—
Methodeparameters en levenscyclus
ParameterContract
Parametercontent_typeContractapplication/json
ParameterrequiredContractmodel, prompt
Parametermaterial_typesContracttext, image

Levenscyclus: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · de daadwerkelijk geretourneerde task_id of het record in de mediabibliotheek

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Tarieven

Zo worden de uiteindelijke kosten berekend

De weergegeven tarieven geven een schatting van de kosten vóór de generatie. Het definitieve bedrag wordt berekend op basis van de kosten die voor de oorspronkelijke generatie zijn geregistreerd. De gemeten duur van de uitvoer en de geschatte hoeveelheden zijn niet de definitieve factureerbare hoeveelheid.

Tariefverwijzingen voegen geen verzoekopties toe. Ondersteunde parameters staan bij de geselecteerde methode.

Snelle modus
Niet opgegeven Wanneer de snelle modus is geselecteerd
Flexmodus
Niet opgegeven Wanneer de modus flex is geselecteerd
Maximale redeneerinspanning
Niet opgegeven Wanneer bij maximale redeneerinspanning de default-aanpassing wordt gebruikt

Geschatte tarieven ter vergelijking

Prijzen per configuratie

Koppel elke kostenpost aan de getoonde voorwaarden. Gebruik één tarief voor elke groep alternatieve configuraties.

ConfiguratieTariefstaffelVerwachte hoeveelheidKosten
ConfiguratieBasistarieven voor tokensTariefstaffelBasistariefVerwachte hoeveelheid—Kosten
Invoer · Invoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens
Uitvoer · Uitvoertokens · Schatting uitsluitend ter vergelijking — / 1K tokens
Invoer · Cache lezen · Schatting uitsluitend ter vergelijking — / 1K tokens
Invoer · Cache schrijven · Schatting uitsluitend ter vergelijking — / 1K tokens
Invoer · Cache schrijven, 1 uur · Schatting uitsluitend ter vergelijking — / 1K tokens
ConfiguratieGeschatte generatiekostenTariefstaffel—Verwachte hoeveelheidschatting voor één generatieKosten
Uitvoer · Geschatte generatiekosten · Schatting uitsluitend ter vergelijking $0.24576 schatting vóór generatie

Deze schatting is geen extra bedrag of vast tarief voor de voltooide generatie.

Ailoot reserveert vóór een verzoek een geschat bedrag. Na het resultaat worden de uiteindelijke kosten afgerekend op basis van het gemeten verbruik. Bij streaming gebeurt de afrekening op basis van de definitieve verbruiksregistratie. Zo werken reservering en afrekening →

Voorbeeldverzoeken

Ailoot Ultra · Afbeeldingen

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

Resultaten ophalen en opslaan

Ailoot Ultra · Afbeeldingen

Download elke teruggegeven afbeelding of sla de Base64-inhoud ervan op

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Lezen van andere inhoud
Bestaande eigen bestanden ophalen
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.
Alle voltooide resultaten bewaren

Sla elke voltooide afbeelding op; haal elke teruggegeven URL op of decodeer de bijbehorende Base64-inhoud.

Bewaar het volledige antwoord en de headers, alle daadwerkelijke uitvoer, de oorspronkelijk geretourneerde identificatoren en alle gebruiksvelden. Herstel de oorspronkelijke bewerking zonder de aanmaakaanvraag opnieuw in te dienen.

Als het oorspronkelijke antwoord moet worden gecontroleerd

Bewaar de geretourneerde X-Client-Request-ID voor reconciliatie. Lees alleen daadwerkelijk geretourneerde task_id/asset_id-waarden of de eigen mediabibliotheek uit; bouw nooit een taak-URL op basis van de bewerkings-ID en dien de aanmaakaanvraag nooit opnieuw in.

Antwoordvelden
VeldType
VeldcreatedType
Velddata[].urlType
Velddata[].b64_jsonType
VeldusageType

Aliasnamen

Modelaliasnamen

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

Aliasnamen voor methodepaden

/v1/images

Gerelateerde aanroeper-ID’s

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

FAQ · OpenAI: GPT Image 2.5 Flare
Welke invoer en resultaten zijn beschikbaar?

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

Welke velden gebruikt het verzoek?

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

Welke limieten gelden?

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

Meer details

Verbind Ailoot met Claude Code, OpenCode, Hermes of je eigen applicatie.

Het bedrijf en zijn projectenportefeuille

Het bedrijf en zijn projectenportefeuille: miljoenen klanten; maandelijkse verkopen in de miljarden.

Koop tokens met korting.

Abonnementsvoordeel voor regelmatig gebruik. Promotiecodes geven tot 50% korting op tokens.

Abonnement
Kies een abonnement met korting voor je terugkerende verzoeken.
Promotiecode tot 50%
Vul de code bij aankoop in. De prijs wordt volgens de lopende actie herberekend.
Kosten in de geschiedenis
Model, tokens en bedrag worden per verzoek bewaard.

Kies een abonnement · Bekijk modelprijzen

Verbind de API met het product dat je verkoopt.

SaaS, apps en bots volgens de openbare aanbodvoorwaarden en licentieovereenkomst van Ailoot. Vraag voor doorverkoop een resellerlicentie aan.

Commerciële applicatie
Voeg tekst-, beeld-, video- en geluidsgeneratie aan betaalde functies van je service toe.
Resellerlicentie
Stuur een projectbeschrijving en toegangsschema. Vraag schriftelijke voorwaarden voor gebruik en doorverkoop.
Documenten op de site
Aanbodvoorwaarden, licentieovereenkomst en gegevensbeleid zijn vóór het verbinden beschikbaar.

Vraag een resellerlicentie aan · Aanbodvoorwaarden en licentieovereenkomst