Communitygithub.com

Constructeur de Montage Calé sur le Beat

Construisez des montages vidéo sociaux synchronisés avec le rythme d'une chanson à partir d'analyses de pistes et de séquences sources. Idéal pour assembler, planifier ou réviser un montage musical : mapper les séquences sur les beats, les attaques et les marqueurs, créer des timelines verticales ou paysage, intégrer des effets audio-réactifs, mixer différents types de plans, et générer des livrables (CSV, planches contact, briefs).

Qu'est-ce que Constructeur de Montage Calé sur le Beat ?

Ce skill permet de construire des montages vidéo synchronisés avec le rythme d'une chanson, à partir de l'analyse de la piste réalisée par un précédent skill (`$song-edit-analysis`) et de séquences sources variées. Il est conçu pour les agents capables de générer des vidéos (comme Claude Code, Cursor ou Codex) et propose un workflow structuré en étapes : choix de la fenêtre musicale, inventaire et classification des sources, planification des segments sur les marqueurs de coupe, application d'effets intégrés (FX) respectant des règles strictes de compositing (effets ancrés aux mattes de sujet, à la géométrie de la scène ou aux pixels de l'image), rendu via FFmpeg, numpy ou shader GLSL, et finalisation avec QA. L'originalité de ce skill réside dans sa règle « FX intégrée » : les effets ne doivent jamais apparaître comme des segments séparés, mais comme des éléments de la scène (ciels, écrans, reflets). Il prend en charge les formats 9:16 et 16:9, et génère des livrables complets : vidéo finale, CSV de timeline, planche contact, brief JSON. Il intègre également la gestion des médias générés via `$generated-media-sourcing` lorsque les sources réelles sont insuffisantes.

Compatible avec~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BusyBee3333/viral-video-edit-skills/tree/main/skills/beat-synced-montage-builder

Demander à votre IA préférée

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

Documentation

Que fait Constructeur de Montage Calé sur le Beat ?

Vue d'ensemble

Utilisez ce skill après qu'une chanson a été analysée avec $song-edit-analysis, ou lorsque des données équivalentes de beats/marqueurs de coupe existent déjà. L'objectif n'est pas seulement de placer des clips sous la musique ; le montage doit donner l'impression d'être écrit pour la chanson, avec des changements de sujet, des impacts, des réactions de foule et des accents visuels qui tombent sur des marqueurs musicaux significatifs.

La règle FX intégrée (non-négociable, apprise sur le terrain – 2026-07)

Les effets et les séquences ne doivent jamais être séparés. Pas d'alternance entre segments FX plein écran et plans réels plein écran – cela donne l'impression de deux vidéos collées l'une à l'autre. Chaque effet doit s'ancrer (a) sur le matte du sujet (masques de personne par image — VNGenerateForegroundInstanceMaskRequest d'Apple Vision sur macOS, ou équivalent), (b) sur la géométrie de la scène (portails dans les ciels, écrans en perspective, reflets, débordements lumineux en bordure), ou (c) sur les pixels mêmes du plan (kaleido/miroir de l'image en direct, traînées lumineuses, ondulations temporelles de l'historique des images). Les rendus procéduraux entrent dans les plans en tant qu'éléments de la scène – à travers les ciels, les écrans, les portes, les reflets – jamais en tant que segments intercalaires. Un élément non pisté avec un mode de fusion « screen » donne l'impression d'un autocollant. Lois connexes : bien paraître prime sur le respect des paramètres (restructurer plutôt que livrer un échec de cohésion) ; un seul langage d'effet par coupe, amplifié avec la structure de la chanson – des looks uniques par plan brisent la cohésion ; un étalonnage riche et assumé sur chaque plan (une retenue pure donne un rendu délavé et ennuyeux ; la formule qui fonctionne est étalonnage riche et dense + une distorsion de réalité par plan). Pour les pièces émotionnelles destinées aux réseaux sociaux, privilégiez UN plan continu avec une transformation photométrique (rampe d'étalonnage / arrivée de lumière / bloom piloté par les enveloppes de la chanson) – les coutures sont impossibles par construction.

Piège de compositing qui vous brûlera : les modes de fusion « screen » doivent être appliqués en RGB (format=gbrp) – en YUV, le noir a une chroma de 128 et le mode « screen » inonde l'image de magenta. Faites l'opacité avec une multiplication lutrgb en RGB.

Moteurs de coupe

Deux horloges, choisissez par piste :

  • Verrouillé sur les attaques (préféré pour les pistes à énergie/rétention) : librosa.onset.onset_detect(onset_envelope=onset_strength(...), hop_length=512, backtrack=False, delta=0.02, units="time") ; fusionner les attaques distantes de moins de 0,13 s en conservant la plus forte ; quantifier int(round((t-t0)*FPS)) ; forcer l'image 0 ; couper sur CHAQUE attaque restante – tenir quand c'est épars, exploser quand c'est dense ; accents en gros plan sur les attaques du quartile supérieur. Nécessite un pool profond (~60+ plans sélectionnés). Préférez ceci aux préréglages de densité.
  • Piloté par les marqueurs/priorités (moteur original de ce kit) : couper sur les marqueurs primaires/secondaires selon la table de priorités ci-dessous – toujours adapté pour les montages paysage de gameplay et les montages de densité modérée.
  • Accrochez toute grille de battements estimée aux attaques réelles détectées lorsqu'elles sont à moins de 60 ms ; pour les moments de changement de style/transformation, utilisez floor et non round afin que le changement tombe sur l'image contenant le transitoire.

Architectures de construction

  • Rendu de segment → concat → post-étalonnage (ffmpeg uniquement) : mp4 par plan avec cover-crop (scale=W:H:force_original_aspect_ratio=increase:flags=lanczos,crop=W:H, sources HDR d'abord converties en bt709, tpad=stop_mode=clone pour étendre les clips courts par gel – ne jamais raccourcir la grille musicale), concat demuxer -c copy, un filter_complex d'étalonnage global (eq=contrast=1.05:saturation=1.08, vignette, grain film via noise=alls=5:allf=t+u), audio mixé en dernier avec fondus.
  • Pipeline numpy d'images (FX intégrés pixel par pixel) : décodage ffmpeg→rawvideo rgb24→boucle numpy→encodage ffmpeg stdin à CRF 17. Le pipeline éprouvé pour les mattes : rendre un base.mp4 propre étalonné (coupe verrouillée) → générer les mattes de personne SUR la base → piloter les effets à partir d'une table d'effets par image → mixer l'audio original. La synchronisation est parfaite par construction.
  • Fusion dans le shader (GLSL moderngl) : les séquences sont décodées dans une texture et le monde procédural est rendu dans le même fragment shader, les coupes sont passées via --cuts pour qu'elles atterrissent comme des chocs warp dans le shader. Intégration la plus profonde ; voir $generated-media-sourcing pour le squelette du renderer.

Entrées

Privilégiez ces entrées :

  • Fichier audio ou fenêtre d'extrait.
  • *_cut_markers_30fps.csv provenant de $song-edit-analysis.
  • Sources de séquences ou un manifeste source avec chemins de clips, catégories, poids et notes d'utilisation.
  • Manifeste de médias générés ou dossier d'actifs générés provenant de $generated-media-sourcing, lorsque l'utilisateur demande des clips/images générés ou que les sources de séquences sont incomplètes.
  • Format souhaité : 9:16, 16:9, ou les deux.
  • Durée cible, généralement 30-40s pour des extraits de preuve sociale.

S'il n'y a pas encore de CSV de marqueurs de coupe, exécutez d'abord $song-edit-analysis.

Workflow

  1. Choisissez la fenêtre musicale avant le rendu. Utilisez l'analyse de la chanson pour sélectionner une plage 30-40s à haute énergie ou narrative cohérente.
  2. Inventoriez les séquences. Utilisez scripts/scan_video_sources.py pour noter les vidéos candidates en fonction du mouvement, de la lueur, de la luminosité, de la saturation et des heures de début prometteuses.
  3. Si les séquences réelles manquent ou si l'utilisateur demande des médias générés, utilisez $generated-media-sourcing pour créer ou planifier des clips générés et des images fixes avant le mappage final des sources.
  4. Créez une taxonomie des sources. Types courants : gameplay, crowd, real_laser, photos_festival, photos_nature, character_select, menu, reaction, product, broll, generated_video, generated_still.
  5. Construisez le plan de segments à partir des marqueurs de coupe adjacents. Ignorez les micro-segments en dessous d'environ 0.17 s, sauf si la piste nécessite réellement des coupes saccadées (stutter cuts).
  6. Adaptez l'intensité de la séquence à la priorité du marqueur :
    • Priorité 1-2 : mise en place, contexte, plans longs, mouvement doux.
    • Priorité 3 : action modérée, changements d'angle, B-roll rythmique.
    • Priorité 4 : mouvement actif, coupes rapides, réponses/réactions.
    • Priorité 5 : meilleurs impacts, révélations, KOs, réactions de foule, flashs laser.
  7. Utilisez les accents comme ponctuation, pas comme remplissage. Les lasers réels, les réactions de foule, les flashs dans la nature, les moments de menu, les plans générés et les lumières abstraites doivent amplifier les changements de phrase, les caisses claires, les remplissages et les drops.
  8. Rendez les segments, concaténez, attachez l'extrait audio propre, puis produisez :
    • vidéo finale
    • CSV de timeline
    • planche contact
    • brief JSON avec le mix des sources, le mix des types, les dimensions, la fenêtre musicale et l'intention créative
  9. Exécutez $edit-delivery-qa avant de déclarer le montage terminé.

Patrons de rendu

Pour les montages verticaux qui incluent des séquences paysage, gardez l'action principale lisible :

  • Utilisez un fond flou/amélioré en plein écran provenant du même clip.
  • Superposez le premier plan net centré avec une échelle et une position y stables.
  • Ajoutez uniquement des séparateurs subtils en haut/bas si nécessaire.
  • Évitez les recadrages verticaux serrés qui perdent la scène, la direction de lancement, les visages ou l'interface utilisateur importante.

Pour les séquences d'accent en plein écran :

  • Mettez à l'échelle/recadrez pour remplir le format de livraison.
  • Augmentez le contraste/saturation suffisamment pour une lecture rapide.
  • Gardez les accents laser/festival/réaction courts : souvent 2-12 images ou un beat.

Pour les montages paysage de gameplay :

  • Gardez l'action plein écran visible.
  • Privilégiez 1920x1080, 30 ips minimum.
  • Utilisez des coupes rapides d'un beat dans les sections à haute énergie, mais préservez la lisibilité de la source.

Règles de sélection des sources

Privilégiez l'action évidente à l'écran : impacts, collisions, pics, révélations, combos rapides, réactions expressives ou moments lumineux à fort mouvement.

Gardez les plans de réaction explosive humains pour les appels-réponses après les impacts majeurs. Ne rejetez pas automatiquement les séquences de foule uniquement ; ne rejetez que les réactions faibles, lentes ou visuellement plates.

Utilisez des séquences réelles pour les accents laser/festival finaux chaque fois que possible. Les espaces réservés générés sont acceptables pour l'exploration, mais remplacez-les avant la livraison finale si des sources réelles existent.

Rejetez ou dépriorisez fortement les cartes-titres, les interviews, les menus sans rôle délibéré, les scènes vides, les ardoises plates, les actions trop recadrées et les plans à faible mouvement dans les sections de pointe.

Les clips et images fixes générés doivent être étiquetés dans les sorties de timeline/brief avec generated_video ou generated_still, le prompt utilisé, et si l'actif est final_ok, replace_if_real_source_found, ou placeholder_only.

Heuristiques de timing

  • Utilisez les marqueurs primaires pour les coupes franches, les changements de sujet, les impacts, les révélations et les atterrissages de changements de vitesse.
  • Utilisez les marqueurs secondaires pour les coupes de continuation, les changements d'angle, les petits échanges de B-roll et les débuts de changements de vitesse.
  • Pendant les sections à haute énergie, une longueur de segment moyenne d'environ 0,35-0,50 s fonctionne bien pour un montage social dense.
  • Pour un extrait de preuve de 35 s, 70-90 segments est un bon objectif lorsque le matériel source peut le supporter.
  • Réservez les séquences les plus fortes pour la section de plus haute énergie ; n'utilisez pas tout le meilleur matériel pendant la mise en place.

Patron de vidéo musicale verticale (2026-07)

Pour la promotion musicale en 9:16 (la piste la plus récente aux côtés du patron Smash) : 1080×1920@30 toujours ; fin en boucle (l'état photométrique revient à l'image 0 sur les ~22 dernières images) ; texte d'accroche avec cinétique de deuxième ligne (ligne 1 statique à l'image 0, ligne 2 apparaissant fusionnée avec le beat à ±100 ms d'une attaque réelle entre 0,8 et 1,3 s) ; soit un conteneur de style Sweeps (toile noire, fenêtre de séquence centrée, accroche monospace au-dessus, crédit en dessous) soit un rendu cinématographique plein écran. Itérez en versions numérotées sur une infrastructure stable – changez uniquement le langage d'effet entre les versions ; lorsque le client aime un moment de 2 secondes, faites de ce moment le langage entier de la version suivante.

Patron de projet issu de Conteto Machino

La structure réutilisable du projet Smash Mash :

  • Fenêtre musicale : environ 52,98 s-88,17 s, un extrait à haute énergie de 35,19 s.
  • Montage dense piloté par les marqueurs : environ un segment par beat ou marqueur majeur.
  • L'action/le gameplay principal est dominant.
  • La foule, les lasers réels, la nature et les moments de menu/contexte source apparaissent comme une brève ponctuation.
  • Les livrables incluent des MP4 finaux, des planches contact, des CSV de timeline et des fichiers JSON de brief.

Pour le standard détaillé, lisez references/conteto-edit-standard.md.

Références optionnelles :

  • references/example-prompts.md : prompts réutilisables pour les futures tâches de montage.
  • references/file-schemas.md : formes flexibles de CSV de timeline et de JSON de brief.
  • references/render-recipes.md : recettes FFmpeg/layout adaptées de ce projet.
  • references/gui-vision.md : vision produit pour un futur workflow graphique.

Script

Utilisez scripts/scan_video_sources.py lorsque vous avez besoin d'un inventaire de séquences réutilisable :

python3 scripts/scan_video_sources.py /chemin/vers/les/videos --out /chemin/vers/inventaire_sources

Il écrit un CSV et un JSON avec la durée des médias, des scores approximatifs de mouvement/lueur et des heures de début recommandées. Utilisez la sortie pour constituer des pools de sources et éviter de couper constamment dans les mêmes moments inactifs.

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

edit-delivery-qa

Verify final video edits before delivery. Use when an agent needs to inspect a rendered MP4/MOV/WebM, confirm duration/resolution/frame rate/audio, generate or review contact sheets, analyze timeline CSVs, check cut density/source mix, check FX integration and cohesion, verify text-to-beat sync, catch weak frames or accidental placeholders, and decide whether a beat-synced social edit is ready to show.

generated-media-sourcing

Generate or plan media assets for beat-synced edits when real footage is missing or the user asks for generated visuals - AI video (Gemini/Veo/Flow), AI images, or procedural audio-reactive GPU renders (tunnels, portals, kaleidoscopes, starbursts, mandalas, title pieces via Python+moderngl GLSL). Use with beat-synced-montage-builder when a montage needs generated clips, stills, or procedural audio-reactive elements instead of, or alongside, sourced footage.

song-edit-analysis

Analyze songs and audio files for beat-synced video editing, clip timing, energy mapping, viral window selection, onset-locked cut grids, footage selection, and agent-readable edit briefs. Use when an agent needs to inspect an MP3/WAV/M4A/audio track, estimate tempo and beat grids, identify sections, produce cut markers, pick the best 15-30s window of a song for short-form video, or guide a human or another agent in choosing footage that matches musical energy.

viral-video-edits

End-to-end system for making S-tier beat-synced short-form music video edits — song analysis, viral window selection, footage sourcing with shot-level QA, hook writing, onset-locked cutting, integrated audio-reactive FX (person mattes, procedural GLSL renderers, cinematic grade), and delivery QA. Use this whenever the user asks to make a video edit, music video, reel, TikTok/Shorts/vertical video, beat-synced montage, lyric/hook video, audio-reactive visual, tunnel/portal/kaleidoscope render, or to promote a song with video content — even if they don

Skills associés