OpenAI: GPT Image 2.5 Flare
GPT Image 2.5 Flare erzeugt und bearbeitet Bilder aus Text und Referenzen mit Schwerpunkt auf schneller alltäglicher Bilderstellung. Es unterstützt benutzerdefinierte Größen, transparente Hintergründe, Masken und Qualitätsstufen bis max für Entwürfe, Illustrationen und Kampagnenmotive.
- Ailoot · Bilder
POST /v1/images/generationsgpt-image-2.5-flare - Ailoot Ultra · Bilder
POST /v1/images/generationsgpt-image-2.5-flare - Ailoot Ultra · Bilder
POST /v1/images/generationsopenai/gpt-image-2.5-flare
Ü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.
GPT Image 2.5 Flare ist OpenAIs Bilderzeugungs- und Bearbeitungsausgabe für schnelle, hochwertige Alltagsarbeit. Es akzeptiert Text und Bilder und liefert Bildergebnisse. Verwenden Sie es für visuelle Entwürfe, Illustrationen, Produktkonzepte und wiederkehrende kreative Aufgaben, bei denen aus einem Briefing zeitnah ein brauchbares Bild entstehen soll. Flare ist von Sunburst getrennt, dessen Positionierung Bearbeitungspräzision betont. Wählen Sie Flare für routinemäßige Bilderstellung und Sunburst, wenn präzise Bearbeitung Vorrang hat.
Beginnen Sie mit Hauptmotiv, Handlung, Umgebung, Komposition und Bildgestaltung. Fordern Sie für eine Kampagnenillustration einen Radfahrer an, der bei warmem Abendlicht eine kleine Brücke überquert, mit kräftiger Silhouette und freiem Himmel für späteren Text. Ein knappes Erkundungsbriefing kann ästhetische Entscheidungen offenlassen. Ein Produktionsbriefing sollte wichtige Details und Platzierungen benennen. Die direkten Generierungs- und Bearbeitungsworkflows erlauben Prompts mit bis zu 32.000 Zeichen und ein bis zehn Ergebnisse. So lassen sich einige Varianten für denselben Zweck vergleichen.
Bei der Bearbeitung können bis zu sechzehn Referenzbilder bereitgestellt werden. Weisen Sie jeder Referenz eine klare Rolle zu, statt zu erwarten, dass das Modell entscheidet, ob ein Bild Motividentität, Szenerie oder Stil darstellt. Eine Maske kann eine Bereichsänderung anleiten; bei mehreren Bildern gilt sie für das erste. Bild und Maske benötigen übereinstimmendes Format und übereinstimmende Abmessungen; die Maske muss einen Alphakanal enthalten. Der Leitfaden verlangt für Vorlage und Maske jeweils weniger als 50 MB. Eine Maske ist eine Orientierung und kein Versprechen für den exakten Erhalt ihrer Grenze. Geben Sie deshalb sowohl die gewünschte Änderung als auch das weiterhin Wiedererkennbare an.
Flare unterstützt low, medium, high, xhigh, max und automatische Qualität, mit auto als Standard. Niedrigere Qualität kann einem schnellen visuellen Entwurf dienen. Höhere Einstellungen lassen sich für die Details eines finalen Motivs vergleichen. Qualität ist unabhängig von Größe und Ausgabekompression. Standardgrößen umfassen 1024 × 1024, 1536 × 1024 und 1024 × 1536, mit zusätzlich verfügbaren automatischen oder benutzerdefinierten Abmessungen. Wählen Sie die Ausrichtung passend zur finalen Platzierung und zum nutzbaren Raum der Szene.
Benutzerdefinierte Breite und Höhe müssen Vielfache von sechzehn sein, wobei keine Kante über 3840 Pixel liegen darf. Das zulässige Verhältnis reicht von 1:3 bis 3:1, und die Gesamtfläche muss mindestens 655.360 und höchstens 8.294.400 Pixel betragen. Alle vier Bedingungen gelten gemeinsam. Der Leitfaden bezeichnet Auflösungen über 2560 × 1440 als experimentell. Verwenden Sie einen gültigen Bildrahmen passend zur Komposition und nehmen Sie zuschnittkritische Details in das Briefing auf, statt eine größere Auflösung als automatische Layoutverbesserung zu betrachten.
Das Ergebnisformat ist standardmäßig PNG, mit JPEG und WebP als Alternativen. JPEG und WebP erlauben Kompression von 0 bis 100. Wählen Sie für einen transparenten Hintergrund PNG oder WebP; deckende und automatische Hintergründe werden ebenfalls unterstützt. Ein transparentes Motiv lässt sich in ein späteres Layout einsetzen, während ein deckendes Bild einen eigenen Hintergrund enthält. Wählen Sie Format, Hintergrund und Kompression nach dem tatsächlichen Auslieferungsbedarf und bewahren Sie die fertige Datei zusammen mit Briefing und gewählten Einstellungen auf.
Der Hersteller dokumentiert direkte Bilderzeugung und -bearbeitung sowie ein dialogbasiertes Bildwerkzeug, das ausgewählte Ergebnisse für Folgeänderungen beibehalten kann. In diesem Workflow kann die Aktion automatisch, erzwungene Generierung oder erzwungene Bearbeitung sein, wenn ein Bild im Kontext liegt. Streaming kann vor dem finalen Ergebnis bis zu drei Teilbilder zeigen. Diese Vorschauen vermitteln Fortschritt statt zusätzlicher fertiger Ergebnisse. Setzen Sie bei iterativer Arbeit vom gewählten Bild aus fort und beschreiben Sie eine sichtbare Änderung, etwa das Verschieben eines Objekts oder eine veränderte Farbgestaltung. Die Herstellerschnittstelle unterstützt auch Batchverarbeitung.
Prüfen Sie Schrift, Objektplatzierung, Motivdetails und Komposition in der vorgesehenen Größe. GPT Image kann weiterhin Schwierigkeiten mit exakter Textplatzierung, strukturierten Layouts und wiederholter visueller Identität über Generierungen hinweg haben. Behalten Sie eine akzeptierte Variante als nächste Referenz und begrenzen Sie die folgende Bearbeitung auf das relevante Problem. Flares Rolle für alltägliche Generierung eignet sich für eine klare Folge aus Briefing, visuellen Alternativen, Auswahl und Verfeinerung, bei der das finale Bild am tatsächlichen kreativen Zweck gemessen wird.
Ailoot · Bilder POST /v1/images/generations gpt-image-2.5-flare
gpt-image-2.5-flareStart
GPT Image 2.5 Flare erzeugt und bearbeitet Bilder aus Text und Referenzen mit Schwerpunkt auf schneller alltäglicher Bilderstellung. Es unterstützt benutzerdefinierte Größen, transparente Hintergründe, Masken und Qualitätsstufen bis max für Entwürfe, Illustrationen und Kampagnenmotive.
- Zulässige Eingaben
- Text
- Ergebnisse
- Bilder
In Ailoot verfügbar · Eingaben und Methoden
Ailoot · Bilder POST /v1/images/generations
- Eingabetypen
text- Ausgabetypen
image- Ausgabeformat
- Bilddatei
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits gpt-image-2.5-flare | 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 abschließenden 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", "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");
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
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
Aliasnamen für Methodenpfade
/v1/images
Zugehörige Aufrufer-IDs
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-flaregpt-image-2.5-flareopenai/gpt-image-2.5-flare
Start
GPT Image 2.5 Flare erzeugt und bearbeitet Bilder aus Text und Referenzen mit Schwerpunkt auf schneller alltäglicher Bilderstellung. Es unterstützt benutzerdefinierte Größen, transparente Hintergründe, Masken und Qualitätsstufen bis max für Entwürfe, Illustrationen und Kampagnenmotive.
- Zulässige Eingaben
- Text
- Ergebnisse
- Bilder
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Bilder POST /v1/images/generations
- Eingabetypen
text- Ausgabetypen
image
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits gpt-image-2.5-flare | Standard— |
Feldprompt | Typstring | AnforderungErforderlich | Werte und Limits Maximale Länge: 32.000 | Standard— |
Feldsize | Typstring | AnforderungOptional | Werte und Limits Bedingungen: Verwenden Sie auto oder WIDTHxHEIGHT, wobei beide Abmessungen durch 16 teilbar sein müssen. Die längste Seite beträgt höchstens 3,840 Pixel, die Gesamtgröße höchstens 8,300,000 Pixel. | Standardauto |
Feldbackground | Typstring | AnforderungOptional | Werte und Limits transparent, opaque, auto | Standardauto |
Feldmoderation | Typstring | AnforderungOptional | Werte und Limits low, auto Bedingungen: Verwenden Sie auto für die standardmäßige Inhaltsmoderation. | Standard— |
Feldn | Typinteger | AnforderungOptional | Werte und Limits Minimum: 1 Maximum: 10 | Standard1 |
Feldquality | Typstring | AnforderungOptional | Werte und Limits auto, high, medium, low | Standardauto |
Feldoutput_compression | Typinteger | AnforderungOptional | Werte und Limits Minimum: 0 Maximum: 100 Bedingungen: Gilt für JPEG- und WebP-Ausgaben; senden Sie den dokumentierten Ganzzahlwert. | Standard100 |
Feldoutput_format | Typstring | AnforderungOptional | Werte und Limits webp, png, jpeg | Standardpng |
Feldstream | Typboolean | AnforderungOptional | Werte und Limits false Bedingungen: Diese Route gibt eine abgeschlossene JSON-Antwort zurück. | Standardfalse |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragprompt, model |
Parametermaterial_types | Vertragtext |
Parameteroptional | Vertragsize, background, moderation, n, quality, output_compression, output_format, stream |
Parameterconditions | VertragEin transparenter Hintergrund erfordert PNG oder WebP., Die Ausgabekomprimierung gilt für JPEG oder WebP., Die ausgewählte Methode generiert aus Text. Die für den Hersteller beschriebenen Bearbeitungs- und Streamingoptionen sind separate Fähigkeiten. |
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}
Tarife
So wird die endgültige Gebühr berechnet
Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Geschätzte Tarife zum Vergleich
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Prognostizierte Menge | Gebühr |
|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Prognostizierte Menge— | Gebühr Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Token Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Lesen · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Schreiben · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Token |
| KonfigurationGeschätzte Generierungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.24576 Schätzung vor der Generierung Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung. |
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 abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Bilder
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
Ergebnisse abrufen und speichern
Ailoot Ultra · 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}
Abrufe anderer Inhalte
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 fertiggestellten Ergebnisse aufbewahren
Speichern Sie jedes fertiggestellte Bild; rufen Sie jede zurückgegebene URL ab oder dekodieren Sie seinen Base64-Inhalt.
Die vollständige Antwort und ihre Header, jede tatsächliche Ausgabe, die ursprünglich zurückgegebenen Kennungen und alle Nutzungsfelder aufbewahren. Den ursprünglichen Vorgang wiederaufnehmen, ohne die Erstellung erneut anzufordern.
Wenn die ursprüngliche Antwort geprüft werden muss
Die zurückgegebene X-Client-Request-ID zum Abgleich aufbewahren. Nur tatsächlich zurückgegebene task_id-/asset_id-Werte oder die eigene Medienbibliothek abfragen; niemals eine Aufgaben-URL aus der Vorgangs-ID bilden und die Erstellung niemals erneut anfordern.
Antwortfelder
| Feld | Typ |
|---|---|
Feldcreated | Typ |
Felddata[].url | Typ |
Felddata[].b64_json | Typ |
Feldusage | Typ |
Aliasnamen
Modellaliasnamen
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
Aliasnamen für Methodenpfade
/v1/images
Zugehörige Aufrufer-IDs
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-flaregpt-image-2.5-flareopenai/gpt-image-2.5-flare
Start
GPT Image 2.5 Flare erzeugt und bearbeitet Bilder aus Text und Referenzen mit Schwerpunkt auf schneller alltäglicher Bilderstellung. Es unterstützt benutzerdefinierte Größen, transparente Hintergründe, Masken und Qualitätsstufen bis max für Entwürfe, Illustrationen und Kampagnenmotive.
- Zulässige Eingaben
- Text · Bilder
- Ergebnisse
- Bilder
In Ailoot verfügbar · Eingaben und Methoden
Ailoot Ultra · Bilder POST /v1/images/generations
- Eingabetypen
text,image- Ausgabetypen
image
| Feld | Typ | Anforderung | Werte und Limits | Standard |
|---|---|---|---|---|
Feldmodel | Typstring | AnforderungErforderlich | Werte und Limits openai/gpt-image-2.5-flare | Standard— |
Feldprompt | Typstring | AnforderungErforderlich | Werte und Limits Mindestlänge: 1 | Standard— |
Feldaspect_ratio | Typstring | AnforderungOptional | Werte und Limits 1:1, 3:2, 2:3, 4:3, 3:4, 16:9, 9:16, 21:9, auto | Standard— |
Feldquality | Typstring | AnforderungOptional | Werte und Limits auto, low, medium, high, xhigh, max | Standard— |
Feldbackground | Typstring | AnforderungOptional | Werte und Limits auto, transparent, opaque | Standard— |
Feldn | Typinteger | AnforderungOptional | Werte und Limits Minimum: 1 Maximum: 10 | Standard— |
Feldinput_references | Typarray | AnforderungOptional | Werte und Limits Mindestanzahl Elemente: 0 Maximale Anzahl Elemente: 16 | Standard— |
Feldoutput_compression | Typinteger | AnforderungOptional | Werte und Limits Minimum: 0 Maximum: 100 | Standard— |
Feldprovider | Typobject | AnforderungOptional | Werte und Limits | Standard— |
Methodenparameter und Lebenszyklus
| Parameter | Vertrag |
|---|---|
Parametercontent_type | Vertragapplication/json |
Parameterrequired | Vertragmodel, prompt |
Parametermaterial_types | Vertragtext, image |
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}
Tarife
So wird die endgültige Gebühr berechnet
Die angezeigten Tarife dienen zur Kostenschätzung vor der Generierung. Der endgültige Betrag wird aus den für die ursprüngliche Generierung erfassten Kosten berechnet. Die gemessene Ausgabedauer und prognostizierte Mengen sind nicht die endgültige abrechenbare Menge.
Tarifangaben erweitern die Anfrageoptionen nicht. Unterstützte Parameter stehen bei der ausgewählten Methode.
- Schnellmodus
- Nicht angegeben Wenn der Schnellmodus ausgewählt ist
- Flex-Modus
- Nicht angegeben Wenn der Modus flex ausgewählt ist
- Maximaler Denkaufwand
- Nicht angegeben Wenn beim maximalen Denkaufwand die Standardanpassung (default) verwendet wird
Geschätzte Tarife zum Vergleich
Preise nach Konfiguration
Ordnen Sie jede Gebühr den angezeigten Bedingungen zu. Verwenden Sie für jede Gruppe alternativer Konfigurationen einen Tarif.
| Konfiguration | Tarifstaffel | Prognostizierte Menge | Gebühr |
|---|---|---|---|
| KonfigurationBasistarife für Token | TarifstaffelGrundtarif | Prognostizierte Menge— | Gebühr Eingabe · Eingabetoken · Schätzung nur zum Vergleich — / 1K Token Ausgabe · Ausgabetoken · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Lesen · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Schreiben · Schätzung nur zum Vergleich — / 1K Token Eingabe · Cache-Schreiben, 1 Stunde · Schätzung nur zum Vergleich — / 1K Token |
| KonfigurationGeschätzte Generierungskosten | Tarifstaffel— | Prognostizierte MengeSchätzung für eine Generierung | Gebühr Ausgabe · Geschätzte Generierungskosten · Schätzung nur zum Vergleich $0.24576 Schätzung vor der Generierung Diese Schätzung ist weder eine zusätzliche Gebühr noch ein fester Tarif für die abgeschlossene Generierung. |
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 abschließenden Verbrauchsdatensatzes. So funktionieren Reservierung und Abrechnung →
Beispielanfragen
Ailoot Ultra · Bilder
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
Ergebnisse abrufen und speichern
Ailoot Ultra · 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}
Abrufe anderer Inhalte
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 fertiggestellten Ergebnisse aufbewahren
Speichern Sie jedes fertiggestellte Bild; rufen Sie jede zurückgegebene URL ab oder dekodieren Sie seinen Base64-Inhalt.
Die vollständige Antwort und ihre Header, jede tatsächliche Ausgabe, die ursprünglich zurückgegebenen Kennungen und alle Nutzungsfelder aufbewahren. Den ursprünglichen Vorgang wiederaufnehmen, ohne die Erstellung erneut anzufordern.
Wenn die ursprüngliche Antwort geprüft werden muss
Die zurückgegebene X-Client-Request-ID zum Abgleich aufbewahren. Nur tatsächlich zurückgegebene task_id-/asset_id-Werte oder die eigene Medienbibliothek abfragen; niemals eine Aufgaben-URL aus der Vorgangs-ID bilden und die Erstellung niemals erneut anfordern.
Antwortfelder
| Feld | Typ |
|---|---|
Feldcreated | Typ |
Felddata[].url | Typ |
Felddata[].b64_json | Typ |
Feldusage | Typ |
Aliasnamen
Modellaliasnamen
Ailoot gpt-image-2.5-flare
Ailoot Ultra gpt-image-2.5-flare, openai/gpt-image-2.5-flare
Aliasnamen für Methodenpfade
/v1/images
Zugehörige Aufrufer-IDs
openai/gpt-image-2.5-flare, gpt-image-2.5-flare, gpt-image-2.5-flare
FAQ · OpenAI: GPT Image 2.5 Flare
- Welche Eingaben und Ergebnisse sind verfügbar?
POST /v1/images/generations·gpt-image-2.5-flare:text→imagePOST /v1/images/generations·gpt-image-2.5-flare:text→imagePOST /v1/images/generations·openai/gpt-image-2.5-flare:text,image→image- Welche Felder verwendet die Anfrage?
POST /v1/images/generations·gpt-image-2.5-flare:model,prompt,n,response_format,streamPOST /v1/images/generations·gpt-image-2.5-flare:model,prompt,size,background,moderation,n,quality,output_compression,output_format,streamPOST /v1/images/generations·openai/gpt-image-2.5-flare:model,prompt,aspect_ratio,quality,background,n,input_references,output_compression,provider- Welche Grenzen gelten?
POST /v1/images/generations·gpt-image-2.5-flare:n.minimum:1POST /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:100POST /v1/images/generations·openai/gpt-image-2.5-flare:n.minimum:1;n.maximum:10;output_compression.minimum:0;output_compression.maximum:100