Communitygithub.com

Constructor de Montajes Sincronizados al Ritmo

Construye montajes de video sociales sincronizados al ritmo a partir de análisis de canciones y metraje fuente. Úsalo cuando un agente necesite ensamblar, planificar o revisar una edición sincronizada con la música; mapear metraje a beats/ataques/marcadores de corte; crear líneas de tiempo de montaje vertical u horizontal; integrar efectos reactivos al audio en tomas; mezclar metraje de gameplay, multitudes, conciertos, naturaleza, menús u otros metraje de acento; generar CSVs de línea de tiempo, hojas de contacto y briefs de edición; o adaptar el flujo de trabajo Conteto Machino / Smash Mash para otra canción o biblioteca de metraje.

¿Qué es Constructor de Montajes Sincronizados al Ritmo?

Esta habilidad está diseñada para ensamblar montajes de video sociales cortos (típicamente 30-40 segundos) que estén sincronizados con el ritmo de una canción. Utiliza datos de análisis de canciones (como `$song-edit-analysis`) o archivos CSV de marcadores de corte para alinear los cortes de video con los beats y eventos musicales. El objetivo es crear una edición que se sienta autorada para la canción, con cambios de sujeto, impactos, reacciones del público y acentos visuales que aterricen en marcadores musicales significativos. La habilidad impone reglas estrictas de integración de efectos: los efectos y el metraje nunca deben estar separados. Cada efecto debe anclarse a la máscara del sujeto (máscaras de persona por fotograma), a la geometría de la escena (como portales en cielos o pantallas con pin de esquina) o a los propios píxeles de la toma (como caleidoscopios o espejos del fotograma en vivo). Los renders procedimentales ingresan a las tomas como elementos en escena (a través de cielos, pantallas, puertas, reflejos), nunca como segmentos independientes. Se admiten múltiples motores de corte y arquitecturas de construcción. La habilidad incluye flujos de trabajo detallados para inventariar metraje, crear taxonomías de fuentes, emparejar la intensidad del metraje con la prioridad del marcador, y renderizar segmentos. También maneja casos especiales como ediciones verticales con metraje horizontal, patrones de video musical vertical y el patrón de proyecto probado del flujo de trabajo Conteto Machino / Smash Mash. Los entregables incluyen el video final, CSV de línea de tiempo, hoja de contacto y un archivo JSON de brief con la mezcla de fuentes, dimensiones y la intención creativa.

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

¿Qué hace Constructor de Montajes Sincronizados al Ritmo?

Resumen

Usa esta habilidad después de que una canción haya sido analizada con $song-edit-analysis, o cuando ya existan datos de beats/marcadores de corte equivalentes. El objetivo no es solo renderizar clips bajo la música; la edición debe sentirse autorada para la canción, con cambios de sujeto, impactos, reacciones del público y acentos visuales que aterricen en marcadores musicales significativos.

La Regla Integrada de FX (no negociable, aprendida en campo 2026-07)

Los efectos y el metraje nunca deben estar separados. Sin alternancia de beats entre segmentos de FX de fotograma completo y clips reales de fotograma completo — se lee como dos videos empalmados. Cada efecto debe anclarse a (a) la máscara del sujeto (máscaras de persona por fotograma — VNGenerateForegroundInstanceMaskRequest de Apple Vision en macOS, o equivalente), (b) la geometría de la escena (portales en cielos, pantallas con pin de esquina, reflejos en agua, sangrado de luz envuelto en bordes), o (c) los propios píxeles de la toma (caleidoscopio/espejo del fotograma en vivo, manchas de resaltes, ondas temporales del historial del fotograma). Los renders procedimentales ingresan a las tomas como elementos en escena — a través de cielos, pantallas, puertas, reflejos — nunca como segmentos de corte. Un elemento sin seguimiento con mezcla de pantalla se lee como una pegatina. Leyes relacionadas: verse bien supera a seguir parámetros (reestructurar en lugar de enviar una falla de cohesión); un lenguaje de efecto por corte, escalado con la estructura de la canción — looks únicos por toma rompen la cohesión; una gradación rica y comprometida sobre cada toma (la pura moderación se ve lavada y aburrida; la fórmula de trabajo es gradación densa y rica + una distorsión de realidad dura por toma). Para piezas de carril emocional para compartir, prefiere UNA toma continua con una transformación fotométrica (rampa de gradación / llegada de luz / bloom impulsado por los envelopes de la canción) — las costuras son imposibles por construcción.

Peligro de composición que te quemará: las mezclas de pantalla deben ejecutarse en RGB (format=gbrp) — en YUV, el negro tiene croma 128 y la mezcla de pantalla inunda el fotograma de magenta. Haz la opacidad como una multiplicación lutrgb en RGB.

Motores de Corte

Dos relojes, elige por carril:

  • Bloqueado por ataques (preferido para carriles de energía/retención): librosa.onset.onset_detect(onset_envelope=onset_strength(...), hop_length=512, backtrack=False, delta=0.02, units="time"); fusiona ataques más cercanos que 0.13s manteniendo el más fuerte; cuantiza int(round((t-t0)*FPS)); fuerza el fotograma 0; corta en CADA ataque superviviente — mantén cuando escaso, ráfaga cuando ocupado; acentos de golpe en ataques de intensidad del cuartil superior. Necesita un grupo profundo (~60+ tomas recortadas). Prefiere esto sobre los ajustes preestablecidos de densidad.
  • Impulsado por marcadores/prioridad (el motor original de este kit): corta en marcadores primarios/secundarios según la tabla de prioridad a continuación — sigue siendo adecuado para cortes de prueba de gameplay horizontal y ediciones de densidad moderada.
  • Ajusta cualquier cuadrícula de beat estimada a los ataques reales detectados cuando esté dentro de 60ms; para momentos de cambio de estilo/transformación usa floor en lugar de round para que el cambio caiga en el fotograma que contiene el transitorio.

Arquitecturas de Construcción

  • Segmento-render → concat → post-grafo (solo ffmpeg): mp4s por toma con recorte de cubierta (scale=W:H:force_original_aspect_ratio=increase:flags=lanczos,crop=W:H, fuentes HDR mapeadas a bt709 primero, tpad=stop_mode=clone para extender congelando clips cortos — nunca acortar la cuadrícula de música), concat demuxer -c copy, un filter_complex de gradación base (eq=contrast=1.05:saturation=1.08, viñeta, grano de película vía noise=alls=5:allf=t+u), audio multiplexado al último con fundidos.
  • Frame-pipe numpy (FX integrados por píxel): decodifica ffmpeg→rawvideo rgb24→bucle numpy→codifica ffmpeg stdin a CRF 17. La tubería de máscara probada: renderiza un base.mp4 limpio y gradado (corte bloqueado) → genera máscaras de persona SOBRE el base → impulsa efectos desde una tabla de efectos por fotograma → multiplexa el audio original. La sincronía es perfecta por construcción.
  • Fusión en shader (moderngl GLSL): el metraje se decodifica en una textura y el mundo procedural se renderiza en el mismo shader de fragmento, los cortes se pasan como --cuts para que aterricen como golpes de deformación en el shader. La integración más profunda; consulta $generated-media-sourcing para el esqueleto del renderizador.

Entradas

Prefiere estas entradas:

  • Archivo de audio o una ventana de extracto.
  • *_cut_markers_30fps.csv de $song-edit-analysis.
  • Fuentes de metraje o un manifiesto de fuentes con rutas de clips, categorías, pesos y notas de uso.
  • Manifiesto de medios generados o carpeta de activos generados de $generated-media-sourcing, cuando el usuario solicite clips/imágenes generados o el metraje fuente esté incompleto.
  • Formato deseado: 9:16, 16:9, o ambos.
  • Duración objetivo, usualmente 30-40s para cortes de prueba sociales.

Si no hay un CSV de marcadores de corte, primero ejecuta $song-edit-analysis.

Flujo de Trabajo

  1. Elige la ventana musical antes de renderizar. Usa el análisis de la canción para seleccionar un tramo de 30-40s de alta energía o narrativamente coherente.
  2. Inventario de metraje. Usa scripts/scan_video_sources.py para puntuar videos candidatos por movimiento, brillo, luminosidad, saturación y tiempos de inicio prometedores.
  3. Si falta metraje real o el usuario solicita medios generados, usa $generated-media-sourcing para crear o planificar clips generados y placas fijas antes del mapeo final de fuentes.
  4. Crea una taxonomía de fuentes. Tipos comunes: gameplay, crowd, real_laser, photos_festival, photos_nature, character_select, menu, reaction, product, broll, generated_video, generated_still.
  5. Construye el plan de segmentos a partir de marcadores de corte adyacentes. Omite micro-segmentos por debajo de aproximadamente 0.17s a menos que la pista realmente requiera cortes de tartamudeo.
  6. Empareja la intensidad del metraje con la prioridad del marcador:
    • Prioridad 1-2: configuración, contexto, planos mantenidos, movimiento suave.
    • Prioridad 3: acción media, cambios de ángulo, metraje de relleno rítmico.
    • Prioridad 4: movimiento activo, cortes rápidos, respuestas de reacción.
    • Prioridad 5: mejores impactos, revelaciones, KOs, golpes de multitud, destellos de láser.
  7. Usa acentos como puntuación, no como relleno. Láseres reales, estallidos de multitud, destellos de naturaleza, momentos de menú, placas generadas y luces abstractas deben amplificar giros de frase, cajas, rellenos y caídas.
  8. Renderiza segmentos, concatena, adjunta el extracto de audio limpio, luego genera:
    • video final
    • CSV de línea de tiempo
    • hoja de contacto
    • JSON de brief con mezcla de fuentes, mezcla de tipos, dimensiones, ventana de canción e intención creativa
  9. Ejecuta $edit-delivery-qa antes de dar la edición por terminada.

Patrones de Renderizado

Para ediciones verticales que incluyen metraje horizontal, mantén la acción principal legible:

  • Usa un fondo desenfocado/mejorado a sangre del mismo clip.
  • Superpón el primer plano nítido centrado con escala y posición y estables.
  • Añade solo separadores sutiles arriba/abajo si es necesario.
  • Evita recortes verticales ajustados que pierdan el escenario, la dirección de lanzamiento, las caras o la interfaz de usuario importante.

Para metraje de acento a sangre:

  • Escala/recorta para llenar el formato de entrega.
  • Aumenta el contraste/saturación lo suficiente para que se lea rápidamente.
  • Mantén los acentos de láser/festival/reacción cortos: a menudo 2-12 fotogramas o un beat.

Para ediciones de gameplay horizontal:

  • Mantén la acción de fotograma completo visible.
  • Prefiere 1920x1080, 30fps como mínimo.
  • Usa cortes rápidos de un beat en secciones de alta energía, pero preserva la legibilidad de la fuente.

Reglas de Selección de Fuentes

Prefiere la acción obvia en pantalla: impactos, colisiones, picos, revelaciones, cadenas de combos rápidas, reacciones expresivas o momentos de luz de alto movimiento.

Mantén las tomas de reacción humana explosivas para llamada y respuesta después de impactos importantes. No rechaces automáticamente el metraje solo de multitud; rechaza solo reacciones débiles, lentas o visualmente planas.

Usa metraje real para acentos finales de láser/festival siempre que sea posible. Los marcadores de posición generados son aceptables para exploración, pero reemplázalos antes de la entrega final si existen fuentes reales.

Rechaza o desprioriza fuertemente tarjetas de título, entrevistas, menús sin un papel deliberado, escenarios vacíos, pizarras planas, acción recortada en exceso y configuración de bajo movimiento en secciones pico.

Los clips e imágenes generados deben etiquetarse en los resultados de línea de tiempo/brief con generated_video o generated_still, el prompt utilizado, y si el activo es final_ok, replace_if_real_source_found o placeholder_only.

Heurísticas de Temporización

  • Usa marcadores primarios para cortes duros, cambios de sujeto, impactos, revelaciones y aterrizajes de rampa de velocidad.
  • Usa marcadores secundarios para cortes de continuación, cambios de ángulo, pequeños intercambios de metraje de relleno e inicios de rampa de velocidad.
  • Durante secciones de alta energía, una longitud de segmento promedio de alrededor 0.35-0.50s funciona bien para un montaje social denso.
  • Para un corte de prueba de 35s, 70-90 segmentos es un objetivo sólido cuando el material fuente puede soportarlo.
  • Reserva el metraje más fuerte para la sección de mayor energía; no gastes todo el material pico durante la configuración.

Patrón de Video Musical Vertical (2026-07)

Para promoción musical 9:16 (el carril más nuevo junto al patrón Smash): 1080×1920@30 siempre; final de bucle sin costura (el estado fotométrico regresa al fotograma 0 durante los últimos ~22 fotogramas); texto de gancho con cinética de caída de segunda línea (línea 1 estática en el fotograma 0, línea 2 apareciendo fusionada con el beat dentro de ±100ms de un ataque real en 0.8-1.3s); ya sea un contenedor estilo Sweeps (lienzo negro, ventana de metraje centrada, gancho monoespaciado arriba, crédito abajo) o cinematográfico a sangre. Itera como versiones numeradas en infraestructura estable — cambia solo el lenguaje de efecto entre versiones; cuando al cliente le encanta un momento de 2 segundos, haz que ese momento sea el lenguaje completo de la siguiente versión.

Patrón de Proyecto De Conteto Machino

La forma reutilizable del proyecto Smash Mash:

  • Ventana de canción: aproximadamente 52.98s-88.17s, un extracto de alta energía de 35.19s.
  • Edición densa impulsada por marcadores: aproximadamente un segmento por beat o marcador principal.
  • El gameplay/acción principal es dominante.
  • Las multitudes, los láseres reales, la naturaleza y los momentos de menú/contexto de fuente aparecen como puntuación breve.
  • Los entregables incluyen MP4s finales, hojas de contacto, CSVs de línea de tiempo y archivos JSON de brief.

Para el estándar detallado, lee references/conteto-edit-standard.md.

Referencias opcionales:

  • references/example-prompts.md: prompts reutilizables para futuras tareas de edición.
  • references/file-schemas.md: formas flexibles de CSV de línea de tiempo y JSON de brief.
  • references/render-recipes.md: recetas de FFmpeg/diseño adaptadas de este proyecto.
  • references/gui-vision.md: visión de producto para un futuro flujo de trabajo gráfico.

Script

Usa scripts/scan_video_sources.py cuando necesites un inventario de metraje reutilizable:

python3 scripts/scan_video_sources.py /ruta/a/videos --out /ruta/a/inventario_fuentes

Escribe un CSV y JSON con duración de medios, puntuaciones gruesas de movimiento/brillo y tiempos de inicio recomendados. Usa la salida para construir grupos de fuentes y evitar cortar repetidamente de los mismos momentos muertos.

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 relacionados