Communitygithub.com

JohnsonZhangCN/music-mv-skill

Crea un videoclip musical 2D dibujado a mano con animaciones, sincronización de letras y transiciones, usando una imagen de personaje, canción, letras LRC y un rango de tiempo.

¿Qué es music-mv-skill?

Este skill convierte los materiales del usuario (una imagen de personaje, una canción, letras LRC y un rango de tiempo) en un videoclip musical (MV) 2D dibujado a mano con actuación, sincronización de letras y transiciones, entregando un archivo MP4 reproducible. Está basado en el motor painted-animation de p5.js + p5.brush, incluye ejemplos y un empaquetado para Windows, y no depende de otras habilidades instaladas ni de APIs externas de generación de video. El skill admite plataformas como Claude Code y entornos de desarrollo donde se ejecuten scripts de Python y Node.js. El flujo de trabajo cubre la verificación de materiales, la creación de un storyboard, la generación de escenas, la corrección de vistas previas y el renderizado final del video, todo dentro del proyecto actual. El usuario puede especificar parámetros como estilo (por ejemplo, "小镇姑娘" que referencia un estilo de acuarela y tinta), modo de vista previa del storyboard, o personaje único. El skill mide automáticamente el BPM de la canción, analiza las letras, y escribe el storyboard y los archivos de escena, asegurando que cada fotograma sea una función pura del tiempo t para una animación consistente.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/JohnsonZhangCN/music-mv-skill/tree/HEAD/skills/music-mv

Preguntar en tu IA favorita

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

Documentación

Music MV

Organiza los materiales del usuario en un videoclip musical (MV) 2D dibujado a mano con actuación, sincronización de letras y transiciones, entregando un MP4 reproducible. Incluye el motor painted-animation de p5.js + p5.brush, ejemplos y un empaquetado para Windows; no depende de otra habilidad instalada ni de una API externa de generación de video.

Parámetros del usuario:

$ARGUMENTS

Análisis de la solicitud

Acepta lenguaje natural en chino o key=value. Obligatorios: imagen del personaje image, canción audio, letras lyrics, inicio start, fin end, estilo style. Las rutas con espacios deben ir entre comillas. El tiempo acepta segundos, M:SS o H:MM:SS. Si falta algún parámetro, se listan todos los faltantes de una vez; no se repite la pregunta si la información ya se tiene.

Por defecto: 1920×1080, 24fps, letras por línea, todos los personajes claramente distinguibles aparecen en pantalla, salida en un nuevo directorio dentro de outputs/music-mv del proyecto actual. Si el usuario especifica un único protagonista, sin subtítulos, o una frecuencia de imagen diferente, se respeta su petición. Para imágenes complejas de personajes, primero define una tabla de modelos y dibuja fotogramas de prueba; la imagen es una referencia de identidad y estilo, no solo para aplicar como textura o diapositiva estática.

Cuando el estilo es "小镇姑娘", lee references/styles.md y consulta assets/painted-animation/docs/xiaozhen-sheet.jpg. Este nombre indica papel de acuarela, tinta, animación con fotogramas limitados, imágenes líricas y transiciones coherentes, pero no sigue la trama de la canción original. Otros estilos se asignan a un lenguaje de pintura 2D realizable; si se solicita fotorrealismo o 3D, primero se explica el límite de este motor.

Producción

  1. Verifica los tres archivos de entrada y examina la imagen del personaje. Primero genera un plan breve: personajes, línea argumental principal, estilo visual, ubicaciones de los archivos; sigue los requisitos de aprobación existentes del proyecto. Si el usuario ya autorizó la generación completa, continúa hasta obtener el video finalizado; solo si se especifica "先看分镜" (ver storyboard primero), se detiene después del storyboard.
  2. Lee assets/painted-animation/template/ANIMATION_GUIDE.md y references/production.md. Si es necesario para la edición musical, consulta references/music-video.md; sus sugerencias de expansión por compás no pueden anular el rango de extracción exacto del usuario. Si el modo es "先看分镜", solo lee la imagen y las letras, mide el compás y escribe el storyboard; omite la instalación del motor, la creación de escenas y el renderizado, y se detiene después de entregar el storyboard.
  3. Escribe un JSON normalizado en el archivo .cache/music-mv-request.json del proyecto actual usando las herramientas de archivo. Debe asignar a output una ruta absoluta que aún no exista en el proyecto actual. Prepara los materiales y el proyecto con el script:
    python "${CLAUDE_SKILL_DIR}/scripts/prepare_mv.py" --request "<ruta absoluta del JSON de solicitud>" --install
    
    Las dependencias, caché y navegador de Windows se detallan en references/windows.md. Los scripts auxiliares solo preparan el proyecto; las escenas las creas tú.
  4. Lee el archivo mv-task.json generado y analysis/lyrics.json; confirma el BPM y el beat_offset. Si falla la detección, corrige las dependencias y mide, o usa el BPM proporcionado por el usuario; no uses valores estimados como si fueran medidos. Mantén el rango de audio especificado sin agregar introducción, cambio de velocidad o fundido de salida. Las letras LRC comunes solo proporcionan tiempos por línea; la coloración de las letras es una estimación dentro de la línea, no se puede afirmar que esté alineada palabra por palabra.
  5. Escribe el STORYBOARD.md completo: tiempo del segmento de cada toma, letras, acción, composición, transición. Crea los archivos de escena dentro de src/scenes y regístralos en studio.html; elimina las escenas de demostración. Los personajes deben tener expresiones, acciones preparatorias, cambios de centro de gravedad, acciones de seguimiento y una actuación legible. Cada fotograma debe ser una función pura del tiempo t.
  6. Usa scripts/render_mv.mjs para renderizar fotogramas representativos de cada toma, barras de acción y costuras, abre las imágenes para inspeccionar y corregir. Si no hay subtítulos, elimina la carga de karaoke.js en studio.html.
  7. Renderiza el video completo; el empaquetado validará la duración, dimensiones, frecuencia de imagen y pista de audio. Verifica el inicio, el final y todas las transiciones, luego entrega las rutas absolutas reales del MP4, storyboard y vistas previas. Después de modificar una escena, vuelve a renderizar los fotogramas afectados, evitando reutilizar fotogramas antiguos. No afirmes que la calidad está confirmada sin haber abierto las vistas previas o verificado/reproducido el video.

Orden por defecto: verificación de materiales → storyboard → creación de escenas → corrección de vistas previas → MP4. No solicites aprobación repetidamente entre pasos normales. Utiliza subagentes solo cuando el usuario lo solicite explícitamente.

Ejemplo de invocación

/music-mv 角色="D:/mv/character.png" 歌曲="D:/mv/song.mp3" 歌词="D:/mv/song.lrc" 截取="00:39-01:07" 风格="小镇姑娘"

Se puede añadir: 角色模式=仅橙色主角, 字幕=无, 模式=先看分镜. Cuando hay varios personajes claramente distinguibles en la imagen, por defecto aparecen todos y se procede hasta obtener el video final.

Fuentes y licencias en references/credits.md.

Skills relacionados