modeller

OpenAI: GPT Image 2.5 Flare

Markdown · JSON

OpenAI: GPT Image 2.5 Flare

GPT Image 2.5 Flare genererar och redigerar bilder från text och referenser, med fokus på snabbt visuellt skapande i vardagen. Den stöder egna storlekar, transparenta bakgrunder, masker och kvalitetsnivåer upp till max för utkast, illustrationer och kampanjmaterial.

Om modellen

Den här beskrivningen omfattar modellens förmågor. Tillgängliga indata, utdata och alternativ i Ailoot anges nedan för den valda metoden.

GPT Image 2.5 Flare är OpenAI:s utgåva för bildgenerering och bildredigering som positioneras för snabbt vardagsarbete med hög kvalitet. Den tar emot text och bilder och returnerar bildresultat. Använd den för visuella utkast, illustrationer, produktkoncept och återkommande kreativa uppgifter där en brief snabbt behöver bli en användbar bild. Flare är skild från Sunburst, vars positionering betonar redigeringsprecision. Välj Flare för rutinmässigt bildskapande och Sunburst när exakt redigering prioriteras.

Börja med huvudmotiv, handling, miljö, komposition och visuellt uttryck. För en kampanjillustration begär du en cyklist som korsar en liten bro i varmt kvällsljus, med en tydlig silhuett och öppen himmel för senare text. En kortfattad utforskningsbrief kan lämna estetiska beslut öppna; en produktionsbrief bör ange viktiga detaljer och placeringar. De direkta genererings- och redigeringsflödena tillåter prompter på upp till 32 000 tecken och ett till tio resultat, vilket gör det användbart att jämföra några varianter mot samma syfte.

Redigering kan tillhandahålla upp till sexton referensbilder. Tilldela varje referens en tydlig roll i stället för att förvänta dig att modellen avgör om en bild representerar motivets identitet, miljö eller stil. En mask kan vägleda en ändring i ett område; med flera bilder gäller den för den första. Bilden och masken behöver matchande format och mått, och masken måste innehålla en alfakanal. Guiden kräver att källan och masken är under 50 MB. En mask är vägledning snarare än ett löfte om exakt bevarande av gränser, så ange både den önskade ändringen och vad som ska förbli igenkännbart.

Flare stöder low, medium, high, xhigh, max och automatisk kvalitet, med auto som standard. Lägre kvalitet kan tjäna ett snabbt visuellt utkast; högre inställningar kan jämföras för detaljerna i ett slutmaterial. Kvalitet är oberoende av storlek och utdatakomprimering. Standardstorlekarna omfattar 1024 × 1024, 1536 × 1024 och 1024 × 1536, med automatiska eller egna mått också tillgängliga. Välj orienteringen utifrån slutplaceringen och scenens användbara utrymme.

Egen bredd och höjd måste vara multiplar av sexton, och ingen kant får vara över 3840 pixlar. Det tillåtna förhållandet sträcker sig från 1:3 till 3:1, och den totala arean måste vara minst 655 360 och högst 8 294 400 pixlar. Alla fyra villkoren gäller tillsammans. Guiden identifierar upplösningar över 2560 × 1440 som experimentella. Använd ett giltigt bildformat som passar kompositionen och inkludera beskärningskänsliga detaljer i briefen i stället för att behandla en större upplösning som en automatisk layoutförbättring.

Resultatformatet är PNG som standard, med JPEG och WebP som alternativ. JPEG och WebP tillåter komprimering från 0 till 100. För en transparent bakgrund väljer du PNG eller WebP; opaka och automatiska bakgrunder stöds också. En transparent tillgång kan placeras i en senare layout, medan en opak bild innehåller sin egen bakgrund. Välj format, bakgrund och komprimering efter det faktiska leveransbehovet och behåll den färdiga filen tillsammans med briefen och de valda inställningarna.

Producenten dokumenterar direkt bildgenerering och redigering, plus ett konversationsbaserat bildverktyg som kan behålla valda resultat för uppföljande ändringar. I det arbetsflödet kan åtgärden vara automatisk, framtvingad generering eller framtvingad redigering när en bild finns i sammanhanget. Strömning kan visa upp till tre partiella bilder före slutresultatet. Dessa förhandsvisningar visar förloppet snarare än ytterligare färdiga leveranser. Vid iterativt arbete fortsätter du från den valda bilden och beskriver en synlig ändring, till exempel att flytta ett objekt eller justera färgbehandlingen. Tillverkarens gränssnitt stöder också batchbearbetning.

Granska bildens text, objektplacering, motivdetaljer och komposition i avsedd storlek. GPT Image kan fortfarande ha svårt med exakt textplacering, strukturerade layouter och upprepad visuell identitet mellan genereringar. Behåll en accepterad variant som nästa referens och avgränsa följande redigering till det problem som är viktigt. Flares roll för vardagsgenerering är användbar för en tydlig följd av brief, visuella alternativ, urval och förfining, med slutmaterialet bedömt mot det faktiska kreativa syftet.

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 genererar och redigerar bilder från text och referenser, med fokus på snabbt visuellt skapande i vardagen. Den stöder egna storlekar, transparenta bakgrunder, masker och kvalitetsnivåer upp till max för utkast, illustrationer och kampanjmaterial.

Godkända indata
Text
Resultat
Bilder

Tillgängligt i Ailoot · indata & metoder

Ailoot · Bilder POST /v1/images/generations
Indatatyper
text
Utdatatyper
image
Utdataformat
Bildfil
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
gpt-image-2.5-flare
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Minsta längd: 1
Standard—
FältnTypintegerKravValfrittVärden & gränser
Minimum: 1
Standard1
Fältresponse_formatTypstringKravValfrittVärden & gränser
url, b64_json
Standard—
FältstreamTypbooleanKravValfrittVärden & gränserStandardfalse
FältsizeTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
FältqualityTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
FältbackgroundTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältoutput_formatTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältoutput_compressionTypintegerKravValfrittVärden & gränser
Beror på modellen
Standard—
FältmoderationTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältinput_fidelityTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
FältstyleTypstringKravValfrittVärden & gränser
Beror på modellen
Standard—
Fältpartial_imagesTypintegerKravValfrittVärden & gränser
Beror på modellen
Standard—
Kombinationer av indatamaterial

Text till bild · Krävs: prompt

Metodparametrar och livscykel
ParameterAvtal
Parametermaterial_typesAvtaltext
ParameterrequiredAvtalmodel, prompt
Parameteroptional_controlsAvtalnull
Parametercontent_typeAvtalapplication/json

Livscykel: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Det task_id som faktiskt returnerades eller en post i mediebiblioteket

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Metodernas strukturer och ID:n är exakta; leverantörens funktioner är åtskilda från att begäran tillåts.

Priser

Priser för Ailoot-metoder

Ailoot BilderPOST /v1/images/generations
Textindata
0,005 US$ / 1K
Indata, bild
0,008 US$ / 1K tokens
Utdata, bild
0,03 US$ / 1K tokens

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →

Exempelbegäranden

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

Ta emot och spara resultat

Ailoot · Bilder

Ladda ned varje returnerad bild eller spara dess Base64-innehåll

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Behåll alla färdiga resultat

Spara varje färdig bild; hämta varje returnerad URL eller avkoda dess Base64-innehåll.

Spara varje dataobjekt. Avkoda varje b64_json-värde eller hämta innehållet via varje returnerad signerad URL. Välj filändelse utifrån den faktiska MIME-typen och filens byteinnehåll.

Om det ursprungliga svaret behöver kontrolleras

Om resultatet av en bildgenerering eller bildredigering behöver kontrolleras ska du behålla de ursprungliga värdena för operation_id/X-Client-Request-ID och den returnerade resultatinformationen. Hämta befintliga resultat som tillhör dig genom mediebiblioteket med de faktiska task_id- eller asset_id-värdena. Skicka inte genererings- eller redigeringsförfrågan igen och bygg inte en URL för statusavläsning från operation_id.

Svarsfält
FältTyp
FältcreatedTypinteger
Fältdata[].urlTypstring
Fältdata[].b64_jsonTypbase64 string
FältusageTypobject
Fel och nästa steg
SvarVillkorNästa steg
Svar400 · invalid_request_errorVillkorOgiltiga obligatoriska fält, ogiltig representation av underlaget eller ogiltigt parametervärdeNästa stegKorrigera de angivna fälten före en ny begäran om att skapa.
Svarserver_errorVillkorDet returnerade svaret anger att operationen eller resultatet behöver kontrollerasNästa stegSpara det ursprungliga operations- eller uppgifts-ID som returnerades, förfrågans headers och svaret. Fortsätt att läsa den ursprungliga operationen med de läsmetoder som stöds. Skicka inte skapandeförfrågan igen.

Alias

Modellalias

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

Alias för metodsökvägar

/v1/images

Relaterade anropar-ID:n

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 genererar och redigerar bilder från text och referenser, med fokus på snabbt visuellt skapande i vardagen. Den stöder egna storlekar, transparenta bakgrunder, masker och kvalitetsnivåer upp till max för utkast, illustrationer och kampanjmaterial.

Godkända indata
Text
Resultat
Bilder

Tillgängligt i Ailoot · indata & metoder

Ailoot Ultra · Bilder POST /v1/images/generations
Indatatyper
text
Utdatatyper
image
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
gpt-image-2.5-flare
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Maximal längd: 32 000
Standard—
FältsizeTypstringKravValfrittVärden & gränser
Villkor: Använd auto eller WIDTHxHEIGHT med båda dimensionerna delbara med 16. Den längsta sidan är högst 3,840 pixlar och det totala antalet pixlar högst 8,300,000.
Standardauto
FältbackgroundTypstringKravValfrittVärden & gränser
transparent, opaque, auto
Standardauto
FältmoderationTypstringKravValfrittVärden & gränser
low, auto
Villkor: Använd auto för standardmoderering av innehåll.
Standard—
FältnTypintegerKravValfrittVärden & gränser
Minimum: 1
Maximum: 10
Standard1
FältqualityTypstringKravValfrittVärden & gränser
auto, high, medium, low
Standardauto
Fältoutput_compressionTypintegerKravValfrittVärden & gränser
Minimum: 0
Maximum: 100
Villkor: Gäller JPEG- och WebP-utdata; skicka det dokumenterade heltalsvärdet.
Standard100
Fältoutput_formatTypstringKravValfrittVärden & gränser
webp, png, jpeg
Standardpng
FältstreamTypbooleanKravValfrittVärden & gränser
false
Villkor: Denna rutt returnerar ett fullständigt JSON-svar.
Standardfalse
Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalprompt, model
Parametermaterial_typesAvtaltext
ParameteroptionalAvtalsize, background, moderation, n, quality, output_compression, output_format, stream
ParameterconditionsAvtalEn genomskinlig bakgrund kräver PNG eller WebP., Utdatakomprimering gäller JPEG eller WebP., Den valda metoden genererar från text. Tillverkarens beskrivna inställningar för redigering och strömning är separata funktioner.

Livscykel: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Det task_id som faktiskt returnerades eller en post i mediebiblioteket

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Priser

Så beräknas slutavgiften

De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge
Ej angivet När snabbt läge är valt
Flex-läge
Ej angivet När läget flex är valt
Högsta resonemangsnivå
Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

Uppskattade priser för jämförelse

Priser efter konfiguration

Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.

KonfigurationPrislistaPrognostiserad mängdAvgift
KonfigurationGrundpriser för tokenPrislistaGrundprisPrognostiserad mängd—Avgift
Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token
Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token
Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token
Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token
Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token
KonfigurationUppskattad genereringskostnadPrislista—Prognostiserad mängduppskattning för en genereringAvgift
Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.24576 uppskattning före generering

Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen.

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →

Exempelbegäranden

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

Ta emot och spara resultat

Ailoot Ultra · Bilder

Ladda ned varje returnerad bild eller spara dess Base64-innehåll

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Andra innehållsläsningar
Läs befintliga resurser som tillhör dig
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.
Behåll alla färdiga resultat

Spara varje färdig bild; hämta varje returnerad URL eller avkoda dess Base64-innehåll.

Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.

Om det ursprungliga svaret behöver kontrolleras

Behåll det returnerade värdet för X-Client-Request-ID för avstämning. Läs endast av resultat via de task_id/asset_id-värden som faktiskt returnerades eller via det mediebibliotek som tillhör dig. Bygg aldrig en uppgifts-URL från operations-ID:t och skicka aldrig skapandeförfrågan igen.

Svarsfält
FältTyp
FältcreatedTyp
Fältdata[].urlTyp
Fältdata[].b64_jsonTyp
FältusageTyp

Alias

Modellalias

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

Alias för metodsökvägar

/v1/images

Relaterade anropar-ID:n

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 genererar och redigerar bilder från text och referenser, med fokus på snabbt visuellt skapande i vardagen. Den stöder egna storlekar, transparenta bakgrunder, masker och kvalitetsnivåer upp till max för utkast, illustrationer och kampanjmaterial.

Godkända indata
Text · Bilder
Resultat
Bilder

Tillgängligt i Ailoot · indata & metoder

Ailoot Ultra · Bilder POST /v1/images/generations
Indatatyper
text, image
Utdatatyper
image
FältTypKravVärden & gränserStandard
FältmodelTypstringKravObligatorisktVärden & gränser
openai/gpt-image-2.5-flare
Standard—
FältpromptTypstringKravObligatorisktVärden & gränser
Minsta längd: 1
Standard—
Fältaspect_ratioTypstringKravValfrittVärden & gränser
1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto
Standard—
FältqualityTypstringKravValfrittVärden & gränser
auto, low, medium, high, xhigh, max
Standard—
FältbackgroundTypstringKravValfrittVärden & gränser
auto, transparent, opaque
Standard—
FältnTypintegerKravValfrittVärden & gränser
Minimum: 1
Maximum: 10
Standard—
Fältinput_referencesTyparrayKravValfrittVärden & gränser
Minsta antal objekt: 0
Maximalt antal objekt: 16
Standard—
Fältoutput_compressionTypintegerKravValfrittVärden & gränser
Minimum: 0
Maximum: 100
Standard—
FältproviderTypobjectKravValfrittVärden & gränserStandard—
Metodparametrar och livscykel
ParameterAvtal
Parametercontent_typeAvtalapplication/json
ParameterrequiredAvtalmodel, prompt
Parametermaterial_typesAvtaltext, image

Livscykel: synchronous_result_then_owned_library

GET /v1/media/tasks/{task_id} · Det task_id som faktiskt returnerades eller en post i mediebiblioteket

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

GET /v1/media/assets

GET /v1/media/assets/{asset_id}

Priser

Så beräknas slutavgiften

De visade priserna används för att uppskatta kostnaden före genereringen. Den slutliga debiteringen beräknas utifrån den kostnad som registrerats för den ursprungliga genereringen. Uppmätt längd på resultatet och uppskattade mängder utgör inte den slutliga debiterbara mängden.

Tariffuppgifter lägger inte till begäransalternativ. Parametrar som stöds anges för den valda metoden.

Snabbt läge
Ej angivet När snabbt läge är valt
Flex-läge
Ej angivet När läget flex är valt
Högsta resonemangsnivå
Ej angivet När den högsta resonemangsnivån använder standardjusteringen (default)

Uppskattade priser för jämförelse

Priser efter konfiguration

Matcha varje avgift mot de visade villkoren. Använd ett pris för varje uppsättning alternativa konfigurationer.

KonfigurationPrislistaPrognostiserad mängdAvgift
KonfigurationGrundpriser för tokenPrislistaGrundprisPrognostiserad mängd—Avgift
Indata · Indatatoken · Uppskattning endast för jämförelse — / 1K token
Utdata · Utdatatoken · Uppskattning endast för jämförelse — / 1K token
Indata · Cacheläsning · Uppskattning endast för jämförelse — / 1K token
Indata · Skrivning till cache · Uppskattning endast för jämförelse — / 1K token
Indata · Skrivning till cache, 1 tim · Uppskattning endast för jämförelse — / 1K token
KonfigurationUppskattad genereringskostnadPrislista—Prognostiserad mängduppskattning för en genereringAvgift
Utdata · Uppskattad genereringskostnad · Uppskattning endast för jämförelse $0.24576 uppskattning före generering

Denna uppskattning är varken en extra avgift eller ett fast pris för den slutförda genereringen.

Ailoot reserverar ett uppskattat belopp före en begäran. Efter resultatet slutregleras avgiften utifrån uppmätt förbrukning. Slutreglering för strömning använder den slutliga förbrukningsposten. Så fungerar reservation och slutreglering →

Exempelbegäranden

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

Ta emot och spara resultat

Ailoot Ultra · Bilder

Ladda ned varje returnerad bild eller spara dess Base64-innehåll

  • GET /v1/media/tasks/{task_id}
  • GET /v1/media/assets/{asset_id}/content
  • GET /v1/media/assets
  • GET /v1/media/assets/{asset_id}
Andra innehållsläsningar
Läs befintliga resurser som tillhör dig
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.
Behåll alla färdiga resultat

Spara varje färdig bild; hämta varje returnerad URL eller avkoda dess Base64-innehåll.

Spara hela svaret med headers, samtliga faktiska resultat, de ursprungliga returnerade identifierarna och alla användningsfält. Hämta den ursprungliga operationen utan att skicka skapandeförfrågan igen.

Om det ursprungliga svaret behöver kontrolleras

Behåll det returnerade värdet för X-Client-Request-ID för avstämning. Läs endast av resultat via de task_id/asset_id-värden som faktiskt returnerades eller via det mediebibliotek som tillhör dig. Bygg aldrig en uppgifts-URL från operations-ID:t och skicka aldrig skapandeförfrågan igen.

Svarsfält
FältTyp
FältcreatedTyp
Fältdata[].urlTyp
Fältdata[].b64_jsonTyp
FältusageTyp

Alias

Modellalias

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

Alias för metodsökvägar

/v1/images

Relaterade anropar-ID:n

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

FAQ · OpenAI: GPT Image 2.5 Flare
Vilka indata och resultat finns?

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

Vilka fält använder begäran?

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

Vilka gränser gäller?

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

Fler detaljer

Anslut Ailoot till Claude Code, OpenCode, Hermes eller din app.

Företaget och dess projektportfölj

Företaget och dess projektportfölj: miljontals kunder; månatlig försäljning för miljarder.

Köp token med rabatt.

Prenumerationsrabatt för återkommande arbete. Kampanjkoder ger upp till 50% vid tokenköp.

Prenumeration
Välj en rabatterad plan för återkommande anrop.
Kampanjkod upp till 50%
Ange koden vid köpet. Priset räknas om enligt kampanjen.
Kostnader i historiken
Modell, token och belopp sparas för varje anrop.

Välj prenumeration · Se modellpriser

Anslut API till produkten som du säljer.

SaaS, appar och botar enligt Ailoots officiella villkor och licensavtal. Begär återförsäljarlicens för vidareförsäljning.

Kommersiell applikation
Bygg text-, bild-, video- och ljudgenerering i tjänstens betalda funktioner.
Återförsäljarlicens
Skicka projektbeskrivning och åtkomstupplägg. Begär skriftliga villkor för användning och vidareförsäljning.
Dokument på webbplatsen
Officiella villkor, licensavtal och databehandlingspolicy finns tillgängliga före anslutning.

Begär återförsäljarlicens · Officiella villkor och licensavtal