Claude Opus 5.5 ist auf SeedRouter verfügbar
SeedRouter Docs

GPT Image 2.5

Bilder mit GPT Image 2.5 Flare oder Sunburst über einen einzigen asynchronen Bild-Endpunkt erzeugen und bearbeiten, mit sechs Qualitätsstufen bis max.

View Markdown

GPT Image 2.5 nimmt einen Text-Prompt und optional Referenzbilder entgegen. Sende einmal, behalte die zurückgegebene Aufgaben-ID und frag diese Aufgabe nach den fertigen Bildern ab. Es wird als zwei Modelle angeboten, die dieselben Parameter lesen: Flare für die alltägliche Arbeit und Sunburst, wenn es vor allem auf präzise Bearbeitung ankommt.

Modell-IDs

Modell-IDStufeKanal
gpt-image-2.5-flareFlare: die erste Wahl für die meisten AnwendungenStandard
gpt-image-2.5-sunburstSunburst: am leistungsfähigsten, präzisere Kontrolle über Bearbeitungen hinweg, langsamerStandard
gpt-image-2.5-flare-officialFlareOfficial
gpt-image-2.5-sunburst-officialSunburstOfficial

Alle vier IDs akzeptieren dieselben Parameter. Die Kanäle unterscheiden sich in der Abrechnung; aktuelle Preise findest du auf der Modellseite.

Kurzbeispiel

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "An amber glass bottle on a cream background, studio lighting",
    "size": "1024x1024",
    "quality": "low"
  }'

Endpunkt

POST https://api.seedrouter.ai/v1/images/generations
HeaderWert
AuthorizationBearer YOUR_API_KEY
Content-Typeapplication/json

Derselbe Endpunkt bedient Erzeugung, Referenzbearbeitung und maskierte Bearbeitung. Die Antwort enthält eine Aufgaben-ID, nicht das fertige Bild. Bewahre API-Schlüssel in serverseitigem Code auf.

Parameter

NameTypErforderlichStandardwertHinweise
modelstringJa—Eine der vier Modell-IDs oben.
promptstringJa—Nicht leer; bis zu 32.000 Zeichen.
imagesobject[]Nein—1–16 Objekte der Form {"image_url":"https://..."}; mit images wird die Bearbeitung gewählt.
maskobjectNein—{"image_url":"https://..."}; erfordert images.
sizestringNeinautoauto oder WIDTHxHEIGHT, gemäß den Regeln unten.
qualityenumNeinautoauto, low, medium, high, xhigh, max.
backgroundenumNeinautoauto, opaque, transparent.
output_formatenumNeinpngpng, jpeg.
output_compressionintegerNein100 bei JPEG0–100; nur mit jpeg senden. Null ist gültig.
nintegerNein11–10 Bilder.
moderationenumNeinautoauto, low.
userstringNein—Optionale Kennung des Endnutzers deiner Anwendung. Keine personenbezogenen Daten verwenden.

Regeln für die Größe

Gängige Werte sind 1024x1024, 1536x1024 und 1024x1536. Eigene Abmessungen müssen alle Regeln erfüllen:

  • Breite und Höhe sind Vielfache von 16.
  • Keine Kante überschreitet 3840 Pixel.
  • Das Seitenverhältnis liegt zwischen 1:3 und 3:1.
  • Die Gesamtfläche liegt zwischen 655.360 und 8.294.400 Pixeln, jeweils einschließlich.

auto überlässt die Ausgabegröße dem Modell. Sende keine Seitenverhältnisse wie 16:9 als size.

Das Playground bietet die Steuerungen Auto, Verhältnis und Benutzerdefiniert. Der Verhältnismodus kombiniert ein Seitenverhältnis mit einer Pixelbudget-Vorgabe von 1K, 2K oder 4K und sendet dann nur die daraus berechnete size. Das sind Oberflächenvorgaben, keine eigenen API-Parameter: Sende weder resolution noch aspect_ratio. Beispielsweise sendet 16:9 + 4K size: "3840x2160", 9:16 + 4K sendet "2160x3840" und 1:1 + 2K sendet "2048x2048". Rundung und Kantenbegrenzung können die Pixelzahl einer gewählten Stufe verringern. Die genauen Abmessungen werden vor dem Senden angezeigt.

OpenAI bezeichnet Auflösungen über 2560×1440 als experimentell. Innerhalb der oben genannten Grenzen werden sie angenommen; eine höhere Auflösung garantiert jedoch keine besseren Details.

Qualitätsstufen

xhigh und max sind neu in GPT Image 2.5; GPT Image 2 endet bei high. Höhere Stufen brauchen länger zum Rendern und verbrauchen bei nach Token abgerechneten IDs mehr Ausgabe-Token. Gemessen bei 1024x1024 meldete ein Render 196, 439, 1.756, 3.122 und 7.024 Ausgabe-Token für low, medium, high, xhigh und max. Das sind beobachtete Stichproben, keine Garantien: Der Verbrauch hängt auch von Größe und Inhalt ab.

Verwende low für Entwürfe und vergleiche die Ergebnisse, bevor du eine höhere Stufe wählst. auto überlässt die Wahl dem Modell; es garantiert weder eine bestimmte Stufe noch bestimmte Kosten.

Transparente Hintergründe

Transparenz wird von GPT Image 2.5 unterstützt. Für einen transparenten Hintergrund setze background: "transparent" und verwende PNG. JPEG unterstützt keine Transparenz. Die Komprimierung gilt nur für JPEG.

user steht für API-Integrationen zur Verfügung, wird im Playground aber weder angezeigt noch automatisch befüllt.

Optionale skalare Einstellungen (n, size, quality, background, output_format, output_compression, moderation) akzeptieren null als Auslassung. Unbekannte Felder werden abgelehnt. input_fidelity ist kein Parameter von GPT Image 2.5. style und response_format gehören zu anderen Bildmodellen und werden hier nicht akzeptiert.

Modi

Es gibt weder einen eigenen Modus-Parameter noch einen separaten Bearbeitungs-Endpunkt zur Auswahl.

VorgangParameter
Text zu Bildprompt
Referenzbearbeitungprompt + images
Maskierte Bearbeitungprompt + images + mask

Referenzbilder bearbeiten

curl https://api.seedrouter.ai/v1/images/generations \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "gpt-image-2.5-flare",
    "prompt": "Make the bottle blue. Preserve the composition and lighting.",
    "images": [{"image_url": "https://example.com/reference.png"}],
    "mask": {"image_url": "https://example.com/mask.png"},
    "output_format": "jpeg",
    "output_compression": 90
  }'

Ersetze beide Beispiel-URLs durch eigene, erreichbare Bilder. Lass mask weg, wenn du eine Referenzbearbeitung ohne ausgewählten Bereich wünschst.

Medieneingaben

Diese API akzeptiert ausschließlich URL-Verweise. OpenAI-Files-IDs, base64-Data-URLs und Multipart-Uploads werden nicht akzeptiert. Das Playground lädt ausgewählte Dateien zunächst in den Speicher und sendet dann deren URLs.

Referenzbilder müssen öffentliche HTTP(S)-URLs sein, die auf PNG-, JPEG- oder WebP-Dateien mit jeweils weniger als 50 MB verweisen. Eine Maske muss ein PNG mit weniger als 4 MB sein und dieselben Abmessungen wie das erste Referenzbild haben; ihr transparenter Bereich markiert, was bearbeitet wird. Eine Maske leitet das Modell an und garantiert keine pixelgenauen Grenzen. Bei mehreren Referenzbildern gilt die Maske für das erste Bild. URL-Medien werden während der Verarbeitung geprüft; ungültige oder nicht erreichbare Medien können zu einer fehlgeschlagenen Aufgabe führen.

Das Playground lädt ausgewählte Dateien hoch und sendet deren URLs. API-Anfragen verwenden JSON-URL-Objekte: Sende keine Dateibytes, kein base64, keine data:-URLs, keine blob:-URLs und keine Multipart-Formulardaten.

Kostenfaktoren

Die aktuellen Preise findest du im Preisabschnitt des Modells. Standard-IDs berechnen einen festen Preis pro geliefertem Bild, unabhängig von Qualität, Größe und Prompt. Bei Official-IDs hängen die Endkosten vom Eingabe- und Ausgabeverbrauch ab: Qualität, Ausgabemaße, Referenzbilder, Prompt-Länge und Bildanzahl können ihn beeinflussen.

Die Schätzung im Playground beruht auf einer gemessenen Stichprobe und den aktuellen Preisen; sie ist kein verbindliches Angebot. Die endgültigen Kosten siehst du im Nutzungsverlauf deines Kontos. Fehlgeschlagene Aufgaben werden nicht berechnet.

Ausgabeschema

Beim Senden wird eine Aufgabenreferenz zurückgegeben:

{
  "id": "task_...",
  "model": "gpt-image-2.5-flare",
  "status": "processing",
  "created_at": 1789970508
}

Aufgabe abfragen

curl https://api.seedrouter.ai/v1/tasks/YOUR_TASK_ID \
  -H "Authorization: Bearer $SEEDROUTER_API_KEY"

Frag in einem maßvollen Abstand ab, etwa alle drei Sekunden, bis status den Wert completed oder failed hat. Eine Zeitüberschreitung des Netzwerks während der Abfrage bedeutet nicht, dass die Erzeugung fehlgeschlagen ist: Behalte die Aufgaben-ID und setze die Prüfung fort. Erstelle keine weitere Aufgabe, um den Fortschritt zu prüfen.

Vollständiges Abfragebeispiel

Führe dies nach dem obigen Python-Beispiel zum Senden aus. Es verwendet die zurückgegebene task_id und wartet bis zu zehn Minuten. Wird diese lokale Frist erreicht, endet lediglich die Abfrage; behalte die ID und frag dieselbe Aufgabe weiter ab.

import time

print(f"Task ID: {task_id}")
deadline = time.monotonic() + 600
while time.monotonic() < deadline:
    result = requests.get(
        f"https://api.seedrouter.ai/v1/tasks/{task_id}",
        headers={"Authorization": f"Bearer {os.environ['SEEDROUTER_API_KEY']}"},
        timeout=30,
    )
    result.raise_for_status()
    task = result.json()
    if task["status"] == "completed":
        for image in task["output"]["data"]:
            print(image["url"])
        break
    if task["status"] == "failed":
        raise RuntimeError(task["error"]["message"])
    time.sleep(3)
else:
    raise TimeoutError(f"Still waiting. Resume polling task {task_id}.")

Abgeschlossene Aufgabe

Eine abgeschlossene Aufgabe gibt gehostete Bild-URLs und die Nutzung zurück:

{
  "id": "task_...",
  "model": "gpt-image-2.5-flare",
  "status": "completed",
  "created_at": 1789970508,
  "finished_at": 1789970538,
  "output": {
    "created": 1789970532,
    "data": [{"url": "https://static.seedrouter.ai/media/tasks/task_example/0.png"}],
    "usage": {
      "input_tokens": 29,
      "output_tokens": 196,
      "total_tokens": 225
    }
  }
}
FeldBedeutung
idBewahre diese ID für spätere Abfragen auf.
statusprocessing, completed oder failed.
created_at, finished_atUnix-Zeitstempel in Sekunden; während der Verarbeitung ist der Abschlusszeitpunkt nicht gesetzt oder null.
output.data[].urlURLs der erzeugten Bilder, nach Abschluss verfügbar.
output.sizeTatsächliche Ausgabegröße, sofern gemeldet.
output.qualityTatsächliche Qualitätsstufe, sofern gemeldet.
output.backgroundTatsächlicher Hintergrund, sofern gemeldet.
output.output_formatTatsächliches Bildformat, sofern gemeldet.
output.usageGemeldete Token-Nutzung, sofern verfügbar. Detailobjekte können Token-Zahlen für Text und Bild enthalten.
errorStrukturierter Fehler bei einer fehlgeschlagenen Aufgabe.

Diese API liefert Ergebnisse asynchron über Aufgaben. Sie ist kein Ersatz für ein synchrones Images-SDK; stream und partial_images werden nicht unterstützt.

Fehler

Anfragen, die vor der Erstellung einer Aufgabe abgelehnt werden, geben einen HTTP-Fehler mit einem error-Objekt zurück. Eine Aufgabe, die nach der Annahme fehlschlägt, gibt bei der Abfrage HTTP 200 zurück, zusammen mit status: "failed" und einem error-Objekt.

Codes, HTTP-Status und Hinweise zu Wiederholungen findest du im gemeinsamen Fehlerkatalog. Alle Modell-APIs verwenden dieselbe Fehlerstruktur.

{
  "id": "task_...",
  "status": "failed",
  "error": {
    "code": 60002,
    "message": "Generation could not be completed. Please try again."
  }
}

Kommt es beim Senden selbst zu einer Zeitüberschreitung, prüfe deinen Aufgabenverlauf, bevor du erneut sendest: Die erste Anfrage wurde möglicherweise bereits angenommen.

Tipps

  • Beschreibe Materialien, Bildaufbau und Beleuchtung im Prompt.
  • Gib bei einer Bearbeitung sowohl die Änderung als auch das an, was unverändert bleiben soll.
  • Verwende eine Maske, wenn sich nur ein ausgewählter Bereich ändern soll.
  • Speichere zurückgegebene Bilder in deinem eigenen Speicher, wenn du eine dauerhafte Kopie benötigst.

Weiterführend