Bilder aus einem Prompt erstellen
Auf dieser Seite
Aktualisiert am 2. November 2026 — Bildmodelle. Das Modell
gpt-image-1, für das dieser Kurs ursprünglich geschrieben wurde, wurde am 23. Oktober 2026 eingestellt.gpt-image-1.5,gpt-image-1-miniundchatgpt-image-latestwerden am 1. Dezember 2026 eingestellt. Die Beispiele verwenden nungpt-image-2.5-sunburst, das die höchste Präzision für Bearbeitungen bietet;gpt-image-2.5-flareist für die Standardgenerierung schneller. Beide Modelle unterstützen zudem die Qualitätsstufenxhighundmax. GPT-Bildmodelle geben Bilder immer im Base64-Format zurück: Der Parameterresponse_format, der von älteren DALL·E-Modellen verwendet wurde, wird nicht unterstützt und aus dem Code entfernt. Quelle: Bildgenerierung (OpenAI).
Bilder aus einem Prompt erstellen
Die Methode client.images.generate() ist Ihr Haupteinstiegspunkt, um ein Bild aus einer Textbeschreibung zu erstellen. Sie stützt sich auf nur eine Handvoll Parameter, aber gerade weil es so wenige gibt, zählt jeder: Der Unterschied zwischen einem zufälligen und einem vorhersehbaren Ergebnis hängt fast ausschließlich vom Inhalt des Feldes prompt ab. In dieser Lektion lernen Sie, beide zu meistern.
Anatomie eines Generierungsaufrufs
Hier ist die vollständige Struktur eines Aufrufs mit allen verfügbaren Parametern.
from openai import OpenAI
client = OpenAI()
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="Detaillierte Beschreibung des gewünschten Bildes",
n=1,
size="1024x1024",
quality="high"
)
| Parameter | Typ | Beschreibung |
|---|---|---|
model | string | "gpt-image-2.5-sunburst" (präziseste) oder "gpt-image-2.5-flare" (schnellste) |
prompt | string | Bildbeschreibung (bis zu 32.000 Zeichen) |
n | integer | Anzahl der zu generierenden Bilder (1 bis 10) |
size | string | "1024x1024", "1024x1536", "1536x1024" |
quality | string | "low", "medium", "high" |
Die 32.000-Zeichen-Grenze für den Prompt ist großzügig: Sie ermöglicht hochdetaillierte Beschreibungen, und Sie werden gleich sehen, dass Detail Ihre beste Hebelwirkung für die Kontrolle ist.
Abrufen des generierten Bildes
Die Antwort enthält ein data-Objekt, das die Bilder enthält. GPT-Bildmodelle geben das Bild immer im Base64-Format im Feld b64_json zurück: Sie decodieren es und schreiben es sofort auf die Festplatte. Der Parameter response_format und temporäre URLs von älteren DALL·E-Modellen gelten nicht für GPT Image.
import base64
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="Ein japanischer Garten im Regen, Fotografie",
n=1,
size="1024x1024",
)
image_data = base64.b64decode(response.data[0].b64_json)
with open("garden.png", "wb") as f:
f.write(image_data)
print("Bild gespeichert: garden.png")
Sobald die Datei geschrieben wurde, hängt nichts mehr von OpenAI ab: Dies ist die Datei, die Sie speichern, bereitstellen oder nachbearbeiten.
Generieren Sie mehrere Bilder in einem einzigen Aufruf
Der Parameter n fordert mehrere Varianten in einer einzigen Anfrage an. Machen Sie dies zu Ihrer Standardreaktion, wenn Sie eine visuelle Richtung erkunden, ohne zu wissen, welche Sie behalten sollen: Vier Vorschläge nebeneinander informieren Sie viel besser als eine einzelne.
import base64
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="Minimalistisches Logo für eine Handwerksbäckerei, weißer Hintergrund",
n=4,
size="1024x1024",
quality="high"
)
for i, image in enumerate(response.data):
with open(f"logo_{i+1}.png", "wb") as f:
f.write(base64.b64decode(image.b64_json))
print(f"Variante {i+1}: logo_{i+1}.png")
Achten Sie jedoch auf Ihre Kosten: Jedes Bild verbraucht unabhängig Token, und die Generierung von 4 Bildern kostet das Vierfache des Preises eines einzelnen. Erkunden Sie mit einem hohen n und niedriger Qualität, und reservieren Sie die hohe Qualität für die finale Auswahl.
Verfassen Sie effektive Prompts
Die Qualität des Ergebnisses hängt direkt von der Präzision Ihres Prompts ab. Ein guter Prompt folgt einer einfachen Struktur—Subjekt + Stil + Kontext + technische Details—und der Vergleich unten macht den Unterschied greifbar: “ein Haus” lässt das Modell alles erfinden, was Sie nicht gesagt haben, während die ausgearbeitete Version das Material, die Farbe der Fensterläden, die Tageszeit, den redaktionellen Ton und die optische Behandlung festlegt.
# Vager Prompt — unvorhersehbares Ergebnis
weak_prompt = "a house"
# Strukturiert Prompt — kontrolliertes Ergebnis
strong_prompt = (
"Provenzalische Landhaus aus blondem Stein, "
"Lavendelblaue Fensterläden, Efeu an der Fassade, "
"fotografiert zur goldenen Stunde, "
"redaktioneller Stil für Architekturzeitschrift, "
"zentrierte Komposition, Schärfentiefe"
)
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=strong_prompt,
size="1536x1024",
quality="high"
)
Geben Sie den visuellen Stil auf dieselbe Weise an, indem Sie ein Medium benennen, anstatt auf eine Absicht zu hoffen. GPT Image versteht eine Vielzahl von Registern, und der folgende Loop lässt den Unterschied zwischen ihnen bei einem streng identischen Subjekt spüren: Das Fahrrad vor dem pariser Café ändert sich je nach Anforderung—ob eine redaktionelle Fotografie, eine flache Vektorillustration oder eine Bleistiftskizze—vollständig in der Natur.
import base64
styles = [
"redaktionelle Fotografie, Studio-Beleuchtung",
"flache Design-Vektorillustration",
"Aquarell auf strukturiertem Papier",
"photorealistische 3D-Render, Octane Render",
"Bleistiftskizze auf Kraftpapier",
]
for style in styles:
prompt = f"Ein altes Fahrrad geparkt vor einem pariser Café, {style}"
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=prompt,
size="1024x1024",
quality="medium"
)
filename = f"fahrrad_{styles.index(style) + 1}.png"
with open(filename, "wb") as f:
f.write(base64.b64decode(response.data[0].b64_json))
print(f"Stil: {style} → {filename}")
Text, der im Bild eingebettet ist, verdient einen separaten Hinweis, da sich GPT Image hier deutlich von seinen Vorgängern unterscheidet. Geben Sie die Nachricht in Anführungszeichen im Prompt an, geben Sie die Schriftartfamilie und die erwartete grafische Behandlung an, und die Darstellung wird lesbar.
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=(
"Werbeplakat mit dem Text \"SUMMER SALE -50%\" "
"in großen weißen Buchstaben auf einem blau-orangen Farbverlauf-Hintergrund, "
"moderne serifenlose Typografie, professioneller kommerzieller Stil"
),
size="1024x1536",
quality="high"
)
Fehlerbehandlung
Ein Generierungsskript, das in einer Schleife läuft, wird irgendwann auf ein Rate-Limit oder einen API-Fehler stoßen. Behandeln Sie diese beiden Fälle von Anfang an getrennt: Ein RateLimitError erfordert ein Warten und einen Neustart, während ein APIError eine Prüfung der Nachricht vor dem Neustart erfordert.
import base64
from openai import OpenAI, APIError, RateLimitError
client = OpenAI()
try:
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="Eine schneebedeckte Berglandschaft bei Sonnenaufgang",
size="1024x1024"
)
with open("mountain.png", "wb") as f:
f.write(base64.b64decode(response.data[0].b64_json))
except RateLimitError:
print("Limit für Anfragen erreicht. Warten Sie vor dem Neustart.")
except APIError as e:
print(f"API-Fehler: {e.message}")
Um all dies zu verankern, schreiben Sie nun ein Skript, das drei Varianten desselben Subjekts in drei verschiedenen Stilen—Fotografie, Illustration, Aquarell—generiert und jedes Bild lokal im PNG-Format speichert, wobei das Base64-Format für die Abrufung verwendet wird.