Skip to main content
OpenAI Bildbearbeitungsdienst ermöglicht es, Bilder und Anweisungen einzugeben und die bearbeiteten Bilder auszugeben. Die GPT Image Modellreihe kann maximal 16 Referenzbilder gleichzeitig verarbeiten. Derzeit unterstützt die Schnittstelle sowohl gpt-image-1 als auch das neueste gpt-image-2, sowie die über dieselbe Schnittstelle zugänglichen Modelle der nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro Reihe. Dieses Dokument beschreibt hauptsächlich den Ablauf der Nutzung der OpenAI Images Edits API, mit der wir die offiziellen OpenAI Bildbearbeitungsfunktionen einfach nutzen können.

Antragsprozess

Um die OpenAI Images Edits API zu nutzen, müssen Sie zunächst zum Ace Data Cloud Dashboard gehen, um Ihr API-Token zu erhalten, das Sie für später aufbewahren sollten. Wenn Sie noch nicht angemeldet oder registriert sind, werden Sie automatisch zur Anmeldeseite weitergeleitet, die Sie zur Registrierung und Anmeldung einlädt. Nach Abschluss werden Sie automatisch zur aktuellen Seite zurückgeleitet. Ein API-Token reicht aus, um auf alle Dienste der Plattform zuzugreifen, es ist nicht erforderlich, für jeden Dienst separat zu beantragen. Bei der ersten Beantragung erhalten Sie ein kostenloses Kontingent, um es kostenlos auszuprobieren; wenn das Kontingent erschöpft ist, können Sie im Dashboard Ihr Guthaben aufladen.
📘 Vollständige Dokumentation: OpenAI Images Edits API →

GPT-Image-2 Modell

gpt-image-2 bietet im Bereich der Bildbearbeitung im Vergleich zu gpt-image-1 deutliche Verbesserungen:
  • Struktur bleibt stabiler: Beim Wechseln von Haut, Farben oder Hintergründen wird das Layout und die Komposition des Originalbildes kaum beeinträchtigt.
  • Text bleibt genauer erhalten: Bilder mit Text wie Infografiken, Plakaten, Menüs usw. sind nach der Bearbeitung weiterhin klar und lesbar.
  • Unterstützt URL-Direktübertragung: Neben dem traditionellen multipart/form-data Datei-Upload unterstützt gpt-image-2 auch die Übertragung von Bild-URLs im JSON-Format, ohne dass die Bilder zuerst lokal heruntergeladen werden müssen, was sich hervorragend für die Integration in Server-Pipelines eignet.
  • Unterstützt base64-Direktübertragung: Entsprechend den offiziellen Vorgaben kann das image-Feld auch direkt base64 (z. B. data:image/png;base64,... oder rohes base64) übertragen werden, sodass lokale Bilder nicht zuerst auf einen Bildhost hochgeladen werden müssen, um bearbeitet zu werden.
  • Unterstützt hochauflösende Neuzeichnung: Sie können ein 1K-Originalbild übergeben und über den size-Parameter eine 2K / 4K-Ausgabe anfordern, wobei das Modell während des Bearbeitungsprozesses gleichzeitig die Vergrößerung durchführt.

Linienvarianten (:official / :reverse)

gpt-image-2 verwendet standardmäßig die Standardlinie. Durch den Suffix des Modellnamens können Sie die Linie explizit auswählen:
  • gpt-image-2:official: Offizieller Kanal, stabil und konform. Die Kosten werden durch die Token für die Texteingabe, die Token für die Bildbearbeitung und die Token für die Bildausgabe bestimmt, und die Abrechnung erfolgt basierend auf dem tatsächlichen Verbrauch in der Antwort; die auf der Seite angezeigten Preise für Qualität/Größe dienen nur zur Schätzung; die Preise für die maximale Nutzungspakete betragen etwa 80 % des offiziellen OpenAI-Preises. Der Dienst wird automatisch zwischen verfügbaren Kanälen umschalten, die Fähigkeiten und Kosten richten sich nach den tatsächlich zurückgegebenen Ergebnissen.
  • gpt-image-2:reverse: Vollständig äquivalent zum Standard gpt-image-2, bietet ein besseres Preis-Leistungs-Verhältnis, der Preis bleibt gleich.
:official Abrechnungsformel Endkosten = Token für Texteingabe + Token für Bildeingabe (nur Bearbeitung) + Token für Bildausgabe. Der auf der Seite angezeigte Preis für quality × size ist eine Schätzung vor der Anfrage, die tatsächlichen Kosten basieren auf dem usage der erfolgreichen Antwort. Zum Beispiel kostet die Bildausgabe für low, 1024x1024 normalerweise etwa 0,0505 Credits, zuzüglich einer geringen Anzahl von Eingabetoken; bei Verwendung von auto kann das Modell eine höhere Qualität wählen, die vorab genehmigte Menge wird konservativ auf der höheren Stufe überprüft.

Unterstützte size Werte

Die Formatvalidierung und die Generierungsschnittstelle für size sind identisch – gpt-image-2 benötigt nur, dass size auto, leer oder im Format WIDTHxHEIGHT vorliegt, jede andere Form führt zu einem 400-Fehler. Standardmäßig werden gpt-image-2 und :reverse pro Bild einheitlich abgerechnet; :official berechnet gleichzeitig die Token für Texteingabe, Referenzbild und Bildausgabe, wobei das Originalbild, die Größe und die Qualität die endgültigen Kosten beeinflussen können. Größenbeschränkungen: Benutzerdefinierte Größen müssen sicherstellen, dass sowohl Breite als auch Höhe Vielfache von 16 sind, die lange Seite ≤ 3840 und die Gesamtpixelzahl ≤ 8.294.400 beträgt, Überschreitungen führen zu einem 4xx-Fehler.
Zum Beispiel: Wenn das Originalbild 1024x1024 ist und size auf 2048x2048 gesetzt wird, wird das Modell gemäß den Bearbeitungsanweisungen neu gezeichnet und ein 2K-Bild ausgegeben; wenn size auf 3840x2160 gesetzt wird, wird ein 4K-Breitbild ausgegeben. Die Abrechnung für die drei Größen von gpt-image-2 und :reverse ist identisch; :official richtet sich nach dem tatsächlichen Tokenverbrauch. Das Weglassen des size-Feldes ist vollständig äquivalent zur expliziten Angabe von auto: gpt-image-2 wird zuerst die klaren Größenabsichten aus den Eingabeaufforderungen lesen, einschließlich Pixel, Verhältnis, Hoch- oder Querformat, Auflösungsstufen (z. B. 4K / hochauflösend) oder benannte Leinwände. Wenn Größenabsichten erkannt werden, wird die geplante spezifische Größe verwendet; wenn in der Eingabeaufforderung keine Größenanforderungen vorhanden sind oder die automatische Bestimmung nicht verfügbar ist, wird auf die Größe des ersten Referenzbildes zurückgegriffen. Die endgültige spezifische Größe wird vor der Anfrage auf Vielfache von 16 normalisiert, wobei die langen Seiten- und Gesamtpixelbeschränkungen berücksichtigt werden; wenn eine absolute Kontrolle erforderlich ist, geben Sie bitte direkt WIDTHxHEIGHT an. Nach Abschluss der Generierung wird nicht automatisch erneut versucht, um unterschiedliche Ausgabepixel zu vermeiden, um wiederholte Generierungskosten zu vermeiden. Über den n Parameter Die gpt-image-2 Editier-API unterstützt n > 1: Eine Anfrage kann die entsprechende Anzahl an Editierergebnissen zurückgeben. Standardmäßig wird gpt-image-2 und :reverse nach der Anzahl der erfolgreichen Bilder abgerechnet; :official wird nach dem tatsächlichen Tokenverbrauch der gesamten Antwort abgerechnet (Werte für n von 1–10). Gilt auch für gpt-image-1 / gpt-image-1.5, sowie die Serien nano-banana / nano-banana-2-lite / nano-banana-2 / nano-banana-pro. Beachten Sie, dass response_format=b64_json nur n=1 unterstützt, bei n>1 verwenden Sie bitte die Standard-URL-Rückgabe. Wenn einige Bilder nicht erfolgreich generiert werden, werden nur die erfolgreichen Teile zurückgegeben und abgerechnet.
Hier sind zwei verschiedene reale Beispiele, um die Editierfähigkeiten von gpt-image-2 zu erleben.

Aufrufmethode eins: JSON + Bild-URL (empfohlen)

Senden Sie die Anfrage direkt im application/json Format, das image Feld füllt eine Bild-URL aus, das Modell wird das Bild abrufen und gemäß dem prompt bearbeiten. Zum Beispiel, das folgende Originalbild ist ein mit gpt-image-2 generiertes wissenschaftliches Diagramm:

Wir möchten es in eine „Nachtmodus“-Farbgebung ändern. So könnte der Aufruf aussehen:
Oder mit Python:
Das Rückgabeergebnis sieht wie folgt aus:
Das bearbeitete Bild sieht wie folgt aus:

Man kann sehen, dass die Modulstruktur, Informationspartitionen und Schriftartenanordnung strikt beibehalten wurden, nur das Farbschema wurde in ein dunkles Thema umgekehrt.
Hinweis: Das image Feld unterstützt auch die Eingabe eines Arrays, z.B. "image": ["url1", "url2", "url3"], bis zu 16 Referenzbilder können gleichzeitig übergeben werden, damit das Modell mehrere Bilder zur Bearbeitung berücksichtigen kann.
base64 Direktübertragung: image (und jedes Element im Array) kann neben der URL auch base64 sein — data:image/png;base64,... oder rohes base64 ist ebenfalls möglich, geeignet für lokale Bilder, die nicht zuerst auf einen Bildhost hochgeladen werden sollen. Zum Beispiel:

Aufrufmethode zwei: JSON + mehrere Referenzbilder

gpt-image-2 unterstützt die gleichzeitige Berücksichtigung mehrerer Bilder zur Generierung des Endergebnisses, z.B. mehrere Produktfotos in einem Geschenkkorb zusammenzuführen:

Szenario-Beispiel: Stilwechsel + Struktur beibehalten

Hier ist ein weiteres Beispiel, bei dem ein Holzregal durch ein modernes Wandregal ersetzt wird, aber die Anzahl und Anordnung der Bücher auf jeder Ebene strikt beibehalten wird. Originalbild (ein mit gpt-image-2 generiertes Holzregal):

Aufruf:
Bearbeitungsergebnis (task_id: e9544dba-727e-44a2-81e1-223d49869380):

Man kann sehen, dass Stil und Umgebung gemäß den Vorgaben vollständig ersetzt wurden, aber die Anzahl der Bücher pro Regalebene (1 / 3 / 7) weiterhin strikt beibehalten wurde, und es wurde wie gewünscht eine kleine Sukkulente hinzugefügt.

Aufrufmethode drei: multipart/form-data (kompatibel mit OpenAI SDK)

Wenn Sie bereits das offizielle OpenAI Python SDK verwenden, ist die ursprüngliche multipart/form-data Upload-Methode ebenfalls anwendbar, ändern Sie einfach model in gpt-image-2:
Beim Verwenden des SDK müssen zunächst zwei Umgebungsvariablen importiert werden, OPENAI_BASE_URL auf https://api.acedata.cloud/openai setzen und OPENAI_API_KEY auf den erhaltenen Token setzen:

Nano Banana Modellreihe

Die nano-banana Reihe hat ebenfalls den Zugriff auf /openai/images/edits im Bearbeitungsszenario, ändern Sie model einfach in eines der untenstehenden Modelle.
Wichtig: Unterstützte Parameter Nano Banana greift über eine Anpassungsschicht auf das OpenAI-Protokoll zu und unterstützt nur die folgenden Parameter: model, prompt, image, n.
  • image kann sowohl durch multipart/form-data hochgeladene Dateien (lokale Dateien werden automatisch in base64 umgewandelt) als auch durch Formularfelder, die direkt Bild-URL-Strings übergeben, bereitgestellt werden.
  • Parameter wie mask, size, response_format werden nicht unterstützt; sie werden ignoriert, wenn sie ausgefüllt sind. n > 1 wird unterstützt (1–10) und gibt die entsprechende Anzahl an Bearbeitungsergebnissen zurück und berechnet diese.
  • Die Rückgabestruktur folgt dem OpenAI-Format (data[].url), aber created ist fest auf 0 gesetzt, und b64_json wird nicht zurückgegeben, revised_prompt ist immer gleich dem ursprünglichen prompt.

Aufruf über Formular + Bild-URL

Die Rückgabe sieht wie folgt aus:
Das bearbeitete Bild:

Aufruf über Formular + lokale Datei

Asynchrone Rückruf

Die callback_url asynchrone Rückruffunktion ist auch für nano-banana wirksam, der Aufrufprozess ist identisch mit anderen Modellen, siehe den Abschnitt Asynchrone Rückrufe weiter unten.

Grundlegende Verwendung

Jetzt können Sie den Code verwenden, um Aufrufe zu tätigen, unten ist der Aufruf über CURL:
Bei der ersten Verwendung dieser Schnittstelle müssen wir mindestens vier Inhalte ausfüllen, einer ist authorization, den Sie einfach aus der Dropdown-Liste auswählen können. Ein weiterer Parameter ist model, model ist die Modellkategorie, die wir von der OpenAI-Website verwenden möchten, hier haben wir hauptsächlich 1 Modell, Details finden Sie in den bereitgestellten Modellen. Ein weiterer Parameter ist prompt, prompt ist der Hinweis, den wir eingeben, um das Bild zu generieren. Der letzte Parameter ist image, dieser Parameter benötigt den Pfad des Bildes, das bearbeitet werden soll, das Bild, das bearbeitet werden muss, ist wie unten gezeigt:
Hinweis: image[] kann mehrmals wiederholt werden, um mehrere Referenzbilder hochzuladen, z. B. -F "image[]=@a.png" -F "image[]=@b.png", die GPT Image Modellreihe unterstützt maximal 16 Bilder (jedes nicht größer als 50 MB, im Format png/webp/jpg). Bei Überschreitung der Anzahl wird 400 zurückgegeben.

Ein Beispiel für den gleichen Aufruf in Python:
Um Python aufzurufen, müssen wir zunächst zwei Umgebungsvariablen importieren, eine OPENAI_BASE_URL, die auf https://api.acedata.cloud/openai gesetzt werden kann, und eine weitere Variable für die Anmeldeinformationen OPENAI_API_KEY, dieser Wert wird aus authorization abgerufen, unter Mac OS können Sie die Umgebungsvariablen mit folgendem Befehl setzen:
Nach dem Aufruf stellen wir fest, dass im aktuellen Verzeichnis ein Bild gift-basket.png generiert wird, das Ergebnis sieht wie folgt aus:

So haben wir die Bearbeitung von Bildern abgeschlossen. Der Edits-API unterstützt derzeit zwei Modelle: gpt-image-1 und gpt-image-2, wobei gpt-image-2 das derzeit empfohlene Modell ist. Weitere Informationen finden Sie im obigen Abschnitt GPT-Image-2 Modell.

Asynchrone Rückrufe

Da die Bearbeitungszeit für Bilder über die OpenAI Images Edits API relativ lang sein kann, bleibt die HTTP-Anfrage bei längerer Nichtreaktion der API verbunden, was zu einem zusätzlichen Verbrauch von Systemressourcen führt. Daher bietet diese API auch Unterstützung für asynchrone Rückrufe. Der gesamte Ablauf ist folgender: Wenn der Client die Anfrage stellt, gibt er zusätzlich ein Feld callback_url an. Nach der API-Anfrage gibt die API sofort ein Ergebnis zurück, das ein Feld task_id enthält, das die aktuelle Aufgaben-ID darstellt. Wenn die Aufgabe abgeschlossen ist, wird das Ergebnis der Bildbearbeitung in Form von POST JSON an die vom Client angegebene callback_url gesendet, wobei auch das Feld task_id enthalten ist, sodass das Ergebnis der Aufgabe über die ID verknüpft werden kann. Im Folgenden werden wir anhand eines Beispiels verstehen, wie dies konkret funktioniert. Zunächst ist der Webhook-Rückruf ein Dienst, der HTTP-Anfragen empfangen kann. Entwickler sollten ihn durch die URL ihres eigenen HTTP-Servers ersetzen. Zur Vereinfachung der Demonstration verwenden wir eine öffentliche Webhook-Beispielwebsite https://webhook.site/, auf der Sie eine Webhook-URL erhalten können, wie im Bild gezeigt: Kopieren Sie diese URL, um sie als Webhook zu verwenden. Das Beispiel hier lautet https://webhook.site/3d32690d-6780-4187-a65c-870061e8c8ab. Als Nächstes können wir das Feld callback_url auf die oben genannte Webhook-URL setzen und die entsprechenden Parameter wie im folgenden Code gezeigt ausfüllen:
Nach dem Aufruf können wir sofort ein Ergebnis erhalten, wie folgt:
Nach kurzer Wartezeit können wir an der Webhook-URL das Ergebnis der Bildbearbeitung beobachten, das wie folgt aussieht:
Im Ergebnis sehen wir ein Feld task_id, das data-Feld enthält die gleichen Bildbearbeitungsergebnisse wie bei der synchronen Anfrage. Über das Feld task_id kann die Aufgabe verknüpft werden.

Fehlerbehandlung

Bei der API-Anfrage, wenn ein Fehler auftritt, gibt die API den entsprechenden Fehlercode und die Informationen zurück. Zum Beispiel:
  • 400 token_mismatched: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 400 api_not_implemented: Ungültige Anfrage, möglicherweise aufgrund fehlender oder ungültiger Parameter.
  • 401 invalid_token: Unbefugt, ungültiger oder fehlender Autorisierungstoken.
  • 429 too_many_requests: Zu viele Anfragen, Sie haben das Rate-Limit überschritten.
  • 500 api_error: Interner Serverfehler, etwas ist auf dem Server schiefgelaufen.

Beispiel für eine Fehlerantwort

Fazit

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