Contrôler la qualité, le style et la résolution
Contrôler la qualité, le style et la résolution
GPT Image offre plusieurs leviers pour ajuster précisément le rendu de vos images. Maîtriser ces paramètres vous permet d’optimiser le rapport qualité/coût et d’obtenir des résultats adaptés à chaque contexte d’utilisation.
Les niveaux de qualité
Le paramètre quality influence le niveau de détail et le temps de génération :
from openai import OpenAI
client = OpenAI()
qualites = ["low", "medium", "high"]
for q in qualites:
response = client.images.generate(
model="gpt-image-1",
prompt="Nature morte avec des fruits exotiques sur une table en marbre, éclairage Rembrandt",
size="1024x1024",
quality=q
)
print(f"Qualité {q} : {response.data[0].url}")
Comparaison des niveaux
| Qualité | Détails | Temps | Coût | Usage recommandé |
|---|---|---|---|---|
low | Basique | Rapide | Économique | Brouillons, tests, prototypage |
medium | Bon | Modéré | Intermédiaire | Réseaux sociaux, présentations |
high | Maximal | Plus long | Premium | Print, publicité, portfolio |
Les résolutions disponibles
Trois formats sont proposés, chacun adapté à un usage spécifique :
from openai import OpenAI
client = OpenAI()
resolutions = {
"1024x1024": "Carré — idéal pour les réseaux sociaux et avatars",
"1024x1536": "Portrait — stories, affiches, mobile",
"1536x1024": "Paysage — bannières, headers, présentations",
}
for size, description in resolutions.items():
response = client.images.generate(
model="gpt-image-1",
prompt="Vue panoramique d'une ville futuriste au crépuscule, néons et gratte-ciels",
size=size,
quality="medium"
)
print(f"{size} ({description})")
print(f" → {response.data[0].url}\n")
Contrôler le style via le prompt
Le style n’est pas un paramètre explicite de l’API : il se contrôle entièrement par le prompt. Voici des techniques éprouvées.
Spécifier un médium artistique
mediums = [
"photographie professionnelle, Nikon D850, f/2.8",
"peinture à l'huile sur toile, style impressionniste",
"illustration vectorielle flat design, couleurs pastel",
"dessin technique architectural, vue en coupe",
"pixel art rétro 16-bit, palette limitée",
]
for medium in mediums:
prompt = f"Un café parisien typique avec terrasse, {medium}"
response = client.images.generate(
model="gpt-image-1",
prompt=prompt,
size="1024x1024",
quality="medium"
)
print(f"{medium[:40]}... → {response.data[0].url}")
Définir l’ambiance et l’éclairage
L’éclairage transforme radicalement le rendu d’une même scène :
eclairages = [
"éclairage studio trois points, fond blanc neutre",
"lumière naturelle dorée de golden hour",
"éclairage néon cyberpunk, rose et bleu",
"clair-obscur dramatique façon Caravage",
"lumière diffuse jour de pluie, tons gris",
]
for eclairage in eclairages:
prompt = f"Portrait d'une artisane céramiste dans son atelier, {eclairage}"
response = client.images.generate(
model="gpt-image-1",
prompt=prompt,
size="1024x1536",
quality="high"
)
print(f"Éclairage : {eclairage}")
print(f" → {response.data[0].url}\n")
Fonction utilitaire de génération
Créez une fonction réutilisable qui encapsule vos préférences par défaut :
from openai import OpenAI
import base64
from pathlib import Path
client = OpenAI()
def generer_image(
prompt: str,
output_path: str,
size: str = "1024x1024",
quality: str = "medium",
n: int = 1
) -> list[str]:
"""
Génère une ou plusieurs images et les sauvegarde en local.
Retourne la liste des chemins de fichiers créés.
"""
response = client.images.generate(
model="gpt-image-1",
prompt=prompt,
n=n,
size=size,
quality=quality,
response_format="b64_json"
)
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"Sauvegardé : {path}")
return paths
# Utilisation
generer_image(
prompt="Packaging premium pour du thé matcha, design japonais minimaliste",
output_path="matcha_packaging.png",
size="1024x1024",
quality="high"
)
Matrice de décision qualité/résolution
Pour choisir la bonne combinaison, suivez cette grille :
| Contexte | Résolution | Qualité |
|---|---|---|
| Prototypage rapide | 1024×1024 | low |
| Post Instagram / LinkedIn | 1024×1024 | medium |
| Story / Reel vertical | 1024×1536 | medium |
| Bannière web / header | 1536×1024 | medium |
| Affiche print A3+ | 1024×1536 | high |
| Portfolio / book créatif | 1024×1024 | high |
| Test de prompt en batch | 1024×1024 | low |
Combiner les paramètres intelligemment
En production, adaptez dynamiquement les paramètres au contexte :
def generer_pour_contexte(prompt: str, contexte: str, output: str):
"""Adapte automatiquement qualité et résolution au contexte."""
configs = {
"prototype": {"size": "1024x1024", "quality": "low"},
"social_media": {"size": "1024x1024", "quality": "medium"},
"story": {"size": "1024x1536", "quality": "medium"},
"banniere": {"size": "1536x1024", "quality": "medium"},
"print": {"size": "1024x1536", "quality": "high"},
}
config = configs.get(contexte, configs["social_media"])
return generer_image(
prompt=prompt,
output_path=output,
**config
)
# Générer la même image pour différents supports
generer_pour_contexte(
"Logo Corsen AI sur fond sombre, style tech premium",
"social_media",
"logo_social.png"
)
Exercice pratique
Créez un script qui prend un même prompt et génère automatiquement toutes les combinaisons qualité × résolution (9 au total). Sauvegardez chaque fichier avec un nom explicite (image_low_1024x1024.png, etc.) et affichez un tableau récapitulatif.