CommunityImagegithub.com

génération-d'image

Produit des images sociales finalisées avec n'importe quel modèle d'image (Google Gemini image, "Nano Banana", comme exemple fil rouge) – statiques, diapositives de carrousel, couvertures de courtes vidéos, miniatures YouTube et d'articles, fiches d'annonces locales et statiques animées. Intègre le titre dans la scène au lieu de coller du texte par-dessus, garde le texte dans la zone de sécurité de la grille de profil, verrouille la ressemblance des personnes réelles avec leurs photos de référence, atteint les tailles exactes des plateformes, rédige le texte alternatif et ré-évalue chaque nouvelle tentative sur le fichier déposé. À utiliser quand quelqu'un dit "fais une image pour ce post", "crée une miniature", "fais une couverture à partir de ma vidéo", "conçois un carrousel", "anime cette statique", "le modèle d'image ne fait pas du 4:5", "mon titre est coupé dans la grille" ou quand un pack de contenu a besoin de ses visuels.

Qu'est-ce que génération-d'image ?

Cette compétence transforme le message d'un post en un fichier image finalisé aux dimensions exactes exigées par chaque plateforme sociale. Elle possède la méthode de production : choix de la scène, intégration du titre dans l'image, maintien de la ressemblance d'une personne réelle, contrôle du rapport hauteur/largeur, vérification du fichier et rédaction du texte alternatif. Elle délègue à `brand/brand-profile.md` pour les constantes de marque (palette, polices, règles de logo, règles de ressemblance), à la compétence `writing` pour les mots du titre, à la compétence `video-editing` pour les couvertures construites dans un montage vidéo, et à la compétence `review-loop` pour la vérification indépendante avant toute publication. L'ordre d'autorité est clair : le profil de marque l'emporte sur les constantes de marque et la formulation de conformité ; cette compétence possède la méthode de production. La compétence est conçue pour des agents IA comme Claude, Cursor ou Codex, fonctionnant dans un espace de travail marketing structuré autour de dossiers, de fichiers de configuration et de scripts. Son utilisation typique survient lorsqu'un créateur de contenu demande la création d'un visuel pour un post, la production d'une miniature, la conception d'un carrousel ou l'animation d'une statique pour une vidéo courte. La compétence suit un flux de travail rigoureux en sept étapes : décider de l'image et du titre, générer la scène avec le titre intégré, verrouiller la ressemblance pour les personnes réelles, produire des couvertures à partir de véritables images vidéo, réaliser des statiques animées avec du texte en couche séparée (la seule exception à l'interdiction des superpositions), utiliser une solution de repli HTML/CSS si aucun modèle d'image n'est connecté, puis finaliser, enregistrer et documenter chaque fichier. Chaque image subit une vérification complète sur le fichier déposé (orthographe, primauté du titre, sécurité de la grille, dimensions réelles, respect de la marque et conformité) avant d'être soumise à la boucle de révision indépendante.

Compatible avec~Claude Code~Codex CLI~Cursor✓Gemini CLI
npx skills add https://github.com/builtnotboosted/built-not-boosted-skills/tree/HEAD/plugins/built-not-boosted/skills/image-generation

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'image

Cette compétence transforme le message d'un post en un fichier image finalisé à la taille exacte souhaitée par chaque plateforme. Elle possède la méthode de production : comment la scène est choisie, comment le titre est intégré dans l'image, comment le visage d'une personne réelle reste réaliste, comment le rapport hauteur/largeur est contrôlé, comment le fichier est vérifié et comment le texte alternatif est rédigé. Elle délègue à brand/brand-profile.md pour les constantes de marque (palette, polices, règles de logo, règles de ressemblance), à la compétence writing pour les mots du titre, à la compétence video-editing pour les couvertures construites à l'intérieur d'un montage vidéo, et à la compétence review-loop pour la vérification indépendante avant toute publication.

Ordre d'autorité : brand-profile.md l'emporte sur les constantes de marque et la formulation de conformité ; cette compétence possède la méthode.

Avant de commencer

  1. Trouvez l'espace de travail marketing (par défaut marketing/). S'il n'y en a pas, dites-le en une ligne et proposez d'exécuter la compétence brand-setup ; si l'utilisateur souhaite continuer, demandez uniquement la palette (deux ou trois codes hexadécimaux), une police de titre et si une personne réelle apparaît.
  2. Lisez dans brand/brand-profile.md : ## Identité visuelle (palette, polices, utilisation du logo, style d'image), ## Ressemblance (chemins des images de référence et règles), ## Plateformes (destination), ## Conformité (tout ce qui doit ou ne doit pas apparaître dans une image), ## Limites et ## Outils (quel modèle d'image est disponible).
  3. Lisez brand/voice-learnings.md avant de verrouiller la formulation du titre : les titres sont des textes publicitaires, et les textes doivent ressembler à la personne.
  4. Lisez brand/performance-learnings.md pour tout ce que le compte a appris sur les images qui génèrent de la portée.
  5. Travaillez dans le dossier de la pièce, content/<aaaa-mm-jj>-<slug>/. Les images vont dans un sous-dossier images/.
  6. Connaissez le format avant de produire : statique simple, carrousel, couverture de courte vidéo, couverture de longue vidéo, ou statique animée. Si personne n'a choisi, prenez le plus simple qui convient et dites pourquoi en une ligne.

La norme

  1. Le titre est intégré dans la scène par le modèle d'image, jamais collé par-dessus dans le code. Demandez au modèle de restituer le titre et le sous-titre comme faisant partie de l'image, éclairés et placés comme le ferait un designer. Pourquoi : du texte ajouté après coup avec PIL, des superpositions de style Canva ou du HTML se trouve sur un plan différent de la photographie et donne l'impression d'un modèle bon marché, ce qui est la raison la plus courante pour laquelle les gens rejettent les images IA. Le modèle d'image est désormais compétent pour les textes courts affichés ; laissez-le faire le travail.
  2. Le titre est l'élément principal. Grand, gras, condensé, environ 40 % de la hauteur visible et jamais moins d'un tiers, deux ou trois lignes courtes, un mot d'accroche dans la couleur d'accent. S'il ressemble à une légende, c'est un échec. Pourquoi : la grille et le fil d'actualité sont jugés à la taille d'une vignette sur un téléphone, et seul un grand titre survit à cela.
  3. Tout le texte vit dans la zone de sécurité de la grille. Le carré 1:1 centré du canevas, réduit de 7 à 8 % supplémentaires sur chaque côté, avec un espace libre au-dessus du titre et rien d'important dans les 12 % inférieurs. Pourquoi : les grilles de profil, les aperçus de liens et les recadrages dans le fil coupent les bords. Ouvrez references/grid-safe-zone.md pour les chiffres par format.
  4. Chaque image est une scène distincte et réaliste, construite pour ce message. Une personne faisant quelque chose dans un lieu réel, ou une forte métaphore visuelle, en couleur naturelle avec l'accent de marque utilisé avec parcimonie. Jamais le même portrait sur le même fond avec seulement les mots changés. La seule exception est une série hebdomadaire délibérée, qui peut répéter sa mise en page à dessein.
  5. Les personnes réelles restent réelles. Lorsqu'une personne réelle apparaît, son visage provient de ses photos de référence, à son âge et sa morphologie réels. N'inventez jamais un visage, ne publiez jamais les photos de référence elles-mêmes.
  6. Taille exacte, vérifiée. Chaque fichier est finalisé à la taille en pixels exacte dans references/asset-sizes.md et ses dimensions sont vérifiées, pas supposées.
  7. Ne bricolez jamais la forme dans le code. Ne rembourrez pas, ne formatez pas en lettre, ne miroitez pas, n'étirez pas et ne composez pas une image générée pour forcer un rapport hauteur/largeur. Relancez plutôt avec un ancrage de rapport (ci-dessous). Pourquoi : une image rembourrée a un espace mort qui semble inachevé, et c'est évident au premier coup d'œil.
  8. Une ligne de texte alternatif par image. Description simple de la scène et du titre intégré, pas de hashtags, pas de liens, pas de vente.

La méthode

1. Décider de l'image (nouvelle pour chaque image)

  1. Nommez le message central unique du post en une phrase.
  2. Décidez de l'émotion : rassurant, intelligent, calme, drôle, joyeux, ou un avertissement doux. Par défaut, chaleureux. Jamais de fatalité.
  3. Inventez une idée visuelle qui le porte : une personne dans un moment réel (au téléphone dans une rue animée, à une table de cuisine avec un café, déballant des cartons), ou une métaphore lisible (un filet de sécurité sous une devanture de magasin, une chaîne avec un maillon fissuré, un calendrier avec un jour encerclé).
  4. Rédigez le titre (2 à 5 mots est idéal, jamais plus de trois lignes courtes) et un sous-titre facultatif d'une ligne. Menez avec la ligne littérale et simple qui dit ce que c'est ; proposez un accroche plus intelligente comme alternative étiquetée. Pourquoi : les titres simples ont tendance à gagner en clarté et en recherche, et les gens les choisissent lorsqu'on leur donne le choix.
  5. Planifiez la zone vide pour le titre dès le départ, généralement une zone plus sombre de ciel, de mur ou d'ombre à l'intérieur du carré sûr de la grille.

2. Générer la scène avec le titre dedans

Écrivez une invite qui décrit ensemble la scène, la lumière, le cadrage et le texte. Épelez le titre exactement, entre guillemets, dites quel mot est la couleur d'accent, demandez un texte "énorme, gras, condensé, taille d'affiche" dans la zone réservée, et gardez le sous-titre assez court pour ne pas se renvoyer à la ligne. Laissez le bas très clair.

Protections contre les erreurs, car les modèles d'image échouent de manière prévisible :

  • Un sous-titre qui se renvoie à la ligne double souvent un mot au saut de ligne ("premier premier"). Limitez-le à une ligne.
  • Un petit texte fixe (un nom, un pseudo, une adresse web) est souvent mal orthographié. Si la marque utilise une petite étiquette de nom, estampez cet élément après coup (scripts/cover_from_frame.py --wordmark montre comment) plutôt que de le demander au modèle.
  • Les titres longs rétrécissent et deviennent confus. Moins de mots, plus grands.

Ouvrez references/prompting-and-aspect.md pour la structure de l'invite, les astuces de rapport hauteur/largeur et l'exemple fil rouge Gemini. La version courte : si votre outil expose un paramètre de rapport hauteur/largeur, utilisez-le ; s'il ne renvoie que des carrés, éditez sur un canevas vierge du rapport cible (scripts/aspect_scaffold.py) et ne transmettez jamais une image de référence carrée à côté.

3. Verrouillage de la ressemblance (toute image avec une personne réelle)

Lisez references/likeness-lock.md avant la première image centrée sur un visage d'une session. En bref :

  • Construisez à partir des photos de référence dans brand/reference-images/ : éditez un portrait net de face dans la scène plutôt que de décrire la personne avec des mots, et fournissez deux ou trois recadrages serrés du visage (pas des selfies de scène entière, dont les arrière-plans se mélangent) comme références d'identité. Redressez d'abord les photos de téléphone prises de côté.
  • Vérifiez le résultat élément par élément par rapport à une photo couleur fournie (couleur des cheveux, coiffure, barbe, forme du visage et morphologie, lunettes, âge). Ne jugez jamais une ressemblance par rapport à une autre image IA.
  • Prévoyez environ trois ou quatre nouvelles tentatives honnêtes. Si ce n'est toujours pas eux, reconstruisez la pièce comme une scène sans visage (la métaphore plus le titre). Si cela ne fonctionne pas non plus, mettez-la en attente et dites-le. Un mauvais visage est pire que pas d'image.
  • Ne publiez et ne recadrez jamais les photos de référence directement dans l'image. Ce sont uniquement des références d'identité.

4. Couvertures d'images réelles pour vidéo filmée

Lorsque la personne a filmé une vidéo en plan poitrine, la couverture est construite à partir d'une image réelle de cette séquence, pas d'une ressemblance générée. Le visage est véritablement le sien et la couverture correspond à la vidéo. C'est le seul endroit où une superposition de titre conçue sur une photo est la bonne décision, car il s'agit de titrer une photographie réelle, exactement comme le ferait un designer de miniatures.

  1. Extrayez des images candidates (ffmpeg -ss <t>) ou laissez le script trouver l'image de visage la plus nette dans une plage de temps, et choisissez-en une avec un contact visuel, une expression chaleureuse (pas en milieu de mot), une mise au point nette et aucun sous-titre incrusté.
  2. Exécutez scripts/cover_from_frame.py (voir son --help) : il recadre la couverture à la taille, ajoute un voile doux, ajuste automatiquement le titre principal avec un mot d'accent et un souligné à l'intérieur du carré sûr de la grille, ajoute un ruban de sous-titre facultatif et une étiquette de nom facultative, puis vérifie chaque zone de texte par rapport à la zone de sécurité.
  3. Faites correspondre la forme de la vidéo : une courte 9:16 obtient une couverture 9:16 1080x1920 avec le texte dans le carré central ; un long format 16:9 obtient une couverture 1280x720. Si le montage est effectué avec la compétence video-editing, sa propre étape de couverture le fait à l'intérieur du montage.

5. Statiques animées (la seule exception à "pas de superpositions")

Une statique animée est un MP4 en boucle de 4 à 6 secondes qui remplit un emplacement fixe et est traité comme une vidéo par la plupart des flux. Le texte doit être une couche séparée pour bouger, donc ici, et seulement ici, un texte cinétique conçu repose sur une scène générée. Il est soumis à la même exigence : une scène réelle, titre principal, couleurs de la marque, placement sûr dans la grille, et le titre complet déjà visible à l'image 0, car la grille affiche une vidéo à partir de sa première image. Ouvrez references/animated-statics.md pour savoir quand en utiliser une, la configuration pour scripts/animate_render.js, la règle des droits sur le fond sonore et les points de révision.

6. Aucun modèle d'image disponible : la voie HTML

Si aucun modèle d'image n'est connecté, ou si la pièce est une mise en page de type pur (une carte de citation textuelle, une carte de statistique, un carrousel de diapositives de texte, une bannière de profil), concevez-la en HTML et CSS et restituez-la avec Playwright. Règles importantes : la zone d'affichage est la taille de sortie réelle, pas de transformations d'échelle CSS, les polices chargées avant la capture d'écran, et les dimensions du PNG vérifiées après coup. Ouvrez references/html-fallback.md et utilisez scripts/render_html.js. Une carte de citation est également la bonne voie lorsqu'un témoignage doit être reproduit mot pour mot, car le texte généré peut dévier.

7. Finaliser, classer et décrire

  1. Finalisez à la taille exacte pour chaque destination (references/asset-sizes.md). Un maître 4:5 dessert généralement Instagram, Facebook, LinkedIn et Threads ; dérivez un 1:1 par recadrage central uniquement si tout le texte se trouve à l'intérieur du carré central, sinon générez un carré séparé.
  2. Exécutez python3 scripts/check_image.py <fichier> --expect LxH --grid pour confirmer les dimensions et écrire une feuille d'aperçu de la grille (le carré central et les recadrages 3:4 à la taille de vignette, avec la zone de sécurité dessinée).
  3. Enregistrez dans content/<aaaa-mm-jj>-<slug>/images/ avec un nom qui dit ce que c'est (<slug>-feed-4x5.png, <slug>-cover-9x16.png).
  4. Écrivez une ligne de texte alternatif par image dans le PACKAGE.md de la pièce, par exemple : "Une femme dans un tablier fariné retournant le panneau d'une porte de boulangerie sur OUVERT, avec le titre 'Ouvert avant la course à l'école' en haut." Chaque diapositive de carrousel obtient sa propre ligne. Les couvertures vidéo n'ont pas besoin de texte alternatif.
  5. Conservez l'invite finale (et toutes les notes de nouvelle tentative) dans le dossier de la pièce, afin qu'une future nouvelle tentative parte de ce qui a fonctionné.

Vérifications avant publication (la boucle de révision)

Chaque génération et chaque nouvelle tentative est une nouvelle image, elle obtient donc la vérification complète sur le fichier déposé, ouvert et regardé, jamais jugé à partir de l'invite :

  • Orthographe de chaque mot du titre, du sous-titre et de toute étiquette estampée ; aucun mot dupliqué.
  • Primauté du titre : dominant, se lit en premier, lisible à la taille de vignette de la grille de profil.
  • Sécurité de la grille : tout le texte à l'intérieur du carré centré avec les marges ; rien ne touche un bord ; rien dans la bande inférieure. Pour toute vidéo, jugez la première image.
  • Ressemblance (pièces centrées sur le visage) : la grille par rapport à une photo couleur fournie. L'incertitude compte comme un échec.
  • Forme : les dimensions réelles correspondent à la cible ; rien n'est rembourré ou étiré.
  • Marque : palette et polices du profil, accent utilisé avec parcimonie, couleur naturelle.
  • Distinct : pas une copie proche des dernières images du compte.
  • Vérité et conformité : tout chiffre ou affirmation dans l'image remonte à une source ; les étiquettes requises de ## Conformité sont présentes ; rien de ## Limites n'apparaît.

Si cela échoue, corrigez la cause et relancez, puis jugez le nouveau fichier de la même manière. Ensuite, transmettez l'ensemble à la compétence review-loop pour la passe indépendante. Si une pièce ne peut pas être réalisée proprement, conservez l'invite, dites ce qui a échoué et mettez-la en attente. N'expédiez jamais un visage de remplacement ou un repli de texte collé.

L'adapter

  • Personne réelle devant la caméra ? Ignorez le verrouillage de ressemblance et appuyez-vous sur les scènes et les métaphores ; le reste de la norme est inchangé.
  • Une entreprise de produits ? Traitez le produit comme le "visage" : utilisez de vraies photos de produit comme références afin que le modèle conserve sa forme, son étiquette et sa couleur honnêtes.
  • Modèle d'image différent ? La méthode tient. Seuls les mécanismes dans references/prompting-and-aspect.md changent (comment le rapport hauteur/largeur est défini, si les images de référence sont acceptées).
  • Un format de série (point hebdomadaire, astuce de la semaine) : fixez une mise en page composée pour la série et variez tout le reste entre les séries.
  • Industries réglementées : vérifiez ## Conformité pour tout ce qui doit apparaître sur une image ou ne doit jamais apparaître (chiffres, garanties, témoignages). En cas de doute, gardez les affirmations hors de l'image et dans la légende où se trouve la clause de non-responsabilité.
  • Vos propres leçons : lorsque l'utilisateur rejette ou échange une image, notez quoi et pourquoi dans brand/performance-learnings.md (leçons visuelles) ou brand/voice-learnings.md (formulation du titre), afin que la prochaine image commence plus près.

Fichiers de cette compétence

FichierOuvrez-le quand
references/asset-sizes.mdfinaliser un fichier ; vérifier la taille actuelle d'une plateforme
references/grid-safe-zone.mdplacer du texte sur n'importe quel format
references/prompting-and-aspect.mdécrire une invite, lutter contre le rapport hauteur/largeur, utiliser Gemini
references/likeness-lock.mdtoute image avec une personne réelle
references/animated-statics.mdfaire un MP4 en boucle pour un emplacement fixe
references/html-fallback.mdaucun modèle d'image, ou une mise en page de type pur
scripts/aspect_scaffold.pyfaire un canevas vierge au rapport cible pour les outils basés sur l'édition
scripts/cover_from_frame.pyconstruire une couverture à partir d'une image vidéo réelle
scripts/animate_render.jsrestituer une statique animée
scripts/render_html.jsrestituer une mise en page HTML

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

builtnotboosted/review-loop

The quality gate every piece of content passes before it is filed, scheduled or posted. Runs a self-critique, then an independent review by a fresh subagent that sees only the finished work and the criteria (never the builder's reasoning), then fix and re-judge until there is a clean pass. Covers what to do when a piece can't pass unattended (hold, flag, ship the rest). Use when someone says "review this", "check this before it goes out", "QA the pack", "is this ready to post", "get a second pair of eyes on this", "proofread the captions", or when any other Built Not Boosted skill hands work over for checks.

builtnotboosted/scheduling

Gets finished posts into a social media scheduler (or posted by hand) safely. Queue-only with explicit timezone offsets, live dedup against scheduled and already-published posts, media readiness checks, correct post types (shorts, reels, carousels, first comments, manual-posting reminders), alt text, a link gate that sends copy back for a rewrite rather than stripping it, and confirmation before anything goes live. Writes and keeps a scheduling manifest for each pack. Works with any scheduler; Publer is the worked example. Use when someone says "schedule this", "queue these posts", "put this in Publer", "book in this week's content", "post this on Tuesday at 7", "move that post", "what's already scheduled", or hands over a finished content pack to go out.

builtnotboosted/video-editing

Edits filmed talking-head footage into release-ready vertical shorts (1080x1920) and 16:9 YouTube long-forms with ffmpeg and Whisper. Keeps exactly one clean read of every script line (no stumbles, restarts or double reads), never leaves a flat single shot (punch-ins, reframes, B-roll, motion graphics), captions from the finished audio, normalises loudness to -14 LUFS, makes a real-frame cover and runs a QA gate that re-transcribes the render and refuses delivery until it passes. Syncs extra cameras by sound and writes YouTube chapters. Use when someone says "edit my video", "cut this clip", "remove my retakes", "edit out the fluffs", "add captions to my video", "make a short from this footage", "sync my two cameras", "make a thumbnail from my video", or hands over raw footage and a script.

builtnotboosted/video-scripting

Writes video scripts that sound like the person who will say them, for shorts (Reels, TikTok, YouTube Shorts) and long-form YouTube. Warm hook rather than a shout, who-am-I and follow early, a retention shape that delays the answer, a soft earned close, length that follows the story, real-problem substance, reactive scripts for news and data releases. Output is teleprompter-ready (think-breaks, shot reminders) with short edit notes for the video-editing skill. Use when someone says "write me a script", "script a reel about", "I need a short on", "plan a YouTube video", "turn this post into a video", "react to today's news on video", "what should I say on camera", or before a filming session.

Skills associés