CommunityImagegithub.com

thumbnail-maker (générateur de miniatures)

Crée des miniatures pour YouTube et les réseaux sociaux (1280×720, 1080×1920 pour les Shorts/Reels et 1200×630 pour les aperçus de lien) avec Pillow. Titre large automatiquement ajusté avec un mot-clé mis en évidence sur fond plat ou photo floutée, plus soit une capture d’écran réelle avec un cercle rouge et une flèche dessinés à la main (style tech/tutoriel), soit une photo de personne/découpe qui peut se placer devant le texte.

Qu'est-ce que thumbnail-maker (générateur de miniatures) ?

thumbnail-maker est un outil en ligne de commande Python qui génère des miniatures professionnelles pour YouTube, les réseaux sociaux et les aperçus de liens. Il repose sur Pillow et nécessite Python 3.9+ ainsi que l’installation de la bibliothèque Pillow. L’outil prend en charge plusieurs styles (sombre, clair, pop, rouge, vert, tech) et modes d’affichage (fond plat avec vignette, photo floutée, dégradé). Il permet d’ajouter une capture d’écran réelle avec un cercle et une flèche dessinés à la main pour les tutoriels, ou une photo de personne avec ou sans fond transparent placée devant le texte. Le titre est automatiquement mis en forme (3 à 5 mots, un mot-clé surligné) et l’outil vérifie la lisibilité à la taille de recherche YouTube, le test de plissement des yeux, et la zone de l’horodatage. Il produit également une feuille d’aperçu pour valider le rendu avant utilisation. Idéal pour les créateurs de contenu, formateurs et développeurs souhaitant produire rapidement des visuels accrocheurs sans outil graphique lourd.

Compatible avec✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/binay-py/claude-skills/tree/HEAD/skills/thumbnail-maker

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

thumbnail-maker

scripts/thumbnail.py (avec scripts/fonts.py à côté). Nécessite Python 3.9+ et pip install pillow.

# tech / tutoriel : une capture d’écran réelle, la ligne importante entourée, une flèche depuis le titre
python thumbnail.py --title "Claude a presque *tout* supprimé" --style dark --shot terminal.png --circle 0.19,0.17,0.18 --arrow --out t.jpg

# personne parlante : une découpe devant le titre
python thumbnail.py --title "J’ai testé *tous* les outils IA" --style dark --photo me-cutout.png --out t.jpg

# fond photo, format Shorts
python thumbnail.py --title "Une journée de *dev*" --bg desk.jpg --style dark --size 1080x1920 --out short.jpg
OptionEffet
--title3-5 mots donnent le meilleur rendu. *mot* marque le mot-clé (un cadre ou une couleur). Mis en majuscules sauf si --keep-case.
--styledark (presque noir + jaune), light (blanc cassé + rouge), ou les plus vifs pop, red, green, tech.
--lookclean (par défaut) : couleur unie avec un léger vignettage, ou --bg photo floutée et assombrie pour le contraste. burst : l’ancien look dégradé + soleil.
--shot imgUne capture d’écran réelle comme visuel principal. Les gros plans larges (une ou deux lignes d’un terminal ou d’une UI) passent en pleine largeur sous le titre ; les plus hauts se placent à côté. Agrandis pour remplir l’espace.
--circle x,y,rOvale rouge dessiné à la main sur la capture. x,y = centre et r = demi-largeur de l’élément, en fractions de la capture.
--arrowFlèche dessinée à la main du titre vers le cercle (contourne le titre quand il n’y a pas de place au-dessus). --mark-color change la couleur rouge.
--photo imgPhoto d’une personne. Un PNG avec transparence (découpe) est contourné et dessiné devant le bord du titre pour donner de la profondeur ; une photo normale devient une carte bordée (--photo-shape circle, --tilt).
--subtitle, --emoji, --accent, --highlight color, --size, --align, --fontComme avant : une petite deuxième ligne, un sticker emoji, la couleur du mot-clé, mot-clé coloré sans cadre, taille de sortie, alignement, police du titre.

Règles de conception (d’après ce que font les meilleures miniatures en 2026)

  • Une seule idée, 3-5 mots. Le titre complète l’image ; ne le décrivez pas.
  • Montrez le vrai truc. Une capture d’écran recadrée de l’erreur, du résultat ou de l’UI réels est plus efficace qu’un visuel générique. Recadrez serré sur la ligne importante et entourez-la.
  • Visages : une découpe avec une expression claire, grande (40-60 % de la hauteur). Ne mettez pas de texte sur les yeux.
  • Deux couleurs. Fond uni plus une couleur d’accent. Pas de soleils, de murs d’émojis ou de texte dégradé : ils donnent l’impression d’un modèle ou d’une création IA.
  • Gardez le coin inférieur droit libre : YouTube y affiche la durée de la vidéo.

Vérifications (affichées, et sur <nom>.preview.png)

  • Hauteur des lettres du titre à 168 px de large (recherche YouTube) inférieure à 8 px → avertissement.
  • Contraste effectif du titre (remplissage vs fond, et son contour) inférieur à 3:1 → avertissement.
  • Test de plissement des yeux : la zone du titre floutée à 48 px de large doit encore se détacher de son environnement.
  • Coin de l’horodatage : le titre atteignant les 20 % × 16 % en bas à droite → avertissement.
  • Cadre du mot-clé se fondant dans le fond, contraste mot-clé vs cadre/contour, plus de 6 mots. Code de sortie 1 en cas d’avertissement. REGARDEZ la feuille d’aperçu avant d’utiliser l’image.

Limites

  • Pas de suppression de fond : passez un PNG déjà détouré (remove.bg, Photoshop, macOS « Copier le sujet »).
  • Les cercles et flèches sont placés à partir de vos nombres --circle : vérifiez l’aperçu et ajustez x/y/r si l’ovale manque sa cible.
  • Polices : Impact pour les titres (Windows/macOS ; sur Linux installez ttf-mscorefonts ou définissez FONT_TITLE=/chemin/Anton-Regular.ttf). Surchargez avec FONT_TITLE, FONT_BOLD, FONT_EMOJI.
  • Emoji : uniquement sur un seul point de code (Pillow sans libraqm ne peut pas gérer les séquences ZWJ).
  • Pas de détection de visage : recadrez les photos pour que le visage ne soit pas près d’un bord.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills associés