Communitygithub.com

muse-motion

Montage vidéo professionnel de motion graphics pour les vidéos fournies par l'utilisateur. Utilisé pour le typoing cinétique, les titres, les tiers inférieurs, les sous-titres animés, les callouts, l'animation de logos, les transitions, la visualisation de données, les maquettes d'interface, les formats sociaux, les éléments d'explication et de tableau blanc, le parallaxe 2.5D, les bases 3D, les bases de personnages, les promotions de produits, les vidéos lyriques, les intros, outros et CTA, avec un workflow directif basé sur Remotion, ffmpeg et Python.

Qu'est-ce que muse-motion ?

Ce skill transforme n'importe quelle tâche de montage vidéo en un flux de travail professionnel de motion graphics, agissant comme un assistant de montage autonome. Il utilise une pile locale composée de Remotion, ffmpeg et Python pour produire des animations de haute qualité sans dépendre de services cloud ou d'After Effects. Le processus est guidé par des directives strictes, de l'analyse initiale des sources (via ffprobe) à la livraison finale, en passant par la transcription locale (faster-whisper), la validation en deux étapes du schéma de directive, et la construction d'animations en passes (poses clés, easing, décalage et suivi, synchronisation audio). Il prend en charge une large gamme d'éléments, du typoing cinétique aux visualisations de données, et intègre des règles éditoriales pour protéger les présentateurs, respecter l'intégrité sémantique et utiliser des logos de marque officiels. La vérification finale est automatisée (loudness LUFS, contraste, sécurité des zones, etc.) et se combine à une inspection humaine pour garantir la qualité avant la livraison.

Compatible avec✓Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/anisar699/Muse-Motion-Graphics-Skill-Editing/tree/main

Demander à votre IA préférée

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

Documentation

Muse Motion

Version 1.3 (2026-11-15). Les changements par rapport à la version 1.0 sont listés dans CHANGELOG.md.

Objectif et sélection de la route

  • Utilisez ce skill pour toute tâche de montage vidéo nécessitant des motion graphics, du texte animé, des superpositions graphiques, des transitions, des sous-titres, de l'animation de données ou un montage complet axé sur le mouvement, dans n'importe quel format.

  • Travaillez en tant que Muse elle-même avec la pile de code locale composée de Remotion, ffmpeg et Python. N'utilisez pas Codex, OpenAI ou une interface After Effects, sauf si l'utilisateur demande explicitement une autre méthode.

  • Acheminez le travail en fonction de la durée et du format avant de construire (routes définies dans references/workflow-and-directive.md). Intro rapide : un titre ou un générique de 15 secondes maximum, généralement uniquement graphique. Format court : vidéo sociale verticale ou carrée de 90 secondes maximum. Format long : plus de 90 secondes, axé sur les séquences filmées. Uniquement graphique : pas de séquences filmées – vidéos lyriques, animation de logo, explications avec images fixes et texte ; la source de la directive est de type "audio" ou "none" avec timeline.duration_s.

  • Ne modifiez jamais le média d'origine. Copiez les fichiers sources dans le dossier du projet, conservez les originaux intacts et écrivez chaque sortie dans le dossier d'édition du projet.

  • Lisez la documentation de la version installée de Remotion au moment de la construction lorsqu'un détail d'API est important. Les changements de Remotion v4 sont fréquents, ne vous fiez donc pas à une API mémorisée plutôt qu'à la documentation du package installé.

Workflow professionnel rapide

  • Commencez par la réception. Analysez chaque source avec ffprobe, enregistrez la largeur, la hauteur, la fréquence d'images exacte, la durée, le codec, la couleur et la fréquence d'échantillonnage audio, et listez les livrables, plateformes, aspects, besoins en sous-titres et date limite dans le modèle de brief.

  • Transcrivez localement avant de concevoir quoi que ce soit. Extrayez l'audio mono 16 kHz avec ffmpeg, exécutez faster-whisper avec les horodatages des mots, mettez en cache le JSON de transcription, et signalez chaque mot avec une probabilité inférieure à 0,80 pour une vérification humaine des noms et des nombres.

  • Regroupez les mots en unités sémantiques complètes. Marquez chaque rôle d'unité avec exactement un des jetons de rôle de validation, tous en minuscules : hook, context, problem, promise, reveal, definition, process, proof, reassurance, transition, cta.

  • Rédigez le traitement du réalisateur et le JSON de directive éditoriale avant tout graphique. La validation se fait en deux étapes : exécutez scripts/validate_directive.py avec --draft pendant la conception (validation du schéma uniquement, un PASS de brouillon n'est jamais une autorisation de rendu), et exécutez-le sans --draft avant le rendu (validation prête pour le rendu : approval.status doit être approved sans ambiguïtés, le média source doit exister et être analysé avec une durée correspondante, les dispositions doivent se trouver à l'intérieur du canevas, les zones protégées sont vérifiées pour les collisions (échec à 10 % de la zone, 50 % de la disposition, ou tout chevauchement d'une zone critique ; les dérogations nécessitent le booléen true ainsi qu'un overlap_reason et sont toujours signalées), les rôles, traitements et jetons de transition doivent provenir des ensembles fixes dans references/workflow-and-directive.md, et les éléments reveal_sync doivent être déclarés dans on_screen_copy). Tout résultat INVALID arrête le rendu.

  • Construisez des images de style avant l'animation. Rendez une image fixe finale pour le titre, une scène typique, une scène de données, le tiers inférieur et la carte de fin, et verrouillez les polices, couleurs, espacements, zones de sécurité et jetons de mouvement à partir de ces images.

  • Construisez un animatique lorsque le timing n'est pas encore verrouillé. Rendez la composition réelle avec les images de style fixes, le timing final et l'audio de travail ou final à moitié échelle, et vérifiez le rythme sur ce fichier avant l'animation complète.

  • Animez par passes. Bloquez d'abord les poses clés, ajoutez l'easing et les ressorts en deuxième, ajoutez le décalage et le suivi en troisième, et synchronisez les sons en dernier à moins d'une image du repère visuel.

  • Compositez les graphiques avant les sous-titres. Ajoutez les sous-titres en dernier afin qu'ils restent au-dessus et à l'intérieur de la zone de sécurité de livraison.

  • Vérifiez le fichier final avant la livraison. Suivez la porte de vérification de ce skill et ne livrez jamais sur la base d'un simple message de succès de rendu.

Règles éditoriales

  • Donnez à chaque intervalle de la timeline exactement un traitement principal, en utilisant exactement les jetons de traitement de validation : CLEAN_PRESENTER, OVERLAY_CARD, FULLSCREEN_MOTION, PRESENTER_INSET, SELECTIVE_TEXT, TRANSITION, KINETIC_TYPE, DATA_SCENE, CALLOUT, LOWER_THIRD, TITLE, END_CARD.

  • Protégez le présentateur. Gardez les visages, les yeux, les microphones et le couloir de gestes principal dégagés, et vérifiez la protection sur les séquences réelles plutôt que sur un canevas vierge.

  • Laissez le sens guider le mouvement. Animez uniquement les mots et éléments qui portent du sens (noms, verbes, nombres, contrastes) et gardez les mots de remplissage stables.

  • Gardez un seul élément animé principal par unité sémantique. L'action secondaire peut soutenir l'action principale mais ne doit jamais rivaliser avec elle.

  • Maintenez chaque graphique résolu suffisamment longtemps pour être lu. Un maintien plus court que son entrée plus sa sortie est un défaut.

  • Utilisez uniquement les logos de marque officiels. Récupérez chaque logo de marque nommé à partir de son propre kit de presse ou page de marque, enregistrez la source, et ne dessinez, tracez, recolorisez ou remplacez jamais un logo par du texte tapé ou une icône générique.

  • Gardez le texte à l'écran fidèle à l'affirmation parlée. Condensez si nécessaire, et ne réécrivez jamais silencieusement ou n'inventez jamais une affirmation.

  • Ne placez aucun jingle de logo, salutation ou ouverture lente avant l'accroche dans une vidéo en ligne. Empilez l'accroche comme une interruption visuelle, une promesse parlée et un texte à l'écran dans les premières secondes.

Paramètres de mouvement par défaut

  • Faites correspondre la fréquence d'images source pour les montages. Utilisez 30 ips pour les nouvelles compositions web et sociales animées, 24 ips uniquement pour le travail cinématographique, et 60 ips uniquement pour les jeux, le sport ou la capture d'écran rapide.

  • N'utilisez jamais d'easing linéaire pour la position ou l'échelle. Utilisez ease out pour les entrées, ease in pour les sorties, et ease in out pour les mouvements qui restent à l'écran, et réservez le linéaire uniquement pour les boucles, les barres de progression et les valeurs temporelles.

  • Utilisez les courbes standard de la référence de mouvement. La courbe d'entrée de travail est cubic bezier 0.16, 1, 0.3, 1, la courbe standard Material est 0.2, 0, 0, 1, et la courbe de dépassement est 0.34, 1.56, 0.64, 1, utilisée avec parcimonie.

  • Utilisez des ressorts pour les entrées organiques et le suivi. Utilisez damping 200 pour une stabilisation lisse sans rebond, damping 12 à 15 pour un rebond ludique, et damping 20 avec stiffness 200 et mass 0.8 pour un pop vif.

  • Gardez les entrées standard entre 250 et 500 ms. Gardez les sorties à environ 60 à 75 % de la durée d'entrée, gardez les micro-mouvements entre 100 et 200 ms, et gardez les mouvements "presque aucune interface" au-dessus de 500 ms.

  • Ajoutez de l'anticipation comme un petit contre-mouvement d'environ 5 à 10 % du trajet sur 3 à 6 images à 30 ips. Ajoutez un suivi en décalant les éléments secondaires de 2 à 4 images après l'atterrissage de l'élément principal.

  • Utilisez une sensation d'obturateur à 180 degrés comme flou de mouvement par défaut lorsque les graphiques doivent correspondre à des séquences réelles. Désactivez l'émulation de flou sur le texte qui doit être lu et sur les valeurs de données.

Manuels des éléments

  • Suivez la référence du manuel de taxonomie pour les spécifications exactes de chaque élément. Il couvre le typoing cinétique, les titres, les tiers inférieurs, les sous-titres, les callouts, l'animation de logo, les transitions, la visualisation de données, les maquettes d'interface, les éléments sociaux, les éléments d'explication et de tableau blanc, le parallaxe, la 3D, les bases de personnages, la promotion de produit, la vidéo lyrique et les cartes de fin.

  • Construisez les tiers inférieurs avec l'accent en premier, le nom en deuxième et le rôle en troisième. Utilisez environ 15 images pour l'entrée à 30 ips, maintenez au moins 3 secondes et gardez le total entre 3 et 5 secondes.

  • Traitez les sous-titres d'accessibilité et les sous-titres sociaux animés comme des produits différents. Les sous-titres d'accessibilité restent fidèles sans animation décorative, tandis que les sous-titres sociaux utilisent une mise en surbrillance au niveau du mot dans la même Séquence que le clip qu'ils sous-titrent.

  • Animez les données honnêtement. Faites croître les barres à partir de la ligne de base, tracez les lignes dans l'ordre chronologique, comptez les nombres vers le haut avec ease out jusqu'à la valeur finale exacte, et ne dépassez jamais une valeur de données.

  • Considérez les transitions comme une ponctuation. Préférez un cut sec par défaut, utilisez des fondus pour marquer le passage du temps, et utilisez des volets, whip pans, zooms, morphs et match cuts uniquement lorsque la relation entre les scènes le justifie.

  • Construisez le parallaxe à partir de plans de profondeur séparés. Déplacez le premier plan le plus rapidement, le plan intermédiaire plus lentement et l'arrière-plan le plus lentement, et gardez les angles de caméra virtuels modestes afin que les couches plates ne se révèlent jamais.

Règles de production de code

  • Dérivez chaque animation de l'image actuelle. Utilisez useCurrentFrame et useVideoConfig pour tout mouvement, et n'utilisez jamais de transitions CSS, d'animations CSS, de temporisateurs ou de valeurs aléatoires non ensemencées.

  • Limitez chaque appel interpolate borné des deux côtés. Écrivez le timing en secondes multipliées par ips dans le code, et conservez les numéros d'image avec un commentaire en secondes lorsqu'un nombre nu est inévitable.

  • Préférez interpolate en ligne avec des propriétés individuelles d'échelle, de translation et de rotation plutôt que des chaînes de transformation composées. Utilisez interpolate pour un timing précis sur les battements et les boucles, et utilisez des ressorts lorsqu'une stabilisation organique est plus importante qu'une image exacte.

  • Structurez chaque livrable comme une Composition enregistrée avec une durée déterminée par les données via calculateMetadata lorsque le timing provient de sous-titres ou d'une grille de battements. Construisez les scènes comme des blocs Sequence ou Series et les transitions avec TransitionSeries.

  • Chargez les polices explicitement au niveau supérieur du module avec des épaisseurs réduites. Chargez les médias avec les composants média de Remotion qui bloquent le rendu jusqu'à ce que les ressources soient prêtes, et utilisez delayRender uniquement avec un chemin de continuation clair.

  • Préservez l'alpha à travers chaque lien lorsqu'une superposition est le livrable. Rendez des images PNG et terminez en ProRes 4444 avec yuva444p10le pour les éditeurs, VP9 WebM avec yuva420p pour les navigateurs, ou une séquence PNG comme la forme la plus portable, et ne promettez jamais d'alpha dans H.264 MP4.

  • Souvenez-vous de la leçon prouvée sur l'alpha en production réelle. Les rendus vidéo directs de Remotion peuvent perdre l'alpha silencieusement, donc la route sûre est une séquence PNG rendue d'abord puis encodée avec ffmpeg prores_ks 4444, suivie d'une vérification du format de pixel qui confirme l'existence d'un plan alpha.

  • Accélérez délibérément les rendus. Utilisez des images JPEG pour les compositions opaques et PNG uniquement pour l'alpha, utilisez un brouillon à moitié échelle pour les approbations de timing, ne re-rendez que la plage d'images corrigée après une correction locale, et comparez la concurrence sur la machine réelle.

Audio, volume sonore et exportation

  • Mélangez la voix en premier, réduisez la musique sous la voix, et placez les effets sonores sur les repères visuels avec parcimonie, une seule famille d'effets par marque. Normalisez le mixage final dans son ensemble et ne normalisez jamais plan par plan.

  • Utilisez moins 14 LUFS intégré et au maximum moins 1 dBTP comme cible de travail pour YouTube et les réseaux sociaux. Utilisez moins 16 LUFS pour les podcasts parlés, moins 23 LUFS pour la diffusion EBU R 128 et moins 24 LKFS pour la diffusion ATSC.

  • Énoncez la réserve concernant le volume sonore lors du rapport. YouTube ne publie pas de cible LUFS, donc moins 14 est une valeur par défaut de travail inférée à partir des données de normalisation du lecteur, et non une règle de plateforme publiée.

  • Normalisez avec loudnorm en deux passes pour les livrables. Mesurez d'abord, puis appliquez avec les valeurs mesurées et true peak linéaire, car loudnorm en une seule passe traite dynamiquement et peut pomper le mixage.

  • Exportez le format long en MP4 avec H.264 High Profile, progressif, 4.2.0, VBR, et AAC LC à 48 kHz. Utilisez 8 Mbps pour 1080p à 30 ips, 12 Mbps à 60 ips, 16 et 24 Mbps pour 1440p, et 35 à 45 Mbps pour 4K à 30 ips.

  • Exportez un master vertical à 1 080 x 1 920, 9:16, 30 ips et 10 à 16 Mbps pour les Shorts, Reels et TikTok. Rendez les variantes par plateforme à partir de la même composition lorsque les zones de sécurité diffèrent.

Porte de vérification

  • Inspectez les images à l'accroche, à chaque moment héroïque de scène, à chaque entrée et sortie, à chaque transition et à la dernière image. Comparez les images héroïques avec les images de style approuvées.

  • Vérifiez les zones de sécurité avec une superposition. Gardez le texte 16:9 à l'intérieur de la zone de sécurité à 90 % pour les titres, et gardez le contenu critique vertical en dehors de la bande supérieure de la plateforme, de la bande inférieure des sous-titres et du rail d'action droit.

  • Vérifiez les sous-titres à l'oreille et à l'œil. Confirmez les noms, les nombres et les mots de faible confiance, gardez les sous-titres standard à ou en dessous de 42 caractères par ligne et 2 lignes, et gardez la vitesse de lecture à ou en dessous de 20 caractères par seconde pour les adultes. Exécutez scripts/check_captions.py sur le SRT pour automatiser les vérifications de forme (longueur de ligne, vitesse de lecture, durée du repère, chevauchements et contraste WCAG lorsque les couleurs de style sont données) ; le libellé reste un jugement humain. Pour les sources vocales, scripts/transcribe.py produit la transcription locale avec horodatage des mots (faster-whisper, route PCM) à partir de laquelle les sous-titres et les battements sont synchronisés.

  • Mesurez le volume sonore et le pic réel sur le fichier encodé final, pas sur le projet. Exécutez d'abord scripts/peak_guard.py sur le fichier encodé : l'encodage AAC peut dépasser le plafond de pic réel de loudnorm (mesuré à -0.95 et -0.7 dBTP par rapport à un plafond de -1.0 sur des livraisons réelles), et la protection applique la réduction de gain la plus faible suffisante sous forme de remux audio uniquement et mesure à nouveau. Ensuite, exécutez scripts/qc_probe.py sur le fichier final avec un fichier --spec par livrable et enregistrez le JSON --report : il vérifie la présence audio (absence d'audio échoue avec AUDIO_STREAM_MISSING, silence numérique échoue avec AUDIO_SILENT), la cible de volume sonore et la tolérance, le plafond de pic réel, les dimensions, la fréquence d'images (tolérance 0.01, VFR détecté), le codec, le format de pixel, le profil, les balises de couleur, la durée, l'alpha si requis (format ET contenu décodé – un alpha constant opaque échoue), et l'atome moov placé en avant pour MP4/MOV, et il quitte avec un code non nul en cas d'échec ; les clés spec sont sur liste blanche, et les spec de démarrage se trouvent dans templates/. Utilisez scripts/sample_frames.py pour extraire l'accroche, le quart, l'image héroïque, les trois quarts et les images de fin, ainsi qu'une planche contact pour la vérification visuelle humaine (avec --directive, il échantillonne également chaque début de battement, révélation et fin).

  • Appliquez les limites strictes d'accessibilité. Gardez le contraste à au moins 4.5:1 pour le texte normal et 3:1 pour le texte grand, et ne faites jamais clignoter plus de 3 fois en une période de 1 seconde.

  • Rapportez exactement ce qui a été vérifié et ce qui ne l'a pas été. Séparez le succès du rendu, l'inspection des images, la mesure du volume sonore et l'aperçu sur l'appareil ou la plateforme en affirmations distinctes.

  • Ne prétendez jamais avoir vérifié ce qui ne l'a pas été. Ce package de skill ne contient pas de projet d'exemple Remotion complet, ne prétendez donc pas que l'archive elle-même a été prouvée par rendu ; ne revendiquez que les rendus réellement produits dans l'espace de travail actuel. Les portes automatisées ne remplacent jamais la validation humaine pour la vérité narrative, le goût visuel, la précision des sous-titres ou la protection des visages sur des séquences en mouvement.

Référence

…

[tronqué pour la traduction]

Skills associés