dall-e-2, gpt-image-1, das neueste gpt-image-2 sowie die über dieselbe Schnittstelle angebundenen Modelle der nano-banana / nano-banana-2 / nano-banana-pro Serie.
Dieses Dokument beschreibt hauptsächlich den Nutzungsprozess der OpenAI Images Edits API, mit der wir die offiziellen OpenAI Bildbearbeitungsfunktionen einfach verwenden können.
Beantragungsprozess
Um die OpenAI Images Edits API zu nutzen, können Sie zunächst auf der Seite OpenAI Images Edits API auf die Schaltfläche „Acquire“ klicken, um die für Anfragen benötigten Zugangsdaten zu erhalten: Falls 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 bietet im Bildbearbeitungsszenario im Vergleich zu gpt-image-1 deutliche Verbesserungen:
- Stabilere Struktur: Beim Wechsel von Skin, Farbgebung oder Hintergrund wird das Layout und die Komposition des Originalbildes kaum zerstört.
- Genauere Texterhaltung: Bilder mit Text wie Infografiken, Poster, Menüs behalten den Text nach der Bearbeitung klar und lesbar.
- Unterstützt direkte URL-Übertragung: Neben dem traditionellen
multipart/form-dataDatei-Upload unterstütztgpt-image-2zusätzlich das Übermitteln von Bild-URLs im JSON-Format, ohne dass das Bild zuerst lokal heruntergeladen werden muss – ideal für serverseitige Pipelines. - Unterstützt hochauflösendes Redrawing: Es kann ein 1K-Originalbild übergeben werden und mittels
sizeParameter eine Ausgabe in 2K / 4K angefordert werden; das Modell vergrößert das Bild während der Bearbeitung.
Unterstützte size Werte
Die Größenbeschränkungen der Editier-Schnittstelle entsprechen vollständig denen der Generierungsschnittstelle — gpt-image-2 akzeptiert nur size Werte als auto, leer oder im Format WIDTHxHEIGHT. Andere Werte führen zu einem 400 Fehler. Alle Größen (1K / 2K / 4K / benutzerdefiniert) werden pro Bild einheitlich abgerechnet, unabhängig von der Originalauflösung oder dem size Wert.
Die gleichen Beschränkungen für benutzerdefinierte Größen gelten: Breite und Höhe müssen Vielfache von 16 sein, die längste Seite ≤ 3840, und die Gesamtpixelzahl ≤ 8.294.400.
Beispiel: Ist das Originalbild1024x1024undsizewird auf2048x2048gesetzt, zeichnet das Modell das Bild gemäß der Bearbeitungsanweisung neu und gibt ein 2K-Bild aus; beisize3840x2160wird ein 4K Querformat ausgegeben; beiautooder Weglassen wählt das Modell die Größe selbst. Die Abrechnung ist bei allen drei Varianten gleich.
Zum ParameterIm Folgenden zeigen wir anhand zweier realer Beispiele aus unterschiedlichen Anwendungsfällen die Bearbeitungsfähigkeiten vonnDiegpt-image-2Editier-Schnittstelle unterstützt derzeit keinn > 1: Dieser Parameter wird stillschweigend ignoriert, egal obn=1odern=10übergeben wird, es wird immer nur ein Bild pro Anfrage zurückgegeben und auch nur für ein Bild abgerechnet. Wenn Sie mehrere bearbeitete Varianten gleichzeitig erhalten möchten, müssen Sie mehrere Anfragen parallel senden. Diese Einschränkung gilt auch fürgpt-image-1/gpt-image-1.5sowie dienano-banana/nano-banana-2/nano-banana-proSerie.dall-e-2ist derzeit das einzige native Editiermodell, dasn > 1unterstützt.
gpt-image-2.
Aufrufmethode 1: JSON + Bild-URL (empfohlen)
Senden Sie die Anfrage direkt alsapplication/json mit dem Feld image, das eine Bild-URL enthält. Das Modell lädt das Bild und bearbeitet es gemäß dem prompt.
Beispiel: Das folgende Originalbild ist eine mit gpt-image-2 generierte Infografik:
Wir möchten es in einen „Nachtmodus“-Look umwandeln. Der Aufruf sieht so aus:
Hinweis: Das Feldimageunterstützt auch ein Array, z. B."image": ["url1", "url2", "url3"]. Es können bis zu 16 Referenzbilder gleichzeitig übergeben werden, damit das Modell mehrere Bilder für die Bearbeitung berücksichtigt.
Aufrufmethode 2: JSON + mehrere Referenzbilder
gpt-image-2 unterstützt die gleichzeitige Referenzierung mehrerer Bilder, um ein Endergebnis zu erzeugen, z. B. mehrere Produktfotos zu einem Geschenkkorb zusammenfügen:
Anwendungsbeispiel: Stilwechsel + Struktur beibehalten
Ein weiteres Beispiel: Ein hölzernes Bücherregal wird durch ein modernes schwebendes Regal ersetzt, wobei die Anzahl und Anordnung der Bücher auf jeder Ebene strikt erhalten bleibt. Originalbild (mitgpt-image-2 generiertes hölzernes Regal):
Aufruf:
task_id: e9544dba-727e-44a2-81e1-223d49869380):
Man sieht, dass Stil und Umgebung gemäß dem Prompt vollständig ersetzt wurden, aber die Anzahl der Bücher pro Ebene (1 / 3 / 7) strikt erhalten blieb und wie gewünscht eine kleine Sukkulente hinzugefügt wurde.
Aufrufmethode 3: multipart/form-data (kompatibel mit OpenAI SDK)
Wenn Sie bereits das offizielle OpenAI Python SDK verwenden, ist die bisherigemultipart/form-data Upload-Methode weiterhin gültig, Sie müssen nur model auf gpt-image-2 ändern:
OPENAI_BASE_URL auf https://api.acedata.cloud/openai und OPENAI_API_KEY auf den beantragten Token:
Nano Banana Serienmodelle
Dienano-banana Serie ist ebenfalls über /openai/images/edits angebunden, ändern Sie einfach model auf einen der folgenden Werte.
Wichtiger Hinweis zu unterstützten Parametern Nano Banana ist über eine Adaptionsschicht an das OpenAI-Protokoll angebunden und unterstützt nur die folgenden Parameter:model,prompt,image.
imagekann entweder als Datei viamultipart/form-datahochgeladen werden (intern wandelt der Worker es indata:<mime>;base64,...für den Upstream um) oder als Bild-URL im Formularfeld übergeben werden.- Parameter wie
mask,n,size,response_formatwerden nicht unterstützt und ignoriert.- Die Rückgabe folgt dem OpenAI-Format (
data[].url), abercreatedist immer0, es wird keinb64_jsonzurückgegeben, undrevised_promptentspricht immer dem ursprünglichenprompt.
Aufruf per Formular + Bild-URL
Aufruf per Formular + lokale Datei
Asynchrone Callback
Diecallback_url asynchrone Callback-Funktionalität gilt auch für nano-banana, der Aufrufprozess ist identisch mit anderen Modellen, siehe Abschnitt Asynchrone Callback.
Grundlegende Nutzung
Nun können Sie die API mit Code aufrufen. Hier ein Beispiel mit CURL:authorization, das Sie direkt aus der Dropdown-Liste wählen können. Dann model, das ist die Auswahl des OpenAI-Modells, hier gibt es hauptsächlich ein Modell, Details finden Sie in unserer Modellübersicht. Weiterhin prompt, der Text, der die Bildgenerierung beschreibt. Schließlich image, der Pfad zum zu bearbeitenden Bild, wie unten gezeigt:
Das äquivalente Python-Beispiel:
OPENAI_BASE_URL auf https://api.acedata.cloud/openai und OPENAI_API_KEY auf den erhaltenen Token. Unter macOS können Sie diese mit folgendem Befehl setzen:
gift-basket.png erzeugt, das Ergebnis sieht so aus:
Damit haben Sie die Bildbearbeitung erfolgreich abgeschlossen. Die Edits-Schnittstelle unterstützt derzeit drei Modelle: dall-e-2, gpt-image-1 und gpt-image-2. gpt-image-2 ist das aktuell empfohlene Modell, siehe oben Abschnitt GPT-Image-2 Modell.
Asynchrone Callback
Da die Bildbearbeitung mit OpenAI Images Edits API längere Zeit in Anspruch nehmen kann, würde eine lange Wartezeit bei synchronen HTTP-Anfragen zu Ressourcenverbrauch führen. Daher bietet die API auch asynchrone Callback-Unterstützung. Der Ablauf ist: Der Client sendet eine Anfrage mit einem zusätzlichen Feldcallback_url. Die API antwortet sofort mit einem Ergebnis, das ein task_id enthält, welches die aktuelle Aufgabe identifiziert. Nach Abschluss der Bearbeitung sendet die API das Ergebnis per POST-JSON an die angegebene callback_url, inklusive des task_id, so dass die Aufgabe zugeordnet werden kann.
Ein Beispiel zur Veranschaulichung:
Ein Webhook ist ein HTTP-Dienst, der Anfragen empfangen kann. Entwickler sollten hier ihre eigene HTTP-Server-URL einsetzen. Für die Demonstration verwenden wir die öffentliche Webhook-Testseite https://webhook.site/, die eine URL bereitstellt, z. B.:
Kopieren Sie diese URL, z. B. https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab, und verwenden Sie sie als Webhook.
Dann setzen Sie das Feld callback_url auf diese URL und senden die Anfrage:
task_id enthält und das Feld data die gleichen Bildbearbeitungsergebnisse wie bei synchronem Aufruf enthält. Über task_id kann die Aufgabe zugeordnet werden.
Fehlerbehandlung
Bei API-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ültiges oder fehlendes Token.429 too_many_requests: Zu viele Anfragen, Rate-Limit überschritten.500 api_error: Interner Serverfehler.

