CommunityImagegithub.com

MrBogomips/codex-image-gen

Génère ou édite des images matricielles (illustrations, photos, icônes, textures, maquettes, affiches, concepts de logo, découpes transparentes, actifs de remplacement) en pilotant l'outil d'image intégré de l'interface en ligne de commande codex, et les enregistre dans un chemin. À utiliser par défaut chaque fois qu'une image doit être générée ou modifiée (« rendre le ciel violet »), et lorsque l'utilisateur nomme Codex, ChatGPT ou la génération d'images OpenAI. Fonctionne sur le quota de connexion Codex, sans clé API. Pour la génération d'images Google/Gemini avec une clé API, utilisez google-image-gen à la place.

Qu'est-ce que codex-image-gen ?

Cette compétence permet aux agents AI de générer ou éditer des images raster en utilisant l'outil d'image intégré du CLI codex, sans nécessiter de clé API externe. Elle contourne une limitation du CLI codex, qui sauvegarde les images générées dans un dossier temporaire, en les copiant directement à un chemin spécifié par l'utilisateur. Elle prend en charge la génération à partir de prompts textuels simples ou détaillés, l'utilisation d'images de référence, l'édition d'images existantes, la gestion du rapport d'aspect et des dimensions exactes, ainsi que la production de plusieurs variantes. L'agent doit toujours utiliser le script fourni (scripts/codex_image.py) et ne jamais recourir à une API payante comme OpenAI ou Google, sauf demande explicite de l'utilisateur pour Google via la compétence dédiée. La compétence est conçue pour l'environnement Codex et gère les erreurs liées à l'absence du CLI, au dépassement de quota, à l'absence de réponse image, ou aux dépendances manquantes comme Pillow.

Compatible avec~Claude Code✓Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/MrBogomips/skills/tree/HEAD/skills/codex-image-gen

Installed? Explore more Image skills: steipete/songsee, affaan-m/frontend-design, mattpocock/improve-codebase-architecture · View all 6 →

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Génération d'images via le CLI codex

codex exec n'a pas d'option « écrire l'image dans ce chemin » : il enregistre ce qu'il génère sous $CODEX_HOME/generated_images/<identifiant_session>/. scripts/codex_image.py exécute un tour non interactif, collecte uniquement les images de cette session exacte et les écrit à l'endroit demandé. Si aucune image n'est retournée, il n'écrit rien.

Utilisez toujours le script. Un codex exec "dessine un chat" fait à la main renvoie souvent du texte ou un dessin ImageMagick et vous laisse chercher la sortie.

Ne recourez jamais à une API facturée. N'utilisez pas le SDK OpenAI ni OPENAI_API_KEY, même si codex échoue ou si le quota est épuisé. Signalez l'échec et arrêtez-vous. Pour l'API facturée de Google, utilisez uniquement google-image-gen, et seulement lorsque l'utilisateur l'a demandé.

Utilisation

Exécutez depuis le répertoire de la compétence ou donnez le chemin absolu du script. L'exécution prend environ 30 à 60 secondes.

python3 scripts/codex_image.py -p "un vélo rouge solitaire contre un mur de pierre humide au crépuscule, photographie cinématographique" -o velo.png
ObjectifCommande
Format d'image (indice pour le modèle)-p "..." -o out.png --aspect 9:16
Image(s) de référence-p "..." -o out.png -r ref.png [-r ref2.png]
Éditer une image--edit v1.png -p "rendre le ciel violet" -o v2.png
Plusieurs prises-p "..." -o opt.png -n 3 (enregistre opt.png, opt-2.png, opt-3.png)
Taille exacte en pixels-p "..." -o cover.png --aspect 9:16 --fit 1080x1920
Prompt long--prompt-file prompt.md -o out.png
Voir le prompt, ne rien dépenserajoutez --print-prompt
  • L'extension du fichier de sortie suit le format réel : des octets PNG demandés comme velo.jpg aboutissent dans velo.png. Le script affiche chaque chemin qu'il a écrit.
  • --aspect ne fait que façonner le résultat. --fit LxH garantit la taille après coup : il ajoute des barres noires (--fit-mode pad, par défaut) ou recadre au centre (--fit-mode crop), et enregistre toujours en PNG. Faites correspondre --aspect à la cible pour qu'il y ait peu à remplir ou recadrer. --fit nécessite Pillow, vérifié avant l'exécution de codex.
  • -n demande N prises en une seule exécution ; le modèle peut en retourner moins, et le script enregistre ce qu'il a reçu.
  • --edit attache l'image comme cible et demande au modèle de ne modifier que ce que le prompt indique.

Rédaction du prompt

Le script ajoute le libellé qui force un véritable appel à l'outil d'image, donc --prompt ne concerne que l'image elle-même. Une spécification courte et étiquetée fonctionne bien :

Sujet : un vélo rouge solitaire, peinture usée jusqu'au métal aux extrémités
Scène : appuyé contre un mur de pierre humide d'un port, lumières de la ville au loin
Style : photographie cinématographique, faible profondeur de champ
Éclairage : crépuscule, soleil bas et chaud, reflets sur la pierre humide
Texte (textuel) : "PAS DE MARQUAGE"
Éviter : personnes, filigranes, vélos supplémentaires
  • Citez le texte qui doit apparaître et gardez-le court ; les longues chaînes reviennent avec des fautes d'orthographe.
  • Indiquez ce qui ne doit pas apparaître. Pour un découpage transparent, demandez un fond transparent et enregistrez en .png.
  • Pour --edit, écrivez le changement (« enlever le lampadaire ») et nommez ce qui doit rester (« garder le vélo, le cadrage et l'éclairage »). Modifiez une chose par passage.
  • Une édition est une régénération, pas une correction pixel par pixel : le cadrage et les détails dérivent, et chaque passage l'aggrave. Gardez les chaînes courtes, et recomposez tout élément qui doit survivre intact.

Après la génération

Vérifiez le résultat avant de le remettre, en utilisant les moyens dont vous disposez pour visualiser une image : le modèle se trompe parfois sur le texte, les nombres ou un détail demandé. S'il manque quelque chose, relancez avec un prompt plus précis ou affinez avec --edit.

Échecs

Le script se termine avec un code non nul, un message clair et n'écrit rien.

  • CLI codex introuvable / non connecté : installez codex et exécutez codex login ; CODEX_BIN pointe vers un autre binaire.
  • Quota dépassé : attendez la réinitialisation que codex signale ou utilisez un autre compte. Ne réessayez pas en boucle.
  • Aucune image produite : le modèle a répondu en texte. Sa réponse est affichée ; relancez avec une demande d'image plus simple.
  • Temps dépassé : augmentez --timeout (par défaut 900 s) seulement si l'exécution était simplement lente.
  • Pillow manquant avec --fit : pip install Pillow, ou retirez --fit.

Skills associés