Que fait ig-caption ?
Un seul outil vit dans ce dossier et il s’exécute avec :
python3 caption.py legende.txt
python3 caption.py legende.txt --keywords "propositions clients,facturation agence"
Il imprime la légende comme le fil Instagram l’affiche : les 125 premiers caractères dans une zone visible, tout le reste derrière le tap. Lis cette zone avant de lire quoi que ce soit d’autre que tu as écrit.
D’abord, décide quel travail cette légende fait
C’est la décision qui ruine les légendes quand on la saute.
Travail A : la vidéo a déjà accroché. Un Reel porte son propre crochet dans les deux premières secondes, parlé et à l’écran. La légende n’est pas un second crochet ; concurrencer la vidéo, c’est les perdre tous les deux. Son rôle est l’appel, le contexte qui rend l’appel logique, et les mots que les gens cherchent.
Travail B : la légende est le contenu. Une photo, une image unique, une couverture de carrousel qui ouvre une boucle. Ici, la première ligne est le crochet et elle fonctionne exactement comme un crochet de Reel : concrète, courte, et coupée sur un cliffhanger plutôt qu’au milieu d’une phrase.
Demande-toi lequel tu rédiges. Si l’utilisateur a un Reel avec un crochet fort, écris A et dis pourquoi.
La structure
Ligne 1 125 caractères d’espace visible. Travail A : l’appel, simplement.
Travail B : le crochet.
Jamais une salutation, jamais un hashtag, jamais un émoji en premier
caractère.
Corps paragraphes courts, une ligne blanche entre chacun. Deux à six
paragraphes. C’est là que vivent les termes de recherche.
L’appel un seul. Commente un mot-clé, enregistre, ou envoie un MP. Un.
Hashtags jusqu’à cinq, sur leur propre ligne en bas, ou aucun.
La limite est de 2 200 caractères et presque rien n’a besoin de 2 200. Une légende qui mérite le tap puis délivre 600 caractères bat une légende qui en délivre 1 800.
Hashtags, honnêtement
Les hashtags ne sont plus un levier de portée, et la plateforme l’a maintenant dit avec un changement produit. Instagram a plafonné les hashtags à cinq par publication le 18 décembre 2025, contre trente auparavant, en disant aux créateurs qu’« utiliser moins (jusqu’à 5) de hashtags plus ciblés, plutôt que beaucoup de génériques, donne de meilleurs résultats ». Adam Mosseri avait déjà dit en février 2025 que les hashtags ne servent pas à augmenter la portée et qu’ils sont une étiquette, pas un levier de distribution.
Donc : jusqu’à cinq, spécifiques, comme étiquettes de sujet. Si l’utilisateur a un bloc de vingt enregistrés dans son application de notes, ce bloc est désormais un poids mort et le linter le refusera.
#viral, #fyp, #explorepage, #foryou ne décrivent rien. Supprime-les.
Les termes de recherche comptent plus que les hashtags maintenant
La recherche Instagram lit le texte de la légende. Donc l’expression pour laquelle l’utilisateur veut être trouvé va dans la légende comme une phrase qu’un humain taperait, dans une phrase qui se lit normalement. « Propositions clients » en mots dans la troisième ligne, pas « #propositionsclients » dans un bloc en bas.
Demande deux ou trois de ces termes, puis passe-les au linter :
python3 caption.py brouillon.txt --keywords "propositions clients,facturation agence"
Règles
- Pas de lien dans la légende. Les légendes ne sont pas cliquables. Une URL dans le corps est un texte mort qui dit « je n’utilise pas cette plateforme ». Bio ou MP.
- Un seul appel. Deux appels, c’est comme aucun.
caption.pyles compte. - L’appel avec mot-clé a besoin d’un mot-clé que les gens peuvent taper. Un mot, sans espaces, sans émoji, et dis-le aussi à voix haute dans la vidéo.
Commente CONTRATfonctionne.Commente « le guide du contrat »ne fonctionne pas. - Rédige le premier commentaire séparément s’il y a un lien. Dis-le dans le récapitulatif.
- Émoji comme ponctuation, pas comme décoration. Le linter signale tout ce qui dépasse 4 pour 100 caractères.
- Le texte alternatif vaut 20 secondes. Pour les carrousels et les photos, écris-le. Il est lu par les lecteurs d’écran et par Instagram.
La boucle
- Décide Travail A ou Travail B et dis lequel.
- Rédige-le.
- Passe-le à
/ig-human. Les légendes sont courtes, donc le « slop » y est plus bruyant qu’ailleurs dans le paquet. - Exécute
caption.pyavec les termes de recherche de l’utilisateur. Corrige chaque ÉCHEC. Décide de chaque AVERTISSEMENT à voix haute, pas en silence. - Imprime le bloc prêt à copier, puis le récapitulatif :
LÉGENDE PRÊTE
travail : A – le reel porte le crochet
visible : 118 des 125 caractères utilisés avant la coupure
appel : un, commente CONTRAT
hashtags : 3
recherche : « propositions clients » ligne 3, « facturation agence » ligne 5
linter : PRÊT
Rien n’est publié. L’utilisateur le colle.