Effets : 51 effets vidéo (par Ray, @raycfu)
L'utilisateur n'est généralement pas technique. Restez bref et amical, faites le travail à sa place, et ne lui demandez jamais d'exécuter des commandes lui-même.
Tous les chemins ci-dessous sont relatifs au dossier de ce skill (le dossier où se trouve ce SKILL.md). Utilisez son chemin absolu dans les commandes.
1. Première exécution : configuration (une fois)
Exécutez bash scripts/setup.sh. Il affiche READY lorsque c'est terminé (la première fois prend 1 à 3 minutes).
NEED_FFMPEG: installez-le pour eux. Sur Mac :brew install ffmpeg(sibrewest manquant, dites-leur d'installer Homebrew depuis brew.sh d'abord). Sur Windows :winget install ffmpeg.NEED_PYTHON: installez Python 3.12 (Mac :brew install [email protected], Windows :winget install Python.Python.3.12), puis réexécutez setup.- Sur Windows, le Python se trouve dans
.venv\Scripts\python.exeau lieu de.venv/bin/python. - Windows sans
bash: exécutezpy -3.12 -m venv .venv, puis.venv\Scripts\python.exe -m pip install -r requirements.txt. Découpe optionnelle plus propre : téléchargez https://github.com/PeterL1n/RobustVideoMatting/releases/download/v1.0.0/rvm_mobilenetv3_fp32.onnx dansmodels/. NEED_PYTHON_312: leur Python par défaut n'a pas pu installer les paquets. Installez Python 3.12 comme ci-dessus et réexécutez setup.- Les lignes de log inoffensives de TensorFlow Lite, MediaPipe ou OpenCV (
INFO:,WARNING:,W0000,[ WARN) sont normales. SeulesDone:ousavedsignifient un succès.
2. Obtenir la vidéo et l'effet
- Vidéo : l'utilisateur glisse le fichier dans le chat, ou donne un chemin. Une vidéo verticale de téléphone fonctionne le mieux.
- Effet : depuis
/effects <nom>, ou d'après ce qu'il décrit. Faites correspondre ses mots au tableau ci-dessous. Incertain ? Montrez-lui la liste. - Son nom et son pseudo : les effets qui affichent un profil (glass-widgets, comment-box, pastel-word, profile-wall, headline-wall et autres) utilisent par défaut Ray / @raycfu. Demandez les leurs une fois et passez
nameethandleà chaque effet.
3. Trouver le timing
- S'ils disent « sur le mot X » ou « quand je dis ... », exécutez
.venv/bin/python scripts/words.py <video>et utilisez ces temps. - S'ils ne donnent pas de timing, appliquez l'effet sur tout le clip, ou demandez quelle partie (une question courte).
- Les fenêtres courtes sont les plus belles : 1,5 à 4 secondes par effet.
4. Ébauche, vérification, rendu
- Écrivez le plan à côté de leur vidéo sous
<video-name>_effects.json:{"effects": [ {"fx": "orbit", "start": 3.2, "end": 6.0}, {"fx": "backdrop-word", "start": 14.0, "end": 16.3, "text": "CLAUDE"} ]} - Vérifiez d'abord les images (rapide) :
.venv/bin/python scripts/fx.py --plan <plan.json> <video> <folder>/check.png --still 4.5,15.2, en utilisant le milieu de chaque effet. Examinez les PNG vous-même. Corrigez le texte, le timing ou les options si quelque chose ne va pas (couvre le visage, coupé par le bord, illisible). - Rendu :
.venv/bin/python scripts/fx.py --plan <plan.json> <video> <video-name>_effects.mp4. La sortie conserve leur audio original. Le rendu se fait en 1080p par défaut ; ajoutez--width 2160pour la 4K (plus lent). - Dites-leur où se trouve le fichier. Rappelez-leur en une ligne de le regarder avant de le publier : c'est une ébauche, ils approuvent.
Un seul effet n'a pas besoin de plan : .venv/bin/python scripts/fx.py orbit <video> <out.mp4> --start 3 --end 6 --text "..." --opt key=value.
Les 51 effets
| # | Nom fx | Ce qu'il fait | Options (toutes optionnelles) |
|---|---|---|---|
| 1 | noise | Des reels s'empilent derrière votre tête, un toutes les quarts de seconde | images (dossier de captures ou clips), size |
| 2 | lineup | Des tuiles numérotées se déploient en arc au-dessus de votre tête | text (noms des tuiles séparés par |) |
| 3 | locked-on | Des coins d'encadrement s'accrochent à votre visage, la caméra vous suit | zoom (défaut 1.35), text (tag) |
| 4 | orbit | Vos reels tournent autour de votre tête : devant en bas, derrière en haut | images, count, speed, size |
| 5 | lean-in | Un zoom rapide sur un mot | zoom (défaut 1.45, max 2), speed |
| 6 | backdrop-word | Un mot géant tombe derrière vous | text, color (hex), font (bold ou serif) |
| 7 | spotlight | Éteint les lumières, vous garde éclairé | text (mot lumineux derrière vous), color, push |
| 8 | the-bill | Imprime vos instructions comme un ticket de caisse dans le mur au-dessus de votre tête | text (lignes séparées par |) |
| 9 | moody | Un grade de couleur d'ambiance | grade (moody, bw, warm, cool, pop) |
| 10 | swipe | Un curseur avant/après balaye sur vous | grade (l'aspect « après ») |
| 11 | todo | Une carte de liste de contrôle à côté de votre tête coche au fur et à mesure que vous parlez | text (éléments avec |), ticks (secondes vidéo avec |), title |
| 12 | comment-box | Une barre de commentaire Instagram tape un mot et le publie | text (défaut EFFECTS) |
| 13 | tap | Un bouton Follow apparaît et bascule en Following | at (seconde vidéo du basculement), x, y (0 à 1), color |
| 14 | pause-point | Fige l'image et vous pointe du doigt avec une flèche dessinée à la main | text (label), color, label_x |
| 15 | uninstall | Une barre de désinstallation glitchée brise le cadre | text |
| 16 | reel-frame | Votre vidéo rétrécit dans une carte de reel Instagram | text (pseudo) |
| 17 | shortcut-rain | Des touches de clavier pleuvent derrière vous | text (touches avec |), count |
| 18 | reject-stamp | Un gros tampon rouge s'abat sur l'écran | text, color, angle, y |
| 19 | countdown-flip | Une horloge à retournement 3, 2, 1 au-dessus de votre tête | from |
| 20 | rabbit-hole | Le cadre s'encastre en tunnel, en tournant | ratio, speed, spin |
| 21 | cover-star | Vous devenez une couverture de magazine, titre derrière votre tête | text (titre), lines (avec |), issue, color |
| 22 | scribble | Des gribouillis au marqueur se dessinent autour de vous | text (label), color |
| 23 | glass-widgets | Des widgets en verre dépoli et des mini-artefacts flottent autour de votre tête, plus une pillule Édité par Claude | text (grand nombre), name, handle, look (simple pour la version à 3 widgets) |
| 24 | red-collage | Vous en noir et blanc, un mot rouge géant derrière, trois lignes s'abattent | text (mot rouge), lines (avec |), tag |
| 25 | split-headline | Une carte de titre glisse et vous pousse dans la moitié inférieure | text (lignes avec |), hl (mot surligné), pill |
| 26 | pastel-word | Pièce lavande, mot géant derrière vous, une carte de profil se fait suivre | text, name, handle |
| 27 | check-pills | Pièce en papier quadrillé, tableaux de reels derrière vous, un curseur clique sur des pills bleues | text (pills avec |), images |
| 28 | timeline | Un grade film rouge foncé avec une timeline de montage, un timecode REC et une tête de lecture lumineuse | text (titre), sub, tc |
| 29 | headline-box | Un zoom avec un titre sur deux lignes, la seconde ligne dans une boîte blanche | text (lignes avec |), zoom |
| 30 | profile-wall | Grille de vos reels remplit le mur derrière vous pendant qu'un compteur monte | images, count, label |
| 31 | tier-list | Une liste de niveaux tombe et Claude atterrit dans le niveau S | title, item, others |
| 32 | broll-split | B-roll en haut avec un autocollant de prix, vous en dessous | images, text (tag) |
| 33 | phone-fan | Vos reels se déploient comme un éventail de téléphones sous un titre | images, text (lignes avec |) |
| 34 | dot-reveal | Votre plan se construit à partir de points lumineux, puis s'affiche en image complète | color, cell |
| 35 | headline-wall | Vos propres titres s'empilent derrière votre tête, puis un total apparaît devant | text (headline::meta|...), total, label |
| 36 | checklist | Une liste de tâches Claude sous votre menton : chaque étape tourne, puis devient verte | text (step::meta|...), title |
| 37 | liquid-glass-graph | Une carte en verre liquide sous votre menton : un graphique vert monte tandis que le nombre défile | text (label), from, to (ex. 197K, 59%), color |
| 38 | carousel-spin | Vos reels tournent autour de vous en carrousel 3D, puis ralentissent jusqu'à l'arrêt | images, count, size, turns |
| 39 | match-cut | Des pages d'actualités se coupent sur un mot, enfermé dans une boîte rouge derrière votre tête | text (le mot, défaut Claude), color |
| 40 | apple-toggles | Une carte de réglages iPhone sous votre menton active ses interrupteurs, une ligne à la fois | text (rangées avec |), ticks (secondes avec |), color |
| 41 | led-sign | Les lumières baissent et un panneau LED lumineux s'écrit derrière vous | text (lignes avec |), color, push |
| 42 | slow-push | Un lent zoom cinématographique sur votre visage tandis que la pièce se fond dans le flou | zoom (défaut 1.6), blur |
| 43 | over-the-shoulder-zoom | La caméra zoome dans un coin supérieur et un graphique en verre liquide transparent apparaît à côté de votre tête (la ligne monte, le nombre défile), puis recule, puis l'autre coin avec un deuxième graphique à barres associé. Votre tête reste devant | text (deux labels avec |), to (deux nombres avec |, ex. 197K|672K), zoom (défaut 2.0) |
| 44 | messages | Des notifications iMessage apparaissent une par une, verre crémeux avec une lueur douce, s'empilant au-dessus du bas du cadre | text (messages avec |), title (défaut Messages), y |
| 45 | place-in-grid | Vous rétrécissez dans la tuile centrale de votre grille de profil 3x3 sur verre dépoli, puis 8 reels apparaissent autour de vous, un par image, avec les compteurs de vues Instagram sur chaque tuile | images (dossier de vos reels ou couvertures), views (9 comptes avec |, le 9e est le vôtre) |
| 46 | tape-label | Une bande de ruban jaune avec votre texte se pose sur votre poitrine, hors de votre visage | text |
| 47 | select-resize | Une boîte de sélection bleue avec poignées attrape votre nombre au-dessus de votre tête et un curseur le fait glisser pour l'agrandir | text (défaut 2X) |
| 48 | wave-trim | Un panneau sombre au-dessus de votre tête montre votre voix ; le silence pointillé rouge aux deux extrémités se réduit jusqu'à ce que seuls vos mots restent | aucun |
| 49 | huge-strike | Un grand mot en serif apparaît derrière votre tête, puis une ligne rouge le barre | text, at (secondes dans l'effet quand la barre arrive, défaut 0.6) |
| 50 | crayon-write | Un crayon rouge écrit votre mot derrière votre tête, le souligne et s'envole | text |
| 51 | fan-build | Les couvertures de vos reels se distribuent en éventail derrière votre tête, une carte à la fois | images (dossier de vos couvertures), count (défaut 13) |
Looks nommés (même effet, un look plus sophistiqué ; ils n'ajoutent pas au décompte) :
glitter-spotlight=spotlightaveclook=sparkle: la pièce s'assombrit, des rayons dorés jaillissent derrière votre tête, un grand mot doré avec un balayage brillant, des étincelles scintillantes et une lueur autour de vous.text(le mot),color,push.cover-staraveclook=editorial: un look film chaud et doux, un classique en-tête serif derrière votre tête, une ligne de numéro et des lignes de couverture élégantes.text(en-tête),issue,lines(3 lignes avec\|),right(lignes avec\|),color,accent,lines_y,right_y.liquid-glass-graphaveclook=bento: le graphique ascendant se déplace vers un écran en verre fumé derrière votre tête, avec des tuiles bento en verre devant vous (un donut, un KPI, des barres).text,from,to,donut(29%::label),kpi(672K::label),bars(197\|140\|124::label).apple-togglesse trouve maintenant au-dessus de vous, niché derrière votre tête, avec un zoom doux (pos=belowpour l'ancienne carte sous le menton ;overlap,zoom).
Les alias fonctionnent aussi : bill, to-do, follow, stamp, countdown, cover, rain, pause.
Règles
- Ne jamais couvrir le visage. Tout se place soit derrière la personne, soit évite le visage de lui-même ; si une image de vérification montre encore du texte sur le visage, déplacez-le (
x,y) ou raccourcissez le texte. - Les effets s'exécutent dans l'ordre listé. Placez les effets de caméra (
locked-on,lean-in,spotlight) en premier lorsqu'ils chevauchent d'autres effets. - Le zoom ne dépasse jamais 2x, afin que la vidéo reste nette.
- Ce skill ajoute uniquement des visuels. Les effets sonores et les sous-titres sont à la charge de l'utilisateur (CapCut fonctionne bien).
- Ce sont des versions de démarrage. Soyez honnête à ce sujet si l'utilisateur les compare à un reel qu'il a vu.
Options supplémentaires (édition Ray)
Elles ont été ajoutées aux effets de base pour corriger ce qui semblait incorrect sur des séquences réelles. Passez-les comme toute autre option ("key": "value" dans un plan, ou --opt key=value).
| Effet | Option | Ce qu'il fait |
|---|---|---|
| tout effet carte/orbit | play=1 | Joue chaque vidéo du dossier images dans sa carte au lieu d'une image fixe |
liquid-glass-graph | pos=behind | Place le graphique sur un écran en verre sombre derrière votre tête au lieu de sur votre poitrine |
liquid-glass-graph | smoke=0.5..0.85 | Verre fumé foncé au lieu de verre liquide transparent (pas de copie étalée de votre corps) |
liquid-glass-graph, over-the-shoulder-zoom | to=$32,000 | Les préfixes de devise et les séparateurs de milliers se comptent correctement |
checklist | smoke, scale=0.86, bottom=0.95, guard=0 | Carte sombre lisible, plus petite, placée bas pour ne jamais toucher votre visage |
checklist | span=2.9 | Secondes pendant lesquelles les coches arrivent, pour que la dernière coche corresponde à votre geste |
spotlight | flicker=0, lift=0.8 | Désactive le scintillement du néon, ou abaisse le mot pour que votre tête en couvre une partie |
cover-star | mast_y=0.15 | Hauteur fixe de l'en-tête (à associer à un recadrage plus serré pour que votre tête le chevauche) |
comment-box | lock=1, avatar_color=#FDB827 | Fixe la feuille de commentaire en place, définit la couleur de l'avatar (la lettre provient de handle) |
Mains devant une carte : effectuez le rendu de l'effet, puis exécutez .venv/bin/python scripts/hands_front.py <original> <with_effect> <out>.
Qualité du découpage : si models/rvm_mobilenetv3_fp32.onnx existe, chaque effet utilise Robust Video Matting pour le découpage de la personne (cheveux plus nets, pas de scintillement). Définissez FX_MATTE=mp pour utiliser le segmenteur MediaPipe d'origine.