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.
Aktualisierte 1. Mai 2025  · 12 Min. Lesezeit

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

Developing AI Applications

0 Min.
Learn to create AI-powered applications with the latest AI developer tools, including the OpenAI API, Hugging Face, and LangChain.
Siehe DetailsRight Arrow
Kurs starten
Mehr anzeigenRight Arrow
Verwandt

Der Blog

Top 30 Generative KI Interview Fragen und Antworten für 2024

Dieser Blog bietet eine umfassende Sammlung von Fragen und Antworten zu generativen KI-Interviews, die von grundlegenden Konzepten bis hin zu fortgeschrittenen Themen reichen.
Hesam Sheikh Hassani's photo

Hesam Sheikh Hassani

15 Min.

Der Blog

Die 50 besten AWS-Interview-Fragen und Antworten für 2025

Ein kompletter Leitfaden zur Erkundung der grundlegenden, mittleren und fortgeschrittenen AWS-Interviewfragen, zusammen mit Fragen, die auf realen Situationen basieren.
Zoumana Keita 's photo

Zoumana Keita

15 Min.

Der Blog

Die 20 besten Snowflake-Interview-Fragen für alle Niveaus

Bist du gerade auf der Suche nach einem Job, der Snowflake nutzt? Bereite dich mit diesen 20 besten Snowflake-Interview-Fragen vor, damit du den Job bekommst!
Nisha Arya Ahmed's photo

Nisha Arya Ahmed

15 Min.

Der Blog

Lehrer/innen und Schüler/innen erhalten das Premium DataCamp kostenlos für ihre gesamte akademische Laufbahn

Keine Hacks, keine Tricks. Schüler/innen und Lehrer/innen, lest weiter, um zu erfahren, wie ihr die Datenerziehung, die euch zusteht, kostenlos bekommen könnt.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

4 Min.

Der Blog

Q2 2023 DataCamp Donates Digest

DataCamp Donates hat im zweiten Quartal 2023 über 20.000 Stipendien an unsere gemeinnützigen Partner vergeben. Erfahre, wie fleißige benachteiligte Lernende diese Chancen in lebensverändernde berufliche Erfolge verwandelt haben.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

Der Blog

2022-2023 DataCamp Classrooms Jahresbericht

Zu Beginn des neuen Schuljahres ist DataCamp Classrooms motivierter denn je, das Lernen mit Daten zu demokratisieren. In den letzten 12 Monaten sind über 7.650 neue Klassenzimmer hinzugekommen.
Nathaniel Taylor-Leach's photo

Nathaniel Taylor-Leach

8 Min.

Mehr anzeigenMehr anzeigen