Communitygithub.com

Legenda Impacto

Modèle de légende à fort impact pour vidéos verticales 9x16 dans Premiere Pro — graphiques modifiables (.mogrt), animation mot par mot alternée, petite ligne + grande ligne (blanche ou rouge) alternant avec une légende droite, police condensée en majuscules, toujours dans la marge de sécurité.

Qu'est-ce que Legenda Impacto ?

Cette compétence permet de créer des légendes percutantes au format 9x16 (1080 × 1920) pour les Reels, Shorts ou TikTok, directement dans Premiere Pro. Elle génère des blocs de texte animés mot par mot à partir de la transcription exportée du projet, en respectant des règles typographiques strictes : police Impact en majuscules, une petite ligne blanche (56 px) au-dessus d’une grande ligne (140 px, blanche ou rouge selon le contexte), et des légendes droites (1 ou 2 lignes, 76 px) introduites aléatoirement (40 % de probabilité). La couleur rouge (#F2381C) est réservée aux chiffres, montants et mots « forts », avec un maximum de deux clics rouges consécutifs. Chaque bloc contient 1 à 6 mots, découpé par ponctuation, pause ou durée, et ne se termine jamais par un mot isolé (o, de, que…). La compétence fonctionne avec un MCP Premiere Pro ou un bridge CEP, exécute un script ExtendScript pour placer les calques dans la timeline, et génère des fichiers de lot (8 clips max par lot) pour éviter de planter Premiere. Elle vérifie systématiquement que tout le texte reste dans la marge de sécurité (78 % de la largeur, soit 842 px sur 1080), en réduisant la taille (jusqu’à 60 %) ou en coupant la ligne si nécessaire. Les utilisateurs peuvent personnaliser les tailles, la position, le taux de légende droite et le seuil de rouge via les fichiers `style.json` et les arguments en ligne de commande.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/gbrand-lab/premiere-legendas-skills/tree/HEAD/skills/legenda-impacto

Demander à votre IA préférée

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

Documentation

Que fait Legenda Impacto ?

Modèle de légende à fort impact pour Reels/Shorts/TikTok. Lorsque l'utilisateur demande de légender une vidéo avec ce modèle, appliquez-le comme décrit ci-dessous, sans redemander les paramètres.

Prérequis

  • Premiere Pro (testé sur 2027/27.0 ; utilise ExtendScript) et Python 3.9+ avec pip install -r requirements.txt (Pillow).
  • Un moyen d'exécuter ExtendScript dans Premiere : un MCP Premiere (execute_extendscript) ou le bridge de fichiers CEP — voir docs/PREMIERE-BRIDGE.md à la racine du dépôt.
  • Polices : Impact (fournie avec Windows et macOS) et, optionnellement, Anton. Si la police n'est pas trouvée, définissez CAPTION_FONT_DIR.
  • Pack de .mogrt mot par mot (*_WbW.mogrt) dans assets/ — non fourni dans le dépôt (voir assets/LEIA-ME.md). Ce sont des modèles Essential Graphics avec les contrôles « Anim Speed » / « Out Animation » et un champ de texte.

Paramètres (source de vérité : style.json et scripts/plan_blocks.py)

  • Format 9:16 (1080 × 1920). Texte en MAJUSCULES, centré, y_center = 0,54 (légèrement en dessous du milieu).
  • Police Impact. Petite ligne 56 px (blanche), grande ligne 140 px, droite 76 px ; réduit pour tenir (min 60 %).
  • Bloc de 1 à 6 mots, coupé par ponctuation, pause > 0,45 s ou durée > 3,3 s ; ne se termine jamais par un mot isolé (o, de, que…).
  • Types de bloc : big_below (petite ligne en haut + grande ligne en bas, par défaut), big_above (mot fort en grand au-dessus), single_big, single_small et droite (1 ligne, ou 2 si longue, taille standard, blanche). Chaque bloc devient droit avec 40 % de chance, maximum 2 consécutifs du même type.
  • Rouge #F2381C sur la grande ligne quand il y a un nombre / argent / mot fort (liste strong), maximum 2 rouges consécutifs, force 1 rouge si 4 blocs se sont écoulés sans.
  • Animation : .mogrt mot par mot, sélectionné aléatoirement par bloc parmi ceux présents dans assets/, sans répéter le précédent ; les deux lignes d'un même bloc utilisent le même. Sortie en coupe nette (Out Animation désactivée). Anim Speed 150 (200 si le bloc < 1 s).
  • Marge de sécurité (règle fixe) : aucun texte en dehors du title safe de Premiere (80 % × 80 % = marge de 10 % de chaque côté). Implémenté dans make_graphics_script.py (layout_text + clamp_y ; safe_margin_x/y et safe_tolerance dans style.json) : largeur utile = 1 - 2·0,10 - 0,02 = 78 % de la largeur (842 px sur 1080). Ligne qui ne tient pas : 1) réduire jusqu'à min_scale (60 %) ; 2) si toujours trop longue, couper en 2 (jusqu'à 3) lignes avec une répartition équilibrée et réduire juste ce qu'il faut ; la taille est arrondie à l'ENTIER INFÉRIEUR, donc la ligne la plus large ne dépasse jamais la marge. Le bloc entier reste également entre 10 % et 90 % de la hauteur.
  • Livraison : éditer directement la séquence indiquée par l'utilisateur (sans créer de copie), sauf s'il demande une copie.

Procédure pas à pas

  1. Vérifier le projet : confirmez avec l'utilisateur quel projet/séquence est ouvert et laissez la séquence cible active (ExtendScript travaille sur la séquence ACTIVE).
  2. Transcription : l'utilisateur exporte le JSON depuis Premiere (Texte > Transcription > menu … > Exporter ; le fichier est dans Documents, nommé "<séquence>.json").
  3. Plan : PYTHONIOENCODING=utf-8 python -I <skill>/scripts/plan_blocks.py <transcricao.json> <pasta>/blocks.json. Affichez le résumé et les mots [vérifier] (confiance < 0,75). Corrigez les erreurs dans blocks.json (champs small/big).
  4. Pistes : listez les pistes vidéo. V1 = vidéo. Utilisez V2 (indice 1) pour les petites lignes, V3 (indice 2) pour les grandes/droites, et une piste NOUVELLE au-dessus de toutes (indice = nombre actuel de pistes) pour les rouges. S'il y a d'anciens plans de légende/titre couvrant le cadre, désactivez-les.
  5. Générer les lots : python -I <skill>/scripts/make_graphics_script.py blocks.json <pasta>/lote.js --tracks 1,2,<indicePisteRouge> [--seed N] → lote_01.js… (8 plans chacun) et lote_clips.json.
  6. Vérifier la marge AVANT d'exécuter : python -I <skill>/scripts/check_margins.py <pasta>/lote_clips.json — doit donner hors marge : 0 (largeur max ≤ 78 %).
  7. Exécuter chaque lot dans Premiere (ExtendScript, champ script, IIFE avec return, uniquement JSON.parse/stringify), un par un, en attendant ok=8/8. Si le bridge oscille, vérifiez la connexion avant CHAQUE lot. N'envoyez jamais tout en même temps (des dizaines de plans d'un coup plantent Premiere).
  8. Rouge : listez les plans de la piste rouge et appliquez l'effet « Équilibre des couleurs (RGB) » (en anglais « RGB Color Balance ») avec Rouge 242, Vert 56, Bleu 28. Une seule fois par plan — réappliquer duplique l'effet et assombrit le rouge (si vous relancez, supprimez et recréez les plans de la piste rouge).
  9. Vérifier : relisez le texte / police / taille / position des plans et relancez check_margins.py ; exportez 3-4 images (une rouge, une droite, une sur 2 lignes) si l'export d'image fonctionne, sinon demandez à l'utilisateur de regarder avec les guides de marge activées. Sauvegardez le projet.
  10. Livrer : dites ce qui a été fait, les mots douteux et que vous n'avez pas vu le rendu en mouvement.

Ajustements rapides

Je veuxModifier dans
Tailles / police / positionstyle.json (mogrt_size_small/big/plain, mogrt_font, y_center, gap)
Margesafe_margin_x/y, safe_tolerance dans style.json
Plus / moins de légende droite--plain-prob (par défaut 0,4)
Autre aléatoire--seed
Plus / moins de rouge, blocs plus grands / plus petitsRULES dans plan_blocks.py ou --config regras.json
Corriger le texteblocks.json et refaire les lots

Alternative : vidéo transparente (uniquement si Premiere n'accepte pas les .mogrt)

render_captions.py blocks.json out.mov --duration <s> --fps 30 génère du ProRes 4444 avec alpha (entrée « pop » de 5 images, rouge natif, non modifiable). À placer dans la timeline comme média importé. Le rendu de 45 s prend environ 5 min.

Limites connues

  • L'animation se déroule au rythme du template, pas à l'instant précis de chaque mot prononcé.
  • Le mot grossier censuré (« P*RRA ») n'est pas automatique (éditez-le dans blocks.json).
  • La coupe de phrase peut paraître étrange ; relisez la liste des blocs avant de lancer.
  • La couleur du .mogrt n'est pas modifiable par script (d'où l'effet de couleur sur les rouges).

Individual skills in this repo

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

Skills associés