Effets (AI Wala Kapil Studio)
Un clip → plusieurs effets, une seule commande. Minutage en secondes ou par un mot prononcé ("@views", "@कमाई+0.2" ; les mots anglais correspondent également à l'orthographe devanagari du whisper, ex. link ↔ लिंक).
Exécution
python3 ~/.claude/skills/awk-effects/scripts/effects.py --list # tous les effets + leurs propriétés
python3 ~/.claude/skills/awk-effects/scripts/effects.py VIDEO.mp4 --spec fx.json --preview 3.2 # une image fixe, rapide
python3 ~/.claude/skills/awk-effects/scripts/effects.py VIDEO.mp4 --spec fx.json -o VIDEO_fx.mp4
fx.json :
[
{"fx": "title-behind", "t": 0.0, "dur": 2.6, "props": {"text": "FREE|CLASS"}},
{"fx": "orbit-text", "t": 2.6, "dur": 4.0, "props": {"images": ["~/Pictures/a.png", "~/Pictures/b.png", "~/Pictures/c.png"], "size": 0.25}},
{"fx": "clone", "t": 6.9, "dur": 1.6, "props": {"count": 2, "lag": 0.4}},
{"fx": "edit-timeline", "t": 8.6, "dur": 3.0, "props": {"title": "🎬 Aise video banti hai", "y": 0.6}},
{"fx": "photo-3d", "t": 12.0, "dur": 3.0, "props": {"photo": "~/Pictures/creator.png", "label": "Aap bhi creator ✨"}},
{"fx": "map-flyto", "t": 15.0, "dur": 3.0, "props": {"image": "~/maps/india.png", "x": 0.27, "y": 0.6, "label": "Mumbai"}},
{"fx": "transition", "t": "@फटाफट", "dur": 0.4, "props": {"kind": "zoom-punch"}},
{"fx": "checklist", "t": 5.4, "dur": 3.0, "props": {"title": "Kya karna hai", "items": ["Bio link kholo", "Form fill karo", "Submit"], "every": 0.6}},
{"fx": "iphone-ui", "t": "@DM", "dur": 2.2, "props": {"app": "Instagram", "title": "aiwalakapil", "body": "New message", "icon": "📩"}},
{"fx": "spotlight", "t": 10.8, "dur": 2.0, "props": {"label": "Description mein link", "glitter": true}},
{"fx": "glass-widgets", "t": 13.0, "dur": 3.0, "props": {"items": [{"icon": "🔥", "title": "Views", "value": "4.2L"}]}},
{"fx": "money-counter", "t": 16.2, "dur": 2.4, "props": {"to": 50000, "label": "Course ki value"}},
{"fx": "chart", "t": 18.8, "dur": 2.6, "props": {"title": "Registrations", "bars": [{"label": "Day 1", "value": 58}, {"label": "Day 2", "value": 111}]}},
{"fx": "news-cut", "t": 21.5, "dur": 2.0, "props": {"headline": "FREE AI class shuru!"}},
{"fx": "freeze-callout","t": 24.0, "dur": 1.6, "props": {"name": "KAPIL", "sub": "AI Wala Kapil"}}
]
Comment ça marche
tools/awkvision(Apple Vision, sur l'appareil) crée un matte de la personne et un suivi du visage une fois par vidéo (mis en cache sousVIDEO.matte.mp4,VIDEO.faces.json; la première compilation construit l'outil Swift, environ 1 min pour 25 s de vidéo source 60 fps 4K,--fast-mattepour plus de rapidité).- Remotion rend une couche transparente arrière (sous la personne) et une couche avant ; ffmpeg les empile : vidéo → arrière → personne découpée → avant.
- Projecteur, orbite, widgets en verre, titre derrière la tête et appel nominatif en freeze-frame suivent automatiquement le visage.
cloneest composé par ffmpeg avec le matte : des copies de la personne, décalées dans le temps, se tiennent à côté d'elle (non affichées dans--preview).photo-3ddécoupe le sujet d'une photo (Apple Vision) et le déplace contre l'arrière-plan pour créer de la profondeur.map-flytoprend n'importe quelle image de carte (x/y sont des fractions de l'image) ; utilisez une carte haute résolution, les petites images deviennent floues lors du zoom.- Les chemins d'image locaux dans les propriétés (
images,image,photo) sont copiés automatiquement dans le studio.
Workflow pour Claude
- Transcrire ou lire le script, choisir 4 à 8 moments (accroche dans les 2 premières secondes, nombres, listes, CTA). Ne pas empiler les effets les uns sur les autres ; 1 à 3 secondes chacun, un espace de respiration entre eux.
- Toujours faire
--preview Tpour quelques moments clés et les regarder avant le rendu complet. - Ordre dans un reel : découpage automatique → zoom auto → effets → sous-titres → effets sonores → master audio (les zooms et transitions redessinent la vidéo, donc les sous-titres viennent après).
- Le texte derrière la tête s'adapte à l'espace au-dessus de la tête ; les cheveux couvrent la partie inférieure de la dernière ligne (c'est l'effet recherché). Les mots courts (≤ 8 lettres par ligne) sont les plus lisibles.
- Sur une vidéo qui a déjà des boîtes de texte incrustées, placez les effets dans les zones vides ou utilisez des moments plein écran (news-cut, photo-3d, freeze-callout, spotlight) pour qu'il n'y ait pas de conflit.
- Les cartes en verre sont teintées (pas floutées) pour rester lisibles sur toutes les séquences.