Qualität, Stil und Auflösung steuern
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. Zudem werdengpt-image-1.5,gpt-image-1-miniundchatgpt-image-latestam 1. Dezember 2026 zurückgezogen. Die Beispiele verwenden nungpt-image-2.5-sunburst, das für Bearbeitungen die höchste Präzision bietet;gpt-image-2.5-flareist für die Standardgenerierung schneller. Beide Modelle unterstützen nun die Qualitätsstufenxhighundmax. GPT Image-Modelle geben Bilder stets im Base64-Format zurück: Der Parameterresponse_format, der von älteren DALL·E-Modellen verwendet wurde, wird nicht mehr akzeptiert und aus dem Code entfernt. Quelle: Bildgenerierung (OpenAI).
Qualität, Stil und Auflösung steuern
GPT Image bietet mehrere Hebel zur Anpassung des Outputs, doch sie funktionieren nicht alle auf die gleiche Weise. Qualität und Auflösung sind explizite API-Parameter, die Kosten und Generierungszeit beeinflussen. Der Stil hingegen wird ausschließlich über Ihren Prompt gesteuert. Das Verständnis dieses Unterschieds verhindert, dass Sie nach nicht existierenden Optionen suchen, und hilft Ihnen, das Verhältnis von Qualität zu Kosten für jede Generierung zu optimieren.
Qualitätsstufen
Der Parameter quality wirkt sich direkt auf das Detailniveau und die Generierungszeit aus. Der beste Weg, um den Unterschied zu erkennen, ist ein Test mit einem anspruchsvollen Motiv – wie einer Stillleben mit Rembrandt-Beleuchtung, bei der Gradienten und Texturen kritisch sind – anstatt auf einer flachen Grafik, wo Unterschiede unsichtbar blieben.
import base64
from openai import OpenAI
client = OpenAI()
qualities = ["low", "medium", "high"]
for q in qualities:
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="Still life with exotic fruits on a marble table, Rembrandt lighting",
size="1024x1024",
quality=q
)
with open(f"quality_{q}.png", "wb") as f:
f.write(base64.b64decode(response.data[0].b64_json))
print(f"Qualität {q}: quality_{q}.png")
| Qualität | Details | Zeit | Kosten | Empfohlene Verwendung |
|---|---|---|---|---|
low | Basis | Schnell | Wirtschaftlich | Entwürfe, Tests, Prototypen |
medium | Gut | Moderat | Mittel | Soziale Medien, Präsentationen |
high | Maximum | Langsamer | Premium | Druck, Werbung, Portfolios |
Verfügbare Auflösungen
Es stehen drei Seitenverhältnisse zur Verfügung, die jeweils für spezifische Anwendungsfälle optimiert sind: quadratisch 1024×1024 für soziale Medien und Avatare, Portrait 1024×1536 für Stories, Plakate und mobile Bildschirme sowie Landschaft 1536×1024 für Banner, Header und Präsentationen. Generieren Sie stets direkt im gewünschten Format. Nachträgliches Zuschneiden verschwendet bezahlte Pixel und stört die Komposition, die das Modell für diesen spezifischen Rahmen erstellt hat.
import base64
from openai import OpenAI
client = OpenAI()
resolutions = {
"1024x1024": "Quadratisch — ideal für soziale Medien und Avatare",
"1024x1536": "Portrait — Stories, Plakate, Mobilgeräte",
"1536x1024": "Landschaft — Banner, Header, Präsentationen",
}
for size, description in resolutions.items():
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt="Panoramic view of a futuristic city at dusk, neon lights and skyscrapers",
size=size,
quality="medium"
)
with open(f"city_{size}.png", "wb") as f:
f.write(base64.b64decode(response.data[0].b64_json))
print(f"{size} ({description}) → city_{size}.png")
Stil über den Prompt steuern
Stil ist kein expliziter API-Parameter; Sie steuern ihn vollständig über Ihren Prompt. Die zuverlässigste Technik besteht darin, ein präzises Medium mit seinem eigenen Vokabular anzugeben. „Professionelle Fotografie, Nikon D850, Blende f/2,8” fordert nicht nur ein Foto, sondern verlangt eine spezifische Schärfentiefe und optische Darstellung. „Retro 16-Bit Pixelart, begrenztes Farbschema” setzt eine Auflösungsbeschränzung durch, die das Modell respektiert. Der folgende Loop wendet fünf verschiedene Medien auf dasselbe Motiv an, wodurch die Unterschiede sofort sichtbar werden.
import base64
mediums = [
"professional photography, Nikon D850, f/2.8",
"oil painting on canvas, impressionist style",
"flat design vector illustration, pastel colors",
"architectural technical drawing, cross-section view",
"retro 16-bit pixel art, limited palette",
]
for medium in mediums:
prompt = f"A typical Parisian café with outdoor seating, {medium}"
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=prompt,
size="1024x1024",
quality="medium"
)
filename = f"cafe_{mediums.index(medium) + 1}.png"
with open(filename, "wb") as f:
f.write(base64.b64decode(response.data[0].b64_json))
print(f"{medium[:40]}... → {filename}")
Beleuchtung ist Ihr zweiter Hebel und oft der mächtigste: Sie kann dieselbe Szene radikal transformieren. Ein Porträt einer Keramikhandwerkerin in ihrer Werkstatt wird unter Dreipunkt-Studio-Beleuchtung zu einem nüchternen Dokumentaraufnahme, zu einem Werbebild im goldenen Licht oder zu einem Filmplakat im Caravaggio-Stil mit Chiaroscuro. Das Motiv hat nicht das Wort gewechselt; nur die Atmosphäre hat sich verschoben.
import base64
lightings = [
"three-point studio lighting, neutral white background",
"natural golden hour light",
"cyberpunk neon lighting, pink and blue",
"dramatic Caravaggio-style chiaroscuro",
"diffuse rainy day light, gray tones",
]
for lighting in lightings:
prompt = f"Portrait of a ceramic artisan in her workshop, {lighting}"
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=prompt,
size="1024x1536",
quality="high"
)
filename = f"artisan_{lightings.index(lighting) + 1}.png"
with open(filename, "wb") as f:
f.write(base64.b64decode(response.data[0].b64_json))
print(f"Beleuchtung: {lighting} → {filename}")
Hilfsfunktion für die Generierung
Das Wiederholen derselben sechs Zeilen für jeden Aufruf wird schnell mühsam und fehleranfällig. Verpacken Sie Ihre Standardpräferenzen in eine wiederverwendbare Funktion, die auch die lokale Speicherung und die Benennung von Dateien mit Suffixen verwaltet, wenn Sie mehrere Bilder anfordern.
from openai import OpenAI
import base64
from pathlib import Path
client = OpenAI()
def generate_image(
prompt: str,
output_path: str,
size: str = "1024x1024",
quality: str = "medium",
n: int = 1
) -> list[str]:
"""
Generiert ein oder mehrere Bilder und speichert sie lokal.
Gibt eine Liste der erstellten Dateipfade zurück.
"""
response = client.images.generate(
model="gpt-image-2.5-sunburst",
prompt=prompt,
n=n,
size=size,
quality=quality,
)
paths = []
for i, image in enumerate(response.data):
if n > 1:
path = Path(output_path).stem + f"_{i+1}" + Path(output_path).suffix
else:
path = output_path
data = base64.b64decode(image.b64_json)
with open(path, "wb") as f:
f.write(data)
paths.append(path)
print(f"Gespeichert: {path}")
return paths
# Verwendung
generate_image(
prompt="Premium packaging for matcha tea, minimalist Japanese design",
output_path="matcha_packaging.png",
size="1024x1024",
quality="high"
)
Die richtige Kombination wählen
Sie entscheiden beide Parameter gemeinsam, basierend auf Ihrem Zielmedium. Die folgende Tabelle fasst die häufigsten Szenarien zusammen.
| Kontext | Auflösung | Qualität |
|---|---|---|
| Schnelle Prototypen | 1024×1024 | low |
| Instagram / LinkedIn-Beitrag | 1024×1024 | medium |
| Vertikale Story / Reel | 1024×1536 | medium |
| Web-Banner / Header | 1536×1024 | medium |
| Plakat für Druck A3+ | 1024×1536 | high |
| Kreatives Portfolio / Buch | 1024×1024 | high |
| Batch-Test von Prompts | 1024×1024 | low |
In der Produktion kopieren Sie diese Tabelle nicht manuell in jeden Skript. Übersetzen Sie sie in Konfigurationslogik und lassen Sie Ihren Code basierend auf dem deklarierten Kontext wählen. Sie erhalten eine einzige Quelle der Wahrheit, und wenn Sie später entscheiden, dass Ihre Social-Media-Beiträge high Qualität verwenden sollen, reicht eine Zeile Änderung.
def generate_for_context(prompt: str, context: str, output: str):
"""Passt Qualität und Auflösung automatisch an den Kontext an."""
configs = {
"prototype": {"size": "1024x1024", "quality": "low"},
"social_media": {"size": "1024x1024", "quality": "medium"},
"story": {"size": "1024x1536", "quality": "medium"},
"banner": {"size": "1536x1024", "quality": "medium"},
"print": {"size": "1024x1536", "quality": "high"},
}
config = configs.get(context, configs["social_media"])
return generate_image(
prompt=prompt,
output_path=output,
**config
)
# Dasselbe Bild für verschiedene Medien generieren
generate_for_context(
"Corsen AI logo on dark background, premium tech style",
"social_media",
"logo_social.png"
)
Um Ihr eigenes Urteil über diese Einstellungen zu bilden, generieren Sie die vollständige Matrix selbst: Schreiben Sie einen Skript, das einen einzelnen Prompt entnimmt und alle neun Qualität × Auflösung-Kombinationen erzeugt, speichert jede Datei mit einem expliziten Namen wie image_low_1024x1024.png und zeigt eine Zusammenfassungstabelle an. Bald werden Sie mit bloßem Auge erkennen, wann medium ausreicht.