Skip to main content
Der OpenAI Bildbearbeitungsdienst ermöglicht das Hochladen beliebig vieler Bilder und Anweisungen, um bearbeitete Bilder zu erhalten. Derzeit unterstützt die Schnittstelle gleichzeitig 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-data Datei-Upload unterstützt gpt-image-2 zusä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 size Parameter 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 Originalbild 1024x1024 und size wird auf 2048x2048 gesetzt, zeichnet das Modell das Bild gemäß der Bearbeitungsanweisung neu und gibt ein 2K-Bild aus; bei size 3840x2160 wird ein 4K Querformat ausgegeben; bei auto oder Weglassen wählt das Modell die Größe selbst. Die Abrechnung ist bei allen drei Varianten gleich.
Zum Parameter n Die gpt-image-2 Editier-Schnittstelle 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 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ü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 native Editiermodell, das n > 1 unterstützt.
Im Folgenden zeigen wir anhand zweier realer Beispiele aus unterschiedlichen Anwendungsfällen die Bearbeitungsfähigkeiten von gpt-image-2.

Aufrufmethode 1: JSON + Bild-URL (empfohlen)

Senden Sie die Anfrage direkt als application/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:
Oder in Python:
Die Antwort sieht so aus:
Das bearbeitete Bild:

Man sieht, dass die Modulstruktur, Informationsbereiche und Schriftgestaltung strikt erhalten bleiben, nur die Farbgebung wurde in ein dunkles Thema invertiert.
Hinweis: Das Feld image unterstü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 (mit gpt-image-2 generiertes hölzernes Regal):

Aufruf:
Bearbeitungsergebnis (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 bisherige multipart/form-data Upload-Methode weiterhin gültig, Sie müssen nur model auf gpt-image-2 ändern:
Beim Einsatz des SDK müssen zwei Umgebungsvariablen gesetzt werden: OPENAI_BASE_URL auf https://api.acedata.cloud/openai und OPENAI_API_KEY auf den beantragten Token:

Nano Banana Serienmodelle

Die nano-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.
  • image kann entweder als Datei via multipart/form-data hochgeladen werden (intern wandelt der Worker es in data:<mime>;base64,... für den Upstream um) oder als Bild-URL im Formularfeld übergeben werden.
  • Parameter wie mask, n, size, response_format werden nicht unterstützt und ignoriert.
  • Die Rückgabe folgt dem OpenAI-Format (data[].url), aber created ist immer 0, es wird kein b64_json zurückgegeben, und revised_prompt entspricht immer dem ursprünglichen prompt.

Aufruf per Formular + Bild-URL

Antwort:
Bearbeitetes Bild:

Aufruf per Formular + lokale Datei

Asynchrone Callback

Die callback_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:
Beim ersten Gebrauch der Schnittstelle müssen mindestens vier Inhalte ausgefüllt werden: Einmal 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:
Für die Python-Nutzung müssen zwei Umgebungsvariablen gesetzt werden: 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:
Nach dem Aufruf wird im aktuellen Verzeichnis eine Bilddatei 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 Feld callback_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:
Sie erhalten sofort eine Antwort mit:
Nach kurzer Zeit können Sie auf der Webhook-URL das Ergebnis der Bildbearbeitung sehen, z. B.:
Man sieht, dass das Ergebnis ein 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.

Beispiel einer Fehlerantwort

Fazit

Mit diesem Dokument haben Sie gelernt, wie Sie die OpenAI Images Edits API nutzen, um die offiziellen OpenAI Bildbearbeitungsfunktionen einfach einzusetzen. Wir hoffen, dass dieses Dokument Ihnen hilft, die API besser zu integrieren und zu verwenden. Bei Fragen wenden Sie sich bitte jederzeit an unser technisches Support-Team.