Skip to main content
Die OpenAI Images Generations API unterstützt derzeit verschiedene Bildgenerierungsmodelle, darunter das klassische dall-e-3, das textlich stärkere gpt-image-1, die neueste Generation gpt-image-2 sowie die über dieselbe Schnittstelle angebundenen Modelle der nano-banana / nano-banana-2 / nano-banana-pro Serie. Alle können qualitativ hochwertige Bilder basierend auf Textbeschreibungen erzeugen. Dieses Dokument beschreibt hauptsächlich den Anwendungsprozess der OpenAI Images Generations API, mit der wir die Bildgenerierungsfunktionen der OpenAI-Serie einfach nutzen können.

Beantragungsprozess

Um die OpenAI Images Generations API zu verwenden, können Sie zunächst auf der Seite OpenAI Images Generations API den Button „Acquire“ anklicken, um die für Anfragen benötigten Zugangsdaten zu erhalten: Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, um sich zu registrieren und anzumelden. Nach der Anmeldung kehren Sie automatisch zur aktuellen Seite zurück. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, mit dem Sie die API kostenlos nutzen können.

GPT-Image-2 Modell

gpt-image-2 ist das von OpenAI eingeführte neue Bildgenerierungsmodell, das im Vergleich zu dall-e-3 und gpt-image-1 folgende deutliche Verbesserungen aufweist:
  • Bessere Befehlsbefolgung: Es kann komplexe Kompositionsanweisungen, Zählungen, Positionsbeziehungen und andere strukturierte Anweisungen präzise verstehen.
  • Klarere Texterstellung: In Szenarien wie Plakaten, Menüs, Infografiken und Logos treten bei englischen Buchstaben und Zahlen kaum Fehler auf.
  • Vielfältigere Stilwiedergabe: Unterstützt nativ verschiedene Stile wie filmische Porträts, Retro-Poster, Kinderillustrationen, Produktfotografie und Infografiken.
  • Native Unterstützung mehrerer Seitenverhältnisse + hohe Auflösung: Deckt 5 Seitenverhältnisse (1:1, 4:3, 3:4, 16:9, 9:16) mit 3 Auflösungsstufen (1K / 2K / 4K) ab.
Die Aufrufweise ist identisch zu anderen Modellen, es muss lediglich das Feld model auf gpt-image-2 gesetzt werden. Die im Ergebnis zurückgegebene url ist ein dauerhaft auf platform.cdn.xhuoapi.ai gehosteter Bildlink, der direkt im Browser geöffnet oder in Webseiten eingebettet werden kann.

Unterstützte size Werte und Abrechnungsstufen

gpt-image-2 prüft nur das Format von size. Solange es nicht auto oder leer ist, muss es dem Format WIDTHxHEIGHT entsprechen (z. B. 1024x1024, 2048x1152, 800x600); andere Formate führen zu einem 400-Fehler. Die Abrechnung erfolgt in zwei Stufen:
  • 1K Standardpreis: Eingabe entspricht einem der empfohlenen 1K-Formate in der Tabelle oder einem der gängigen 1K-Ausgabe-Aliase (1254x1254, 1672x941, 941x1672 – diese sind tatsächliche Größen, die upstream bei 1K zurückgegeben werden und bei erneuter Eingabe nicht zu Preisänderungen führen).
  • Andere Stufen (1,5×): Alle Größen, die nicht in der 1K-Gruppe sind, einschließlich der empfohlenen 2K/4K-Voreinstellungen und beliebiger benutzerdefinierter WIDTHxHEIGHT Werte.
Upstream gibt harte Einschränkungen für benutzerdefinierte Größen vor: Breite und Höhe müssen Vielfache von 16 sein, die längste Seite ≤ 3840 und die Gesamtpixelzahl ≤ 8.294.400. Überschreitungen werden upstream abgelehnt und mit 4xx zurückgegeben.
Sie können auch size: "auto" übergeben oder das Feld size ganz weglassen. In diesem Fall wählt das Modell die Standardgröße selbst und es wird zum 1K Standardpreis abgerechnet. Bei 1K garantiert upstream keine exakte Pixelgenauigkeit – wenn Sie z. B. 1024x1024 übergeben, erhalten Sie möglicherweise 1254x1254 mit gleichem Seitenverhältnis. Wenn Sie diese Größe erneut als size eingeben, wird weiterhin 1K abgerechnet. 4K-Aufrufe dauern in der Regel 4–8 Minuten und sollten idealerweise mit dem weiter unten beschriebenen asynchronen callback_url verwendet werden.
Zum Parameter n gpt-image-2 unterstützt derzeit kein n > 1: Dieser Parameter wird stillschweigend ignoriert. Egal ob n=1 oder n=10 übergeben wird, es wird immer nur ein Bild generiert und auch nur für ein Bild abgerechnet. Wenn Sie mehrere Bilder gleichzeitig erhalten möchten, müssen Sie mehrere parallele Anfragen senden (empfohlen wird, unterschiedliche prompt oder seed zu verwenden, da sonst die Bilder sehr ähnlich sein können). Diese Einschränkung gilt auch für gpt-image-1 / gpt-image-1.5 sowie die nano-banana / nano-banana-2 / nano-banana-pro Serie. dall-e-2 ist derzeit das einzige Modell mit nativer Unterstützung für n > 1; dall-e-3 unterstützt nur n = 1.
Nachfolgend einige reale Beispiele, um die Fähigkeiten von gpt-image-2 anschaulich zu demonstrieren.

Szenario 1: Filmisches Porträt

Im Prompt können Filmspezifika (35mm Film, geringe Schärfentiefe, Neonlicht etc.) verwendet werden, um Atmosphäre und Textur präzise zu steuern. Python Beispielcode:
Beispielantwort:
Das generierte Bild sieht wie folgt aus:

Szenario 2: Retro-Reiseposter (mit Texterstellung)

gpt-image-2 zeigt stabile Leistung bei Layout und Schrift, ideal für Poster, Menüs, Grußkarten mit Text.
Das Bild unter dem url-Feld sieht so aus:

Das Modell reproduziert den Art-Deco-Stil präzise, die Titeltexte AMALFI und ITALIA 1958 sind klar und korrekt dargestellt.

Szenario 3: Komplexe Komposition und Zählung

Dieser Prompt testet die Befolgung strukturierter Anweisungen zu „Anzahl“ und „Position“.
Generiertes Bild:

Die Anzahl der Bücher auf den drei Regalbrettern (1 / 3 / 7) entspricht exakt dem Prompt – eine Leistung, die in der dall-e-3-Ära schwer stabil zu erreichen war.

Szenario 4: Illustrationsstil (Querformat)

Durch Angabe von Kunstmedien und Stimmungswörtern kann das Modell zu stilisierten Illustrationen geführt werden.
Generierte Querformat-Illustration:

Asynchronität und Callback

Ein einzelner Aufruf von gpt-image-2 dauert in der Regel 60–90 Sekunden. Wenn Sie keine dauerhafte Verbindung halten möchten, können Sie das weiter unten beschriebene asynchrone callback_url-Callback-Verfahren verwenden. Der Aufrufprozess ist identisch zu anderen Modellen.

Nano Banana Serie Modelle

Die nano-banana Serie basiert auf dem Gemini-Bildgenerierungsmodell und ist über dieselbe /openai/images/generations Schnittstelle angebunden. Es ist kein Wechsel des Endpunkts erforderlich, ändern Sie einfach das Feld model auf einen der folgenden Werte.
Wichtige Hinweise zu unterstützten Parametern Nano Banana nutzt eine Adaptionsschicht für das OpenAI-Protokoll und unterstützt im Vergleich zu gpt-image-* nur folgende Parameter: model, prompt, size.
  • size wird gemäß der Tabelle intern auf aspect_ratio abgebildet; nicht gelistete Größen fallen auf 1:1 zurück:
    • 1024x1024 / 512x512 / 256x2561:1
    • 1792x102416:9
    • 1024x17929:16
  • Parameter wie n, quality, style, response_format, background, output_format werden nicht unterstützt und ignoriert.
  • Die Rückgabe folgt dem OpenAI-Format (data[].url), aber created ist immer 0, b64_json wird nicht zurückgegeben und revised_prompt entspricht immer dem Original-prompt.

Grundlegender Aufruf

Beispielantwort:
Das generierte Bild kann direkt über den zurückgegebenen url-Link abgerufen werden:

Upgrade zum Flaggschiff-Modell nano-banana-pro

Ändern Sie einfach model auf nano-banana-pro, alle anderen Parameter bleiben gleich:
Beispielantwort:

Asynchrones Callback

Das callback_url-asynchrone Callback-Verfahren funktioniert auch für nano-banana, der Aufrufprozess ist identisch zu anderen Modellen, siehe Abschnitt Asynchrones Callback.

Grundlegende Nutzung

Sie können nun die entsprechenden Inhalte in der Benutzeroberfläche ausfüllen, wie im Bild gezeigt:

Beim ersten Gebrauch der Schnittstelle müssen mindestens drei Inhalte ausgefüllt werden: authorization, das Sie direkt aus der Dropdown-Liste auswählen können; model, womit Sie das OpenAI DALL-E Modell auswählen (hier steht hauptsächlich ein Modell zur Verfügung, Details siehe unsere Modellübersicht); und prompt, das die Beschreibung für das zu generierende Bild ist. Rechts sehen Sie den generierten Beispielaufrufcode, den Sie direkt kopieren und ausführen oder über den „Try“-Button testen können.

Python Beispielcode:
Beispielantwort:
Die Antwort enthält mehrere Felder:
  • created: Zeitstempel der Bildgenerierung, dient zur eindeutigen Identifikation der Aufgabe.
  • data: Enthält die Ergebnisse der Bildgenerierung.
Im data-Array finden Sie detaillierte Informationen zum generierten Bild, insbesondere das Feld url mit dem Bildlink, wie im Screenshot ersichtlich.

Bildqualitätsparameter quality

Sie können die Qualität der generierten Bilder einstellen. Es gibt zwei Optionen: standard für Standardqualität und hd für feinere Details und höhere Konsistenz. Beispiel für die Einstellung von quality auf standard:

Rechts sehen Sie den generierten Beispielcode, den Sie direkt ausführen oder über „Try“ testen können.

Python Beispielcode:
Beispielantwort:
Das Bild mit quality = standard sieht so aus:

Wenn Sie stattdessen quality auf hd setzen, erhalten Sie ein Bild mit feineren Details und höherer Konsistenz:

Bildgrößenparameter size

Sie können auch die Größe des generierten Bildes einstellen. Beispiel: Bildgröße auf 1024x1024 setzen:

Rechts sehen Sie den generierten Beispielcode:

Python Beispielcode:
Beispielantwort:
Das Bild mit Größe 1024x1024 sieht so aus:

Wenn Sie stattdessen 1792x1024 wählen, erhalten Sie ein Bild mit anderem Seitenverhältnis: Weitere Größenoptionen finden Sie in unserer offiziellen Dokumentation.

Bildstilparameter style

Der Stilparameter style hat zwei Optionen: vivid für lebendigere Bilder und natural für natürlichere Bilder. Beispiel: style auf vivid setzen:

Rechts sehen Sie den generierten Code:

Python Beispielcode:
Beispielantwort:
Das Bild mit style = vivid sieht so aus:

Wenn Sie stattdessen style auf natural setzen, erhalten Sie ein natürlicheres Bild:

vivid erzeugt lebendigere und realistischere Bilder als natural. Der Parameter response_format hat zwei Optionen: b64_json kodiert das Bild als Base64, url liefert einen normalen Bildlink. Beispiel: response_format auf url setzen:

Rechts der generierte Code:

Python Beispielcode:
Beispielantwort:
Das Bild ist über den Link direkt zugänglich:

Wenn Sie stattdessen response_format auf b64_json setzen, erhalten Sie die Base64-kodierte Bilddaten:

Asynchrones Callback

Da die Bildgenerierung mit der OpenAI Images Generations API relativ lange dauern kann, würde eine lange HTTP-Verbindung unnötige Systemressourcen binden. Deshalb unterstützt die API auch asynchrone Callbacks. Der Ablauf: Der Client sendet eine Anfrage mit dem zusätzlichen Feld callback_url. Die API antwortet sofort mit einem Ergebnis, das ein task_id enthält, welches die Aufgabe identifiziert. Nach Abschluss der Bildgenerierung sendet die API das Ergebnis per POST-JSON an die angegebene callback_url, inklusive des task_id, sodass die Aufgabe eindeutig zugeordnet werden kann. Beispiel: Ein Webhook ist ein HTTP-Endpunkt, der HTTP-Anfragen empfangen kann. Entwickler sollten hier ihre eigene HTTP-Server-URL angeben. Zum Demonstrieren verwenden wir die öffentliche Webhook-Testseite https://webhook.site/, die eine Webhook-URL generiert, z. B.: Kopieren Sie diese URL, z. B. https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, und verwenden Sie sie als callback_url:
Die Antwort ist sofort:
Nach kurzer Zeit sehen Sie auf der Webhook-Seite das Ergebnis der Bildgenerierung:
Das Feld task_id ermöglicht die Zuordnung der Aufgabe, data enthält die gleichen Bildinformationen wie bei synchronen Aufrufen.

Fehlerbehandlung

Bei Fehlern gibt die API entsprechende Fehlercodes und -meldungen zurück, z. B.:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise fehlende oder falsche Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise fehlende oder falsche Parameter.
  • 401 invalid_token: Nicht autorisiert, ungültiger oder fehlender Token.
  • 429 too_many_requests: Zu viele Anfragen, Limit überschritten.
  • 500 api_error: Interner Serverfehler.

Beispiel einer Fehlerantwort

Fazit

Mit diesem Dokument haben Sie gelernt, wie Sie die OpenAI Images Generations API nutzen, um die offiziellen OpenAI DALL-E Bildgenerierungsfunktionen einfach zu verwenden. Wir hoffen, dass Ihnen dieses Dokument bei der Integration und Nutzung der API hilft. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.