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 — voirdocs/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
.mogrtmot par mot (*_WbW.mogrt) dansassets/— non fourni dans le dépôt (voirassets/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_smallet 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
#F2381Csur la grande ligne quand il y a un nombre / argent / mot fort (listestrong), maximum 2 rouges consécutifs, force 1 rouge si 4 blocs se sont écoulés sans. - Animation :
.mogrtmot par mot, sélectionné aléatoirement par bloc parmi ceux présents dansassets/, 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/yetsafe_tolerancedansstyle.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
- 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).
- Transcription : l'utilisateur exporte le JSON depuis Premiere (Texte > Transcription > menu … > Exporter ; le fichier est dans Documents, nommé "<séquence>.json").
- 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 dansblocks.json(champssmall/big). - 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.
- 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) etlote_clips.json. - Vérifier la marge AVANT d'exécuter :
python -I <skill>/scripts/check_margins.py <pasta>/lote_clips.json— doit donnerhors marge : 0(largeur max ≤ 78 %). - Exécuter chaque lot dans Premiere (ExtendScript, champ
script, IIFE avec return, uniquementJSON.parse/stringify), un par un, en attendantok=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). - 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).
- 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. - Livrer : dites ce qui a été fait, les mots douteux et que vous n'avez pas vu le rendu en mouvement.
Ajustements rapides
| Je veux | Modifier dans |
|---|---|
| Tailles / police / position | style.json (mogrt_size_small/big/plain, mogrt_font, y_center, gap) |
| Marge | safe_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 petits | RULES dans plan_blocks.py ou --config regras.json |
| Corriger le texte | blocks.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
.mogrtn'est pas modifiable par script (d'où l'effet de couleur sur les rouges).