Motion Inspo : Trouver, décomposer, mesurer des références
Une bonne motion graphic ne naît pas de descriptions, mais d'exemples concrets. Ce skill trouve des films de référence, les télécharge pour les étudier, les décompose en images individuelles et les mesure. Avec les mêmes mesures, tu vérifieras ensuite ton propre rendu.
Droits : Les clips de référence appartiennent à leurs créateurs. À étudier uniquement localement, jamais à télécharger à nouveau, jamais dans le dépôt (refs/clips/ doit être dans .gitignore). On emprunte la grammaire (rythme, transitions, caméra), jamais le contenu.
Tous les scripts se trouvent dans scripts/ de ce skill. Ils écrivent dans refs/ du dossier de travail actuel (ou dans $MOTION_REFS_ROOT). Prérequis : python3, ffmpeg, uv (pour les scripts avec dépendances).
Sources
references/referenzfilme.md: 50 films de référence notés par style (Clean SaaS, Premium-Produit, Typo cinétique, Objet 3D, Film explicatif, Éditorial/Collage, Cinématographique sombre), y compris des anti-références.- whatships.com (~2 500 vidéos de lancement de X) et flowjam.com/library (55 films de lancement sélectionnés), via
refs.py search. - Autres pages et ensembles de données :
RESOURCES.mddans le dossier principal du dépôt.
Commandes
python3 scripts/refs.py search product launch 3d keyboard --n 15 # chercher sur whatships + flowjam
python3 scripts/refs.py get <x.com-status | whatships | youtube | vimeo-url> --name <slug> # télécharger dans refs/clips/
python3 scripts/refs.py study <slug> --every 0.5 # images, courbe, coupes, rythme -> refs/study/<slug>/
python3 scripts/sheet.py <video.mp4> <out-prefix> --every 0.25 # planche contact avec horodatage (4 images/s)
uv run scripts/ref_metrics.py <ref.mp4> --no-ocr # mesurer la référence cible
uv run scripts/ref_metrics.py render.mp4 --ref <ref.mp4> --out check/metrics # comparer son rendu à la référence
uv run scripts/motion_check.py render.mp4 [--script texte_parle.txt] # détecter les motifs de diapositive/slop
uv run scripts/beats.py track.mp3 --fps 30 --out beats.json # grille de beats à partir de la musique
Chercher en anglais et par mouvement plutôt que par secteur : « camera dives into ui », « kinetic type scale jump », « object becomes logo », « paper collage top down ».
Ce que signifient les mesures
ref_metrics.py mesure : coupes et nouvelles vues toutes les 10 s, durée des plans, proportion « caméra fixe », variation d'image par image, passages vides, proportion de texte, luminosité/contraste/saturation, et le début (2 premières secondes). Les objectifs en découlent : densité ≥ 80 % de la référence, « caméra fixe » ≤ référence + 15 points, début en mouvement ≥ 80 % de la référence.
Leçon principale des mesures : la densité ressentie (« une nouvelle image chaque seconde ») provient souvent de mouvements de caméra rapides et de changements de matière, pas de nombreux coupes. Un film d'objet 3D mesuré n'avait que 4,3 coupes toutes les 10 s, mais la caméra était fixe seulement 14 % du temps.
motion_check.py détecte les formes de slop connues : titre en haut à gauche + image en dessous (diapositive), phrases immobiles, texte qui répète le discours (écho), temps figé, plans trop longs, murs de texte, grille de vignettes. Réussir signifie seulement « aucune forme de slop connue ». Si c'est bien ou non, c'est le regard sur les images qui le décide. Seuils par style : motion-director/references/rules.md. Les vérifications textuelles utilisent l'OCR macOS (ocrmac) ; sur d'autres systèmes, seules les vérifications d'image et de temps sont exécutées.
Décomposer (≤ 10 lignes par référence)
Déroulement et modèle : motion-director/references/inspiration.md. En bref : visualiser la courbe avec 4 images/s, pour chaque plan noter le temps, la taille du plan, la caméra, ce qui se passe, la matière/la lumière, la transition. Puis « On prend » / « On ne prend pas ».