GPT Image 1.5 - Génération et édition d'images
Générez de nouvelles images ou modifiez des images existantes avec le modèle GPT Image 1.5 d'OpenAI.
- Génération : Utilise l'API Responses avec l'outil image_generation
- Édition : Utilise l'API Image pour l'inpainting fiable basé sur masque
Utilisation
Exécutez le script en utilisant le chemin absolu (NE CHANGEZ PAS de répertoire vers le répertoire de compétence d'abord) :
Générer une nouvelle image :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "votre description d'image" --filename "nom-sortie.png" [--quality low|medium|high] [--size 1024x1024|1024x1536|1536x1024|auto] [--background transparent|opaque|auto] [--api-key KEY]
Modifier une image existante (sans masque - édition de l'image complète) :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "instructions d'édition" --filename "nom-sortie.png" --input-image "chemin/vers/input.png" [--size 1024x1024|1024x1536|1536x1024|auto] [--api-key KEY]
Modifier une image existante (avec masque - inpainting précis) :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "ce qu'il faut mettre dans la zone masquée" --filename "nom-sortie.png" --input-image "chemin/vers/input.png" --mask "chemin/vers/mask.png" [--size 1024x1024|1024x1536|1536x1024|auto] [--api-key KEY]
Important : Exécutez toujours depuis le répertoire courant de l'utilisateur pour que les images soient sauvegardées là où l'utilisateur travaille, pas dans le répertoire de compétence.
Paramètres
Options de qualité
- low - Génération la plus rapide, qualité inférieure
- medium (par défaut) - Qualité et vitesse équilibrées
- high - Meilleure qualité, génération plus lente
Mappez les demandes utilisateur :
- Aucune mention de qualité ->
medium - « quick », « fast », « draft » ->
low - « high quality », « best », « detailed », « high-res » ->
high
Options de taille
- 1024x1024 (par défaut) - Format carré
- 1024x1536 - Format portrait
- 1536x1024 - Format paysage
- auto - Laisser le modèle décider en fonction de l'invite
Mappez les demandes utilisateur :
- Aucune mention de taille ->
1024x1024 - « square » ->
1024x1024 - « portrait », « vertical », « tall » ->
1024x1536 - « landscape », « horizontal », « wide » ->
1536x1024
Options d'arrière-plan (génération seulement)
- auto (par défaut) - Le modèle décide
- transparent - Arrière-plan transparent (sortie PNG/WebP)
- opaque - Arrière-plan solide
Clé API
Le script vérifie la clé API dans cet ordre :
- Argument
--api-key(utilisez si l'utilisateur a fourni la clé dans le chat) - Variable d'environnement
OPENAI_API_KEY
Si aucune des deux n'est disponible, le script se termine avec un message d'erreur.
Génération de nom de fichier
Générez des noms de fichier avec le modèle : yyyy-mm-dd-hh-mm-ss-nom.png
Format : {timestamp}-{descriptive-name}.png
- Timestamp : Date/heure actuelle au format
yyyy-mm-dd-hh-mm-ss(format 24 heures) - Nom : Texte descriptif en minuscules avec tirets
- Gardez la partie descriptive concise (1-5 mots généralement)
- Utilisez le contexte de l'invite ou de la conversation de l'utilisateur
- Si le contexte n'est pas clair, utilisez un identifiant aléatoire (par ex.
x9k2,a7b3)
Exemples :
- Invite « A serene Japanese garden » ->
2025-12-17-14-23-05-japanese-garden.png - Invite « sunset over mountains » ->
2025-12-17-15-30-12-sunset-mountains.png - Invite « create an image of a robot » ->
2025-12-17-16-45-33-robot.png - Contexte peu clair ->
2025-12-17-17-12-48-x9k2.png
Édition d'images
Les deux modes d'édition utilisent l'API Image (point final images.edit) avec gpt-image-1.5 pour des résultats fiables.
Sans masque (Édition de l'image complète)
Quand l'utilisateur veut modifier une image existante sans spécifier les régions exactes :
- Utilisez le paramètre
--input-imageavec le chemin vers l'image - L'invite doit contenir des instructions d'édition (par ex. « make the sky more dramatic », « change to cartoon style »)
- Un masque entièrement transparent est généré automatiquement, permettant au modèle d'éditer l'image entière
Avec masque (Inpainting précis)
Quand l'utilisateur veut modifier des régions spécifiques :
- Utilisez le paramètre
--input-imageavec le chemin vers l'image - Utilisez le paramètre
--maskavec un fichier masque PNG - Le masque doit avoir des zones transparentes (alpha=0) où les éditions doivent survenir
- L'invite décrit ce qui devrait apparaître dans la région masquée
Tâches d'édition courantes : ajouter/supprimer des éléments, changer le style, ajuster les couleurs, remplacer les arrière-plans, etc.
Gestion des invites
Pour la génération : Transmettez la description d'image de l'utilisateur telle quelle à --prompt. Reformulez seulement si clairement insuffisant.
Pour l'édition : Transmettez les instructions d'édition dans --prompt (par ex. « add a rainbow in the sky », « make it look like a watercolor painting »)
Préservez l'intention créative de l'utilisateur dans les deux cas.
Sortie
- Enregistre PNG dans le répertoire courant (ou le chemin spécifié si le nom de fichier inclut un répertoire)
- Le script affiche le chemin complet de l'image générée
- Ne relisez pas l'image - informez simplement l'utilisateur du chemin sauvegardé
Exemples
Générer une nouvelle image :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "A serene Japanese garden with cherry blossoms" --filename "2025-12-17-14-23-05-japanese-garden.png" --quality high --size 1536x1024
Générer avec arrière-plan transparent :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "A cute cartoon cat mascot" --filename "2025-12-17-14-25-30-cat-mascot.png" --background transparent --quality high
Éditer une image existante (image complète) :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "make the sky more dramatic with storm clouds" --filename "2025-12-17-14-27-00-dramatic-sky.png" --input-image "original-photo.jpg"
Éditer avec masque (inpainting) :
uv run ~/.claude/skills/gpt-image-1-5/scripts/generate_image.py --prompt "a flamingo swimming" --filename "2025-12-17-14-30-00-lounge-flamingo.png" --input-image "lounge.png" --mask "mask.png"