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 hochwertige Bilder basierend auf Textbeschreibungen erzeugen.
Dieses Dokument beschreibt hauptsächlich den Nutzungsprozess der OpenAI Images Generations API, mit der wir die Bildgenerierungsfunktionen der OpenAI-Serie einfach verwenden können.
Beantragungsprozess
Um die OpenAI Images Generations API zu nutzen, 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: Falls Sie noch nicht eingeloggt oder registriert sind, werden Sie automatisch zur Login-Seite 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 bietet:
- Stärkere Befehlsbefolgung: Kann komplexe Kompositionen, Zählungen, Positionsbeziehungen und andere strukturierte Anweisungen präzise verstehen.
- Klarere Textrendering: In Szenarien wie Poster, Menüs, Infografiken und Logos werden englische Texte und Zahlen nahezu fehlerfrei dargestellt.
- Vielfältigere Stilwiedergabe: Unterstützt nativ verschiedene Stile wie kinoreife Porträts, Retro-Poster, Kinderillustrationen, Produktfotografie, Infografiken usw.
- Native Unterstützung mehrerer Seitenverhältnisse + hohe Auflösung: Deckt 5 Seitenverhältnisse (1:1, 4:3, 3:4, 16:9, 9:16) mit je 3 Auflösungsstufen (1K / 2K / 4K) ab.
model auf gpt-image-2 gesetzt werden. Die im Ergebnis zurückgegebene url ist ein dauerhaft auf platform.cdn.acedata.cloud gehosteter Bildlink, der direkt im Browser geöffnet oder in Webseiten eingebettet werden kann.
Unterstützte size Werte
gpt-image-2 prüft nur das Format von size. Solange es nicht auto oder leer ist, muss es dem Muster WIDTHxHEIGHT entsprechen (z.B. 1024x1024, 2048x1152, 800x600); jede andere Form führt zu einem 400-Fehler. Alle Größen (1K / 2K / 4K / benutzerdefiniert) werden pro Bild einheitlich abgerechnet, es gibt keine Aufpreisstaffelung nach Größe.
Obere Einschränkungen für benutzerdefinierte Größen: Breite und Höhe müssen Vielfache von 16 sein, die längste Seite ≤ 3840, Gesamtpixel ≤ 8.294.400. Überschreitungen werden vom Backend abgelehnt und mit 4xx zurückgegeben.
Sie können auchsize: "auto"übergeben oder dassize-Feld weglassen, dann wählt das Modell die Standardgröße selbst. Bei 1K-Ausgabe garantiert das Backend keine exakte Pixelgenauigkeit – Sie senden z.B.1024x1024, erhalten aber evtl.1254x1254, das Seitenverhältnis bleibt erhalten. Wenn Sie diesen Wert erneut alssizeübergeben, bleibt die Abrechnung unverändert. Ein 4K-Aufruf dauert in der Regel 4–8 Minuten, daher empfiehlt sich die Verwendung der weiter unten beschriebenen asynchronencallback_url.
Zum ParameterIm Folgenden einige reale Beispiele, um die Fähigkeiten vonngpt-image-2unterstützt derzeit keinn > 1: Dieser Parameter wird stillschweigend ignoriert. Egal obn=1odern=10gesendet wird, es wird immer nur 1 Bild pro Anfrage zurückgegeben und auch nur 1 Bild berechnet. Wenn Sie mehrere Kandidatenbilder benötigen, starten Sie bitte mehrere parallele Anfragen (empfohlen wird, unterschiedlichepromptoderseedzu verwenden, da sonst die Bilder sehr ähnlich sein können). Diese Einschränkung gilt auch fürgpt-image-1/gpt-image-1.5sowie dienano-banana/nano-banana-2/nano-banana-proSerie.dall-e-2ist aktuell das einzige Modell mit nativer Unterstützung fürn > 1;dall-e-3unterstützt nurn = 1.
gpt-image-2 anschaulich zu demonstrieren.
Szenario 1: Kinoreifes Porträt
Im Prompt können Filmbegriffe (35mm Film, geringe Schärfentiefe, Neonlicht etc.) verwendet werden, um Atmosphäre und Textur präzise zu steuern. Python Beispielcode:Szenario 2: Retro-Reiseposter (mit Textrendering)
gpt-image-2 zeigt stabile Leistung bei Layout und Schrift, ideal für Poster, Menüs, Grußkarten mit Text.
url-Feld:
Das Modell reproduziert den Art-Deco-Stil präzise, die Titeltexte AMALFI und ITALIA 1958 sind klar und korrekt gerendert.
Szenario 3: Komplexe Komposition und Zählung
Dieser Prompt testet die Befolgung strukturierter Anweisungen zu „Anzahl“ und „Position“.dall-e-3-Ära schwer stabil zu erreichen war.
Szenario 4: Illustrationsstil (Querformat)
Durch Angabe von künstlerischen Medien und Stimmungswörtern kann das Modell zu stilisierten Illustrationen geführt werden.Asynchron und Callback
Ein einzelnergpt-image-2 Aufruf dauert typischerweise 60–90 Sekunden. Wenn Sie keine lange Verbindung offen halten möchten, können Sie die weiter unten beschriebene asynchrone callback_url-Methode verwenden. Der Aufrufprozess ist identisch zu anderen Modellen.
Nano Banana Serie Modelle
Dienano-banana Serie basiert auf dem Gemini-Bildgenerierungsmodell und ist über denselben /openai/images/generations Endpunkt angebunden. Sie müssen nur das Feld model auf eines der folgenden Modelle ändern.
Wichtige Hinweise zu unterstützten Parametern Nano Banana nutzt eine Adaptionsschicht für das OpenAI-Protokoll und unterstützt im Vergleich zugpt-image-*nur folgende Parameter:model,prompt,size.
sizewird intern gemäß folgender Tabelle aufaspect_ratioabgebildet, nicht gelistete Größen fallen auf1:1zurück:
1024x1024/512x512/256x256→1:11792x1024→16:91024x1792→9:16- Parameter wie
n,quality,style,response_format,background,output_formatwerden nicht unterstützt und ignoriert.- Die Rückgabe folgt dem OpenAI-Format (
data[].url),createdist immer0,b64_jsonwird nicht zurückgegeben,revised_promptentspricht immer dem Original-Prompt.
Grundlegender Aufruf
url aufgerufen werden:
Upgrade zum Flaggschiff-Modell nano-banana-pro
Ändern Sie einfach model auf nano-banana-pro, die übrigen Parameter bleiben gleich:
Asynchroner Callback
Diecallback_url-Methode für asynchrone Rückrufe funktioniert auch mit nano-banana, der Ablauf ist identisch zu anderen Modellen, siehe Abschnitt Asynchroner Callback.
Grundlegende Nutzung
Sie können nun im Interface die entsprechenden Inhalte eingeben, wie im Bild gezeigt: Beim ersten Gebrauch dieser Schnittstelle müssen mindestens drei Inhalte ausgefüllt werden:authorization, das Sie direkt aus der Dropdown-Liste auswählen können; model, das die OpenAI DALL-E Modellkategorie bestimmt (hier steht vor allem ein Modell zur Verfügung, Details siehe unsere Modellübersicht); und prompt, der Eingabetext für die Bildgenerierung.
Auf der rechten Seite sehen Sie den generierten Beispielcode, den Sie direkt kopieren und ausführen können, oder Sie klicken auf den Button „Try“, um die Anfrage zu testen.
Python Beispielcode:
created: ID der Bildgenerierung, eindeutig für diese Aufgabe.data: Enthält die Ergebnisse der Bildgenerierung.
data finden Sie die Details zum generierten Bild, insbesondere das url-Feld mit dem Bildlink, wie im Bild dargestellt.
Bildqualitätsparameter quality
Als nächstes wird erklärt, wie man detaillierte Parameter für die Bildgenerierung einstellt. Der Bildqualitätsparameter quality hat zwei Werte: standard für Standardbilder und hd für Bilder mit feineren Details und höherer Konsistenz.
Hier wird quality auf standard gesetzt, wie im Bild gezeigt:
Auf der rechten Seite sehen Sie den generierten Beispielcode, den Sie direkt kopieren und ausführen oder mit „Try“ testen können.
Python Beispielcode:
quality = standard sieht wie folgt aus:
Bei gleicher Vorgehensweise, aber mit quality = hd, erhalten Sie folgendes Bild:
hd erzeugt Bilder mit feineren Details und höherer Konsistenz als standard.
Bildgrößenparameter size
Sie können auch die Bildgröße einstellen. Hier wird die Größe auf 1024 * 1024 gesetzt, wie im Bild dargestellt:
Der rechts angezeigte Beispielcode kann kopiert oder mit „Try“ getestet werden.
Python Beispielcode:
1024 * 1024 sieht so aus:
Bei gleicher Vorgehensweise, aber mit der Größe 1792 * 1024, erhalten Sie folgendes Bild:
Die Bildgröße ist deutlich unterschiedlich. Weitere Größen sind möglich, Details finden Sie in unserer offiziellen Dokumentation.
Bildstilparameter style
Der Bildstilparameter style hat zwei Werte: vivid für lebendigere Bilder und natural für natürlichere Bilder.
Hier wird style auf vivid gesetzt, wie im Bild gezeigt:
Der rechts angezeigte Beispielcode kann kopiert oder mit „Try“ getestet werden.
Python Beispielcode:
style = vivid sieht so aus:
Bei gleicher Vorgehensweise, aber mit style = natural, erhalten Sie folgendes Bild:
vivid erzeugt lebendigere und realistischere Bilder als natural.
Bildlink-Formatparameter response_format
Der letzte Parameter response_format hat zwei Werte: b64_json für Base64-kodierte Bilddaten und url für normale Bild-URLs, die direkt angezeigt werden können.
Hier wird response_format auf url gesetzt, wie im Bild gezeigt:
Der rechts angezeigte Beispielcode kann kopiert oder mit „Try“ getestet werden.
Python Beispielcode:
response_format = url ist Bild URL und kann direkt aufgerufen werden. Das Bild sieht so aus:
Bei gleicher Vorgehensweise, aber mit response_format = b64_json, erhalten Sie Base64-kodierte Bilddaten, z.B.:
Asynchroner Callback
Da die Bildgenerierung mit der OpenAI Images Generations API relativ lange dauern kann, würde eine lange Wartezeit auf die API-Antwort die HTTP-Verbindung offen halten und Systemressourcen binden. Deshalb unterstützt die API auch asynchrone Callbacks. Der Ablauf ist: Der Client sendet bei der Anfrage zusätzlich ein Feldcallback_url. Die API antwortet sofort mit einem Ergebnis, das ein task_id enthält, welches die aktuelle Aufgabe identifiziert. Nach Abschluss der Bildgenerierung sendet die API die Ergebnisse per POST-JSON an die angegebene callback_url, inklusive des task_id, sodass die Aufgabe eindeutig zugeordnet werden kann.
Im Folgenden ein Beispiel zur Veranschaulichung.
Zunächst ist der Webhook ein HTTP-Dienst, der Anfragen empfangen kann. Entwickler sollten hier ihre eigene HTTP-Server-URL verwenden. Für die Demo nutzen wir die öffentliche Webhook-Seite https://webhook.site/, die eine Webhook-URL bereitstellt, wie im Bild gezeigt:
Diese URL kopieren Sie und verwenden sie als Webhook. Beispiel: https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab.
Dann setzen Sie das Feld callback_url auf diese Webhook-URL und senden die Anfrage, z.B.:
task_id-Feld und ein data-Feld mit denselben Bildgenerierungsergebnissen wie bei synchronem Aufruf. Über task_id können Sie die Aufgabe eindeutig zuordnen.
Fehlerbehandlung
Wenn bei der API-Nutzung Fehler auftreten, liefert die API entsprechende Fehlercodes und Meldungen, z.B.:400 token_mismatched: Ungültige Anfrage, evtl. fehlende oder falsche Parameter.400 api_not_implemented: Ungültige Anfrage, evtl. 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.

