Communitygithub.com

video-workbench

Crea o edita videos locales con Remotion y HyperFrames. Convierte audio y letras sin marca de tiempo (MD/TXT) o subtítulos cronometrados en un videoclip lírico verificado, usando el estilo de progreso continuo con recorte por glifos. También admite el flujo de trabajo general de video integrado.

¿Qué es video-workbench?

Esta habilidad unifica Remotion e HyperFrames en un único espacio de trabajo local para la creación y edición de videos. Está diseñada para productores musicales, creadores de contenido y desarrolladores que necesitan generar videos musicales con letras sincronizadas, ya sea a partir de archivos de audio y letras sin temporizar (MD/TXT) o subtítulos con marcas de tiempo (SRT, LRC, VTT). El flujo de trabajo principal implica alinear automáticamente las letras con el audio, compilar los subtítulos en el formato visual definido (Barlow Black, color crema, alineación derecha, con un efecto de 'cinta transportadora' de desplazamiento continuo) y renderizar el video final. La habilidad maneja estrictamente el estilo de progreso de letras: las líneas antiguas desaparecen gradualmente mediante un recorte espacial, mientras que una barra naranja semitransparente (hex #E85D26) revela el texto sincronizado. Incluye scripts locales para la alineación (usando Faster Whisper), compilación y renderizado, y se basa en FFmpeg y Node.js. La habilidad también gestiona el control de versiones, manteniendo solo las últimas tres versiones de exportación de cada proyecto, y prioriza la reutilización de capas de video ya verificadas para acelerar las ediciones. Funciona con Remotion (React) e HyperFrames (HTML/JavaScript), y utiliza un manifiesto puente (bridge-manifest.json) para la interoperabilidad de medios entre ambos motores. Es importante destacar que la habilidad no incluye créditos en la nube, modelos de IA generativa para video ni licencias de contenido; todo el procesamiento es local y bajo la autorización del usuario.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/eksinge/video-workbench/tree/HEAD/skills/video-workbench

Preguntar en tu IA favorita

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

Documentación

Video Workbench

Esta es la Skill unificada de entrada para Remotion + HyperFrames. Conserva el motor oficial y las Skills oficiales, integrando el espacio de trabajo local, material, vista previa y renderizado. Los botones web ejecutan el programa local directamente; es la IA en el chat la que lee esta Skill para luego operar las herramientas, la web no lee ni ejecuta la Skill automáticamente.

Entrada de audio y subtítulos para producción directa

Cuando el usuario proporciona una canción y archivos MD/TXT/SRT/LRC/VTT, primero lee el flujo de trabajo de videoclip lírico y las especificaciones de estilo de subtítulos actuales. Si solo hay audio y faltan las letras, no se autocompletan las letras de la canción; se continúa con el análisis de imagen/audio y luego se solicitan las letras faltantes.

  • MD/TXT: cada salto de línea físico no vacío es una línea, se conserva el texto y el orden línea por línea, no se pueden fusionar por comas ni dividir frases automáticamente. La nota musical ♪ también es texto.
  • Cuando MD no tiene marcas de tiempo, la IA alinea y verifica según el audio real. Los archivos con marcas de tiempo proporcionados simultáneamente y las letras incrustadas en el audio solo sirven como referencia de sincronización; el archivo de división de frases especificado por el usuario es la base textual. No se puede distribuir el tiempo de canto de manera uniforme por número de palabras.
  • Las nuevas imágenes del videoclip aún se realizan según las rutas de Remotion / HyperFrames a continuación; los subtítulos usan estrictamente el estilo final actual por defecto. Las primeras implementaciones de desaparición de una sola línea, fusión de dos líneas, desplazamiento escalonado de 0.42 segundos y el rectángulo naranja grande visible han sido reemplazadas.
  • Subtítulos por defecto: coordenadas 1920×1080, Barlow Black 42, color crema #F0ECE5, alineación derecha x=1830, interlineado 40px, fondo transparente, sin sombra ni borde. El desplazamiento de tiempo general por defecto es 0 segundos, ajustable según el audio real y la retroalimentación del usuario, aplicado solo una vez. El adelanto previo de 0.6 segundos pertenece solo al proyecto de canción de referencia y no debe aplicarse a otras canciones o usuarios.
  • Toda la estrofa de letras se mueve hacia arriba como una cinta transportadora rígida y continua; la velocidad se ajusta según la duración real de cada línea cantada, con pausas cortas continuas para respirar y pausas evidentes cuando no hay palabras. Las líneas antiguas se conservan; la línea naranja revela gradualmente y la línea blanca elimina gradualmente, usando recorte espacial en lugar de desvanecimiento.
  • El área de progreso naranja original solo se muestra dentro de los glifos de las letras y notas musicales; los agujeros de caracteres, espacios entre líneas y fuera de los caracteres son transparentes. Se conserva #E85D26, superposición al 50% y la lógica de progreso que crece de abajo hacia arriba. Los seis patrones de referencia y todas las nuevas imágenes agregadas en el futuro se encuentran debajo de la capa de letras.
  • El contenido, la duración total, el ritmo y las imágenes de las nuevas canciones están determinados por el material real; no se codifican rígidamente las 62 líneas, los puntos de corte de 130 segundos o los seis patrones de la canción anterior como requisitos para todos los proyectos. El progreso de la canción de referencia es exactamente de 240 segundos; las nuevas canciones se llenan por defecto según la duración real total, aunque se puede fijar explícitamente en 240 segundos.

Herramientas reutilizables (rutas relativas a esta Skill):

  1. scripts/align_lyrics.py: Audio local + letras sin marcas de tiempo + referencia de marcas de tiempo opcional → propuesta de sincronización original y marcas de verificación; no convierte automáticamente la propuesta en resultado verificado.
  2. scripts/compile_lyrics.py: JSON de tiempo línea por línea verificado → ASS, SRT, estado de la cinta transportadora y registro de medición de glifos en el estilo actual.
  3. scripts/render_video.py: Imágenes del motor local + pista de audio + resultado compilado → video final verificado, que se puede registrar y conservar solo las tres versiones más recientes de ese proyecto.

Los parámetros y formatos de archivo se encuentran en interfaz de scripts. Depende de FFmpeg local; la alineación local también requiere Faster Whisper y un modelo existente. La Skill no incluye modelos, FFmpeg o el tiempo de ejecución de Node, y no representa que se hayan obtenido créditos de generación en la nube.

Modificar proyectos existentes y conservar tres versiones

Primero, confirme el archivo real que el usuario está reproduciendo y la versión más reciente. Solo modifique los proyectos y parámetros solicitados explícitamente; conserve las imágenes originales, pistas de audio, ritmo de cámara y estilos existentes, a menos que esta vez se solicite explícitamente cambiarlos. La edición de subtítulos prioriza la recomposición de la capa de subtítulos independiente, reutilizando la capa de imagen de fondo ya verificada, sin redibujar toda la animación.

Cuando el usuario solicite "adelantar 0.2 segundos más", se suma al desplazamiento acumulado actual, no se vuelve a la versión original ni se aplica el desplazamiento predeterminado nuevamente. Los límites izquierdo y derecho usan x, la altura superior e inferior usan y; si el usuario se equivoca de eje pero la intención geométrica es clara, se explica y se ejecuta según la dirección real. El texto cambia y con el desplazamiento, no se afirma que tenga una y fija única.

Cada proyecto solo conserva las tres versiones más recientes: la última, la anterior y la anterior a esa, de las exportaciones de video terminadas. Después de que la nueva versión se genere, decodifique y pase la verificación de contenido, se limpian las exportaciones más antiguas de ese proyecto y las vistas previas obsoletas correspondientes; se conservan el material original, las fuentes de subtítulos, el proyecto y las pruebas de alineación. Si la exportación a eliminar aún es dependencia del proyecto, primero se reclasifica como material y se corrigen las referencias. Se conserva según el orden de registro de exportaciones, no se permite eliminar arbitrariamente otros proyectos según la hora de modificación de toda la carpeta. Los detalles se encuentran en flujo de trabajo de videoclip lírico.

Los requisitos relacionados con esta conversación y las versiones reemplazadas se encuentran en registro de requisitos del usuario, para comprender la relación de herencia, no se debe reactivar parámetros que han sido reemplazados.

Resolver el proyecto existente primero

Lea espacio de trabajo local.md para conocer el espacio de trabajo instalado y los comandos. Abra la fuente actual del usuario antes de editar, porque Studio y otras sesiones pueden guardar cambios independientemente.

  • Fuente existente de Remotion/React: conserve Remotion y lea ../remotion-best-practices/SKILL.md además de la skill de dominio correspondiente.
  • Fuente existente de HyperFrames HTML: conserve HyperFrames, lea ../hyperframes/SKILL.md y la skill de dominio correspondiente.
  • Video nuevo de música/letras/sincronizado con ritmo: prefiera HyperFrames con ../music-to-video/SKILL.md, a menos que el usuario elija Remotion.
  • Animación de datos impulsada por React nueva, componente de video React reutilizable o aplicación Remotion: use Remotion.
  • Para otro trabajo nuevo, elija según la salida solicitada usando capacidades.md. Siga una elección explícita del motor.
  • La migración de código fuente es separada de la reutilización de medios. Use remotion-to-hyperframes solo para una solicitud explícita de portar el código fuente. No prometa un viaje de ida y vuelta automático entre los formatos de código fuente.

Conectar los motores a través de los medios

Use un brief compartido, storyboard, tiempos de compás/frase, marcas de tiempo de subtítulos y medios locales. Mantenga los archivos fuente editables en su marco de trabajo nativo. Intercambie MP4/WebM/MOV, secuencias de imágenes, WAV, imágenes y JSON/SRT de subtítulos según corresponda. Copie o prepare los medios fuente; no reemplace los originales del usuario.

La demostración verificada local renderiza el proyecto de Remotion a MP4, prepara ese archivo con su SHA-256 en bridge-manifest.json, y lo coloca en una línea de tiempo de HyperFrames. Es un ejemplo de interoperabilidad de medios, no un convertidor de código fuente.

Mantenga los relojes separados: Remotion usa useCurrentFrame() y sus APIs React deterministas; HyperFrames usa el tiempo de ejecución buscable y la línea de tiempo descrita por hyperframes-core. Lea las reglas del motor activo antes de crear contenido; no transfiera ciegamente restricciones o sintaxis específicas del motor.

Usar la biblioteca completa de skills progresivamente

La configuración del repositorio instala las 33 skills oficiales fijadas y sus archivos de soporte; verifique su presencia antes de afirmar que están listas. Consulte el mapa de capacidades, luego lea la skill seleccionada y sus referencias relevantes completas. El índice no es un sustituto de las instrucciones detalladas del flujo de trabajo. Evite cargar flujos de trabajo no relacionados en una edición limitada.

Para trabajo de videoclips, establezca la fuente de música y el estilo visual deseado. Analice la pista real antes de elegir cortes. Prefiera frases y energía en música tranquila, y anclajes de ritmo en música genuinamente rítmica. Verifique la sincronización vocal antes de presentar las letras como sincronizadas. Ofrezca un extracto representativo corto cuando el estilo no esté decidido.

Verificar el resultado real

Ejecute las comprobaciones del motor seleccionado; inspeccione los fotogramas que contienen video importado y confirme el audio en el archivo exportado. Una instalación funcional de la skill, un informe de diagnóstico exitoso, un renderizado exitoso y la aprobación del usuario del resultado visual son afirmaciones diferentes. Informe solo el estado realmente verificado.

Las skills instaladas no proporcionan credenciales, créditos en la nube, modelos de generación de video o activos fuente. Use los servicios autorizados del usuario cuando sea necesario. Instalar estas skills no autoriza publicación, cargas en la nube, retroalimentación externa, mensajes o generación paga; siga las instrucciones del usuario y las reglas de autorización del anfitrión. Mantenga el entorno local de la integración con telemetría deshabilitada cuando use sus envoltorios.

Skills relacionados