Direkt zum Inhalt

GPT-Image-1 API: Eine Schritt-für-Schritt-Anleitung mit Beispielen

Lerne, wie du mit der GPT-Image-1 API Bilder erzeugst und bearbeitest. Dazu gehören die Einrichtung, die Verwendung von Parametern und praktische Beispiele wie das Maskieren und Kombinieren mehrerer Bilder.
Aktualisiert 1. Mai 2025  · 12 Min. lesen

Vor ein paar Wochen ging ChatGPT mit seinem neuen Modell zur Bilderzeugung viral. Dieses Modell ist mit Abstand das beste, das ich gesehen habe. Seine Fähigkeit, Bilder zu bearbeiten, ist das, was es auszeichnet. Es ist unglaublich genau und macht es extrem einfach, die Fantasie zum Leben zu erwecken. Andere Modelle können das auch, aber nicht mit demselben Grad an Genauigkeit.

Das Erzeugen von Bildern in ihrer Schnittstelle ist einfach, da wir nur eine Textaufforderung angeben müssen. Aber als Programmierer wollte ich unbedingt, dass es eine API gibt, mit der ich programmatisch arbeiten kann. Dieser Tag ist nun endlich gekommen, und ich schreibe diesen Blog, um dir zu zeigen, wie du ihn mit Python nutzen kannst.

Wenn du nur daran interessiert bist, zu lernen, wie man es im Chat-Interface benutzt, habe ich schon einmal diese GPT-4o Anleitung zur Bilderzeugung mit acht praktischen Beispielen.

KI-Anwendungen entwickeln

Lerne, wie man KI-Anwendungen mit der OpenAI API erstellt.
Start Upskilling For Free

GPT-Image-1 API Einrichtung

Das neue GPT-Abbildmodell ist geschützt, d.h. es sind zusätzliche Überprüfungen erforderlich, um es verwenden zu können. In diesem Abschnitt beschreiben wir, wie du die API einrichtest. Wenn du bereits einen API-Schlüssel hast, kannst du den ersten Schritt überspringen.

Schritt 1: Generiere einen API-Schlüssel

Der erste Schritt besteht darin, einen API-Schlüssel zu erstellen. Wir können einen erstellen, indem wir uns auf der Plattform anmelden und zur Seite API-Schlüssel-Seite. Dann klicken wir auf die Schaltfläche "Neuen geheimen Schlüssel erstellen".

Sobald der Schlüssel generiert ist, erstellst du eine Datei namens .env und kopierst sie im folgenden Format:

OPENAI_API_KEY=<paste_your_api_key_here>

Schritt 2: Überprüfen unserer Organisation

Ein großer Unterschied zu den anderen OpenAI-Modellen ist, dass wir bei der Verwendung der GPT-Image-API unsere Organisation verifizieren müssen. Der Grund dafür ist, dass GPT-Image-1 realistische und detaillierte Bilder erzeugen kann, was Bedenken hinsichtlich eines möglichen Missbrauchs, z. B. zur Erstellung von Deepfakes oder unangemessenen Inhalten, aufkommen lässt. Durch die Verifizierung von Organisationen kann OpenAI die Nutzung besser überwachen und seine Sicherheitsrichtlinien durchsetzen.

Du kannst deine Organisation verifizieren, auch wenn du kein Unternehmen hast. Beachte jedoch, dass du dafür deinen Personalausweis vorlegen und eine Gesichtsverifizierung durchführen musst.

Um die Überprüfung durchzuführen, navigieren Sie zum allgemeinen Registerkarte der OpenAI API-Plattform und klicke auf die Schaltfläche unter dem Abschnitt "Überprüfungen".

Der Prozess wird von einer dritten Partei durchgeführt und besteht aus:

  1. Hochladen eines Bildes von einem Ausweisdokument.
  2. Verwende die Kamera deines Mobilgeräts, um zu überprüfen, ob deine Identität mit dem vorgelegten Dokument übereinstimmt.

Es dauert nur ein paar Minuten, bis der Vorgang abgeschlossen ist, und dann etwa 15 Minuten, bis er bearbeitet wird.

Python einrichten

Für diesen Lehrgang werden wir die folgenden Python-Pakete installieren:

  • openai: Das offizielle OpenAI-Paket, das es uns ermöglicht, mit ihrer API zu interagieren.
  • dotenv: Ein Python-Paket, mit dem du den API-Schlüssel sicher aus der oben erstellten Datei .env laden kannst.

Wir können diese mit dem Befehl installieren:

pip install openai dotenv

Erzeugen unseres ersten Bildes mit GPT-Image-1

Schauen wir uns an, wie wir mit gpt-image-1 ein Bild erzeugen können. Beginne damit, eine neue Python-Datei zu erstellen, z.B. generate_image.py, im selben Ordner wie die .env-Datei.

Importiere dann die benötigten Pakete:

# Import the packages
from openai import OpenAI
from dotenv import load_dotenv
import os
import base64
import time

Beachte, dass os und base64 integrierte Python-Pakete sind und nicht installiert werden müssen.

Als nächstes laden wir den API-Schlüssel und initialisieren den OpenAI-Client:

# Load the API key
load_dotenv()
api_key = os.getenv("OPENAI_API_KEY")
# Initialize the OpenAI client
client = OpenAI(api_key=api_key)

Dann bitten wir den Benutzer, eine Texteingabe mit der eingebauten Funktion input() einzugeben und eine Anfrage zur Bilderzeugung an die API zu senden:

# Ask the user to input a prompt in the terminal
print("What do you want to generate?")
prompt = input("> ")
print("Generating image...")
# Send the prompt to the API
img = client.images.generate(
  model="gpt-image-1",
  prompt=prompt,
  background="auto",
  n=1,
  quality="high",
  size="1024x1024",
  output_format="png",
  moderation="auto",
)

Zum Schluss speichern wir das erzeugte Bild in einer Datei:

# Save the image into a file
image_bytes = base64.b64decode(img.data[0].b64_json)
with open(f"output_{int(time.time())}.png", "wb") as f:
  f.write(image_bytes)

Das vollständige Skript findest du hier. Um dieses Skript auszuführen, verwende den Befehl:

python generate_image.py

Hier ist ein Beispiel mit der Ausgabe:

Beispiel für die Ausführung von gpt-image-1 über die API

GPT-Image 1-Parameter

In diesem Abschnitt beschreiben wir die wichtigsten Parameter des gpt-image-1 Modells:

  • prompt: Die textliche Anweisung, die beschreibt, welches Bild das Modell erzeugen soll.
  • background: Die Art des Hintergrunds für das Bild. Er muss einer der folgenden sein: "transparent", "opaque" oder "auto". Der Standardwert ist "auto", bei dem das Modell auf der Grundlage des Inhalts entscheidet, was der beste Hintergrundtyp ist. Beachte, dass JPEG-Bilder keine transparenten Hintergründe unterstützen.
  • n: Die Anzahl der zu erzeugenden Bilder. Muss eine Zahl von 1 bis 10 sein.
  • quality: Die Qualität des erzeugten Bildes. Er muss einer der Werte "high", "medium" oder "low" sein, wobei der Standardwert "high" ist.
  • size: Die Größe des Bildes in Pixeln. Er muss einer der folgenden sein: "1024x1024" (quadratisch), "1536x1024" (Querformat), "1024x1536" (Hochformat).
  • output_format: Das Bildformat. Er muss einer der folgenden sein: "png", "jpeg" oder "webp". Die Standardeinstellung ist "png".
  • moderation: Das Niveau der Inhaltsmoderation. Muss entweder "low" für einen weniger restriktiven Filter oder "auto" sein, was die Standardeinstellung ist.

Wir haben uns mit den wichtigsten Parametern beschäftigt, die für das Modell gpt-image-1 verfügbar sind. Weitere Details und eine vollständige Liste der Parameter findest du in der offiziellen API-Dokumentation.

Auswirkungen des Qualitätsparameters

Hier siehst du einen Vergleich von Bildern, die mit demselben Prompt und in unterschiedlicher Qualität erstellt wurden:

Einfluss der Qualität auf fotorealistische Bilder mit gpt-image-1

Wir sehen, dass die erste Katze (mit der niedrigsten Qualität) einige Artefakte um die Augen herum hat und dass das Bild mit steigender Qualität deutlich realistischer wird.

Hier ist ein weiteres Beispiel mit einer Ausgabe im Cartoon-Stil:

Auswirkung der Qualität auf die Zeichnungen in der gpt-image-1 Generation

Auch in diesem Fall gilt: Je höher die Qualität, desto besser ist das Bild. Meiner Meinung nach ist dies jedoch weniger relevant für Inhalte, die nicht realistisch sein sollen.

Denke daran, dass je höher die Qualität, desto höher die Kosten und die Berechnungszeit sind. Ich empfehle, die Parameter von niedrig bis hoch auszuprobieren, um den Mindestwert zu finden, der für jeden Anwendungsfall akzeptable Ergebnisse liefert.

Hintergrundparameter

In meinen Experimenten habe ich festgestellt, dass das Modell diesen Parameter meist ignoriert. Hier sind einige Beispiele, bei denen ich die background Parameter und die Transparenzanweisungen in der Eingabeaufforderung variiert habe:

Beispiele für Hintergrundtransparenz in gpt-image-1

Im ersten Beispiel wurde der Transparenzparameter ignoriert. In der zweiten habe ich die Transparenzanweisungen in die Eingabeaufforderung eingefügt, und es hat etwas besser funktioniert. Im letzten Fall habe ich um einen undurchsichtigen Hintergrund gebeten, aber in der Eingabeaufforderung angegeben, dass ich einen Aufkleber haben möchte, und einen transparenten Hintergrund erhalten.

Ich empfehle immer noch, den Parameter so zu verwenden, dass er dem entspricht, was du willst, aber achte darauf, dass du das gewünschte Ergebnis auch in der Eingabeaufforderung angibst, um es zu verstärken.

Bearbeiten von Bildern mit GPT-Image-1

Wie ich bereits in der Einleitung erwähnt habe, ist das Spannendste an GPT-Image-1 die Möglichkeit, Bilder zu bearbeiten. Beginnen wir damit, zu lernen, wie du ein Bild bearbeiten kannst, und erkunden dann einige Anwendungsfälle.

Um Bilder zu bearbeiten, kann der Großteil des Codes wiederverwendet werden. Der einzige Teil, der sich ändert, ist, dass wir statt der Funktion client.images.generate() die Funktion client.images.edit() verwenden.

Hier ist ein Beispiel:

img = client.images.edit(
  model="gpt-image-1",
  image=[
    open("my-image.jpg", "rb"),
  ],
  prompt=prompt,
  n=1,
  quality="high",
  size="1024x1536",
)

Der neue Parameter ist image. Dies ist eine Liste von Eingabebildern, die bei der Bearbeitung verwendet werden sollen. In diesem Fall stellen wir nur ein Bild mit dem Namen my-image.jpg bereit, das sich im selben Ordner wie das Skript befindet.

Hier ist ein Beispiel für die Bearbeitung eines meiner Fotos mit GPT Image 1:

Beispiel für die Bearbeitung eines Bildes mit gpt-image-1

Da das Originalbild ein Hochformat hat, habe ich die Hochformatgröße 1024x1536 verwendet. Das ist jedoch nicht dasselbe Verhältnis wie beim Originalbild. Auch im Bearbeitungsmodus kann das Modell nur Bilder in den drei oben angegebenen Größen ausgeben.

Das vollständige Bearbeitungsskript findest du hier.

Masken verwenden

Der Bearbeitungsmodus bietet einen mask Parameter, mit dem wir die Bereiche festlegen können, in denen das Bild bearbeitet werden soll. Die Maske muss ein PNG-Bild von höchstens 4 MB sein und die gleiche Größe wie das Bild haben. Bereiche mit 100% Transparenz entsprechen den Bereichen, die GPT Image 1 bearbeiten darf.

Wir stellen die Maske auf die gleiche Weise wie das Bild zur Verfügung, nur dass es sich in diesem Fall nicht um eine Liste handelt:

img = client.images.edit(
  model="gpt-image-1",
  image=[
    open(sys.argv[1], "rb"),
  ],
  # We provide the mask like this
  mask=open("mask.png", "rb"),
  prompt=prompt,
  n=1,
  quality="high",
  size="1536x1024",
)

Als ich damit experimentierte, funktionierte es jedoch nicht sehr gut, und ich habe im Internet Berichte von Leuten gesehen, die ähnliche Probleme hatten.

Hier ist ein Beispiel:

Beispiel für die Verwendung der Maskierung mit GPT Image 1

Ich habe auch versucht, damit Elemente an bestimmten Stellen hinzuzufügen, aber das hat nicht immer funktioniert. Genau wie bei der Verwendung des Parameters background für die Bilderzeugung habe ich festgestellt, dass es am besten funktioniert, wenn ich in der Eingabeaufforderung beschreibe, was ich will.

Mehrere Bilder verwenden

Das Modell kann mehrere Bilder auf einmal verarbeiten und kombinieren. Im folgenden Beispiel verwenden wir es, um ein Marketingposter zu erstellen, das die Bilder dieser drei einzelnen Getränke kombiniert:

Kombinieren mehrerer Fotos in gpt-image-1

Wir geben die drei Bilder als Liste im Parameter image an, wie folgt:

prompt = """
Create a vibrant and eye-catching marketing poster to 
promote the cold drinks offerings at our coffee shop.
"""

img = client.images.edit(
  model="gpt-image-1",
  # We can provide multiple images at once
  image=[
    open("latte.png", "rb"),
    open("americano.png", "rb"),
    open("icetea.png", "rb"),
  ],
  prompt=prompt,
  size="1536x1024",
)

Hier ist das Ergebnis:

Ergebnis der Kombination mehrerer Fotos mit gpt-image-1

GPT-Image-1 Preisgestaltung

Das Erzeugen von Bildern wird auf der Grundlage von:

  1. Die Anzahl der Token in der Textaufforderung.
  2. Die Anzahl der Token in den Eingabebildern.
  3. Die Anzahl der Token im Ausgabebild.

Preisinformationen für Token mit gpt-image-1

Manchmal ist es schwierig, eine Vorstellung davon zu bekommen, wie hoch diese Kosten sind, weil wir nicht wissen, aus wie vielen Token ein Bild besteht. 

Da die Abmessungen der Ausgabebilder bekannt sind, wissen wir, wie viele Token für jedes einzelne benötigt werden, sodass wir genaue Werte für den Preis der Ausgabebild-Token angeben können (was der teuerste Teil ist):

Preisinformationen mit gpt-image-1 ausgeben

Der Preis hängt von der Qualität des Bildes und der Größe ab. Weitere Details findest du auf der GPT Image 1 Preisseite.

Wenn wir ein Bild erzeugen, gibt die API die Anzahl der verwendeten Token zurück, sodass wir sie mit den oben genannten Informationen kombinieren können, um genau zu wissen, wie viel es kostet. 

Wir können die Anzahl der verwendeten Token anzeigen, indem wir das Feld usage des Ergebnisses ausdrucken:

img = client.images.generate(
  model="gpt-image-1",
  prompt=prompt,
  background="transparent",
  n=1,
  quality="medium",
  size="1024x1024",
  moderation="auto",
  output_format="png",
)
# Add this to see the usage
print("Prompt tokens:", img.usage.input_tokens_details.text_tokens)
print("Input images tokens:", img.usage.input_tokens_details.image_tokens)
print("Output image tokens:", img.usage.output_tokens)

Ausgabe:

Prompt tokens: 8
Input images tokens: 0
Output image tokens: 272

Fazit

Trotz einiger Unzulänglichkeiten der API, wie z. B. dass Maskierung und Transparenz nicht zuverlässig genug sind, kann das Modell die Anweisungen in der Eingabeaufforderung mit hoher Präzision ausführen.

Ich denke, dieses Modell eröffnet viele Möglichkeiten, um darauf aufzubauen. In diesem Tutorium haben wir die Grundlagen gelernt, wie man es benutzt. Hier sind ein paar Ideen, mit denen du auf dem hier Gelernten aufbauen kannst:

  • Rationalisierung der Umwandlung von Handy-Fotos in schöne Food-Fotos, die von Restaurants für ihre Speisekarten verwendet werden können.
  • Erstelle auf der Grundlage eines Fotos eines Freundes oder eines Selfies ein Stickerpaket, das verschiedene Emotionen ausdrückt und in Chat-Apps verwendet werden kann.
  • Erstelle ein Tool, das aus den Beschreibungen einzelner Szenen einen Comic-Strip erstellt.

François Aubry's photo
Author
François Aubry
LinkedIn
Full-Stack-Ingenieur und Gründer von CheapGPT. Das Unterrichten war schon immer meine Leidenschaft. Schon als Schülerin habe ich eifrig nach Möglichkeiten gesucht, anderen Schülern Nachhilfe zu geben und sie zu unterstützen. Diese Leidenschaft führte dazu, dass ich einen Doktortitel anstrebte, wobei ich auch als Lehrassistentin tätig war, um meine akademischen Bemühungen zu unterstützen. In diesen Jahren fand ich im traditionellen Klassenzimmer große Erfüllung, indem ich Verbindungen förderte und das Lernen erleichterte. Doch mit dem Aufkommen von Online-Lernplattformen erkannte ich das transformative Potenzial der digitalen Bildung. Ich war sogar aktiv an der Entwicklung einer solchen Plattform an unserer Hochschule beteiligt. Es ist mir ein großes Anliegen, traditionelle Unterrichtsprinzipien mit innovativen digitalen Methoden zu verbinden. Meine Leidenschaft ist es, Kurse zu erstellen, die nicht nur ansprechend und informativ, sondern auch für Lernende im digitalen Zeitalter zugänglich sind.
Themen

Lerne KI mit diesen Kursen!

Lernpfad

Entwicklung von KI-Anwendungen

21 Std.
Lerne, KI-gestützte Anwendungen mit den neuesten KI-Entwicklungstools zu erstellen, darunter die OpenAI API, Hugging Face und LangChain.
Details anzeigenRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Blog

Arten von KI-Agenten: Ihre Rollen, Strukturen und Anwendungen verstehen

Lerne die wichtigsten Arten von KI-Agenten kennen, wie sie mit ihrer Umgebung interagieren und wie sie in verschiedenen Branchen eingesetzt werden. Verstehe einfache reflexive, modellbasierte, zielbasierte, nutzenbasierte, lernende Agenten und mehr.
Vinod Chugani's photo

Vinod Chugani

14 Min.

Tutorial

Python-Tutorial zum Verknüpfen von Zeichenfolgen

Lerne verschiedene Methoden zum Verknüpfen von Zeichenfolgen in Python kennen, mit Beispielen, die jede Technik zeigen.
DataCamp Team's photo

DataCamp Team

Tutorial

Wie man Listen in Python aufteilt: Einfache Beispiele und fortgeschrittene Methoden

Lerne, wie du Python-Listen mit Techniken wie Slicing, List Comprehensions und itertools aufteilen kannst. Finde heraus, wann du welche Methode für die beste Datenverarbeitung nutzen solltest.
Allan Ouko's photo

Allan Ouko

Tutorial

30 coole Python-Tricks für besseren Code mit Beispielen

Wir haben 30 coole Python-Tricks zusammengestellt, mit denen du deinen Code verbessern und deine Python-Kenntnisse ausbauen kannst.
Kurtis Pykes 's photo

Kurtis Pykes

Tutorial

Python-Arrays

Python-Arrays mit Code-Beispielen. Lerne noch heute, wie du mit Python NumPy Arrays erstellen und ausdrucken kannst!
DataCamp Team's photo

DataCamp Team

Mehr anzeigenMehr anzeigen