GPT Image 2.5 Flare 2026-09-08
GPT Image 2.5 Flare dient alltäglicher Bildgenerierung anhand von Beschreibungen. Vorgesehen sind eigene Grössen, erweiterte Qualitätsstufen und ein transparenter Hintergrund.
Über das Modell
Diese Beschreibung erläutert die Fähigkeiten des Modells. Die über Ailoot verfügbaren Eingaben, Ausgaben und Optionen sind unten für die ausgewählte Methode aufgeführt.
Alltägliche Generierung anhand einer Textbeschreibung
GPT Image 2.5 Flare ist ein OpenAI-Modell zur Bilderstellung. Laut Hersteller dient es schneller alltäglicher Generierung hochwertigen visuellen Materials. Eine Aufgabe kann Motiv, Stil, Detailanordnung und gewünschtes Bildformat beschreiben; das Ergebnis ist ein Bild.
Bei Ailoot ist diese Karte für Generierung mit Texteingabe vorgesehen. OpenAI beschreibt auch die Arbeit mit Ausgangsbildern, Referenzen und Änderungen. Diese Arbeitsweisen benötigen Bildeingabeunterstützung; sie bedeuten nicht, dass die Textmethode solche Materialien bereits akzeptiert.
Qualität vom Entwurf bis zum detaillierten Bild
Unterstützt werden low, medium, high, xhigh, max und automatische Auswahl auto. Die Qualitätseinstellung beeinflusst den Arbeitsumfang bei der Ergebnisbildung. Sie wird getrennt von Bildgrösse und Kompression der fertigen Datei festgelegt.
Für die Grösse sind quadratische, horizontale und vertikale Varianten, automatische Auswahl und eigene Abmessungen vorgesehen. Seitenverhältnisse können unter Einhaltung sämtlicher Herstellergrenzen an die Komposition angepasst werden.
Eigene Grössen
Jede Seite muss ein Vielfaches von 16 Pixeln sein und darf höchstens 3840 Pixel lang sein. Das Verhältnis der langen zur kurzen Seite beträgt höchstens 3:1. Die zulässige Fläche liegt zwischen 655 360 und 8 294 400 Pixeln. Die Grenzen gelten gemeinsam: Ein zulässiges Seitenverhältnis hebt die Flächengrenze nicht auf.
Auflösungen über 2560x1440 sind als experimentell bezeichnet. Bei grossen Bildern ist die Komposition selbst wichtig: Mehr Pixel garantieren keine fehlerfreie Anordnung sämtlicher Elemente.
Ergebnisdatei und Transparenz
Das Modell sieht PNG, JPEG und WebP vor; das Standardformat ist PNG. Für JPEG und WebP lässt sich die Kompression steuern. Ein transparenter Hintergrund benötigt PNG oder WebP. Der Hersteller unterstützt auch undurchsichtigen Hintergrund und automatische Auswahl. Transparenz erlaubt die Nutzung des Bildes in späteren Kompositionen ohne festgelegte Hintergrundfläche.
Die Herstellereinstellungen beschreiben Modellfähigkeiten; ihre Umsetzung hängt von der Parameterunterstützung der gewählten Methode ab. Eine separate Generierung erstellt ein neues Ergebnis; eine gleiche Beschreibung garantiert deshalb keine vollständig gleichen Bilder.
Was im fertigen Bild zu prüfen ist
Laut OpenAI kann die Bearbeitung einer komplexen Aufgabe bis zu zwei Minuten dauern. Das beschreibt Generierung beim Hersteller und garantiert keine Gesamtdauer des Ergebniserhalts in einer konkreten Anwendung.
Beschriftungen, genaue Objektpositionen und ein gleichbleibendes Aussehen zwischen Bildern benötigen Prüfung. Eine Maske bei einer separat unterstützten Bearbeitungsoperation gibt die Änderungsrichtung und keine starre Grenze vor. Für Textgenerierung helfen eine präzise Kompositionsbeschreibung und die Prüfung der Datei selbst: sichtbare Details, Lesbarkeit und Übereinstimmung mit dem vorgegebenen Motiv.
Ailoot · Bilder POST /v1/images/generations gpt-image-2.5-flare-2026-09-08
gpt-image-2.5-flare-2026-09-08
gpt-image-2.5-flare-2026-09-08Einstieg
GPT Image 2.5 Flare dient alltäglicher Bildgenerierung anhand von Beschreibungen. Vorgesehen sind eigene Grössen, erweiterte Qualitätsstufen und ein transparenter Hintergrund.
- Zulässige Eingaben
- Text
- Ergebnisse
- Bilder
In Ailoot verfügbar · Eingaben und Methoden
Ailoot · Bilder POST /v1/images/generations
- Eingabe
text- Ausgabe
image- Ausgabeformat
- Bilddatei
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits gpt-image-2.5-flare-2026-09-08 | Standard— |
Feldprompt | Typstring | AnforderungErforderlich | Werte und Limits Mindestlänge: 1 | Standard— |
Feldn | Typinteger | AnforderungOptional | Werte und Limits Minimum: 1 | Standard1 |
Feldresponse_format | Typstring | AnforderungOptional | Werte und Limits url, b64_json | Standard— |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits | Standardfalse |
Feldsize | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldquality | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldbackground | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldoutput_format | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldoutput_compression | Typinteger | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldmoderation | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldinput_fidelity | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldstyle | Typstring | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Feldpartial_images | Typinteger | AnforderungOptional | Werte und Limits Modellabhängig | Standard— |
Kombinationen von Eingabematerialien
Text zu Bild · Erforderlich: prompt
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametermaterial_types | Vertragtext |
Parameterrequired | Vertragmodel, prompt |
Parameteroptional_controls | Vertragnull |
Parametercontent_type | Vertragapplication/json |
Lebenszyklus: synchronous_result_then_owned_library
GET /v1/media/tasks/{task_id} · die tatsächlich zurückgegebene task_id oder ein Eintrag in der Medienbibliothek
GET /v1/media/assets/{asset_id}/content
GET /v1/media/assets
GET /v1/media/assets/{asset_id}
Methodenstrukturen und IDs sind exakt; die Fähigkeiten des Anbieters sind von der Zulassung einer Anfrage zu unterscheiden.
Tarife
Ailoot-Methodentarife
POST /v1/images/generations- Texteingabe
- $ 0.005 / 1K
- Eingabe, Bild
- $ 0.008 / 1K tokens
- Ausgabe, Bild
- $ 0.03 / 1K tokens
Ailoot reserviert vor einer Anfrage einen geschätzten Betrag. Nach dem Ergebnis rechnet Ailoot die endgültige Gebühr anhand des gemessenen Verbrauchs ab. Bei Streaming erfolgt die Abrechnung anhand des abschliessenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot · Bilder
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-2026-09-08", "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-2026-09-08', '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-2026-09-08", "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");
Ergebnisse abrufen und speichern
Ailoot · Bilder
Laden Sie jedes zurückgegebene Bild herunter oder speichern Sie seinen Base64-Inhalt
GET /v1/media/tasks/{task_id}GET /v1/media/assets/{asset_id}/contentGET /v1/media/assetsGET /v1/media/assets/{asset_id}
Alle fertiggestellten Ergebnisse aufbewahren
Speichern Sie jedes fertiggestellte Bild; rufen Sie jede zurückgegebene URL ab oder dekodieren Sie seinen Base64-Inhalt.
Jedes Datenelement speichern. Jedes b64_json dekodieren oder jede zurückgegebene signierte URL abrufen. Die Dateiendung anhand des tatsächlichen MIME-Typs bzw. der Bytes wählen.
Wenn die ursprüngliche Antwort geprüft werden muss
Wenn das Ergebnis einer Bildgenerierung oder -bearbeitung geprüft werden muss, die ursprüngliche operation_id/X-Client-Request-ID und die zurückgegebenen Ergebnisinformationen aufbewahren. Bereits vorhandene eigene Ergebnisse über die Medienbibliothek anhand tatsächlicher task_id- oder asset_id-Werte wiederherstellen. Die Generierungs-/Bearbeitungsanfrage nicht erneut senden und keine Abfrage-URL aus operation_id bilden.
Antwortfelder
| Feld | Typ |
|---|---|
Feldcreated | Typinteger |
Felddata[].url | Typstring |
Felddata[].b64_json | Typbase64 string |
Feldusage | Typobject |
Fehler und nächste Schritte
| Antwort | Bedingung | Nächster Schritt |
|---|---|---|
Antwort400 · invalid_request_error | BedingungPflichtfelder, Darstellung des Eingabematerials oder Parameterwert ungültig | Nächster SchrittDie angegebenen Felder vor einer neuen Erstellungsanfrage korrigieren. |
Antwortserver_error | BedingungDie zurückgegebene Antwort gibt an, dass der Vorgang oder das Ergebnis eine Prüfung erfordert | Nächster SchrittDie ursprünglich zurückgegebene Vorgangs-/Aufgaben-ID, die Anfrageheader und die Antwort aufbewahren; mit unterstützten Leseaufrufen für diesen ursprünglichen Vorgang fortfahren. Die Erstellungsanfrage nicht erneut senden. |
Aliasnamen
Modellaliasnamen
Ailoot gpt-image-2.5-flare-2026-09-08
Aliasnamen für Methodenpfade
Verwenden Sie die oben angezeigten Methodenpfade.
Zugehörige Aufrufer-IDs
FAQ · GPT Image 2.5 Flare 2026-09-08
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/images/generations·gpt-image-2.5-flare-2026-09-08:text→image- Welche Felder verwendet die Anfrage?
POST /v1/images/generations·gpt-image-2.5-flare-2026-09-08:model,prompt,n,response_format,stream- Welche Grenzen gelten?
POST /v1/images/generations·gpt-image-2.5-flare-2026-09-08:n.minimum:1