¿Qué hace RAW KINETIQ?
Canción adentro, MP4 afuera. El flujo de trabajo ya está construido; tu trabajo es ejecutarlo, revisar la sincronización como lo haría un editor y corregir lo que las máquinas hayan hecho mal. El video final debe sentirse como si cada palabra cayera exactamente cuando se canta, y las imágenes respiraran con la energía del tema.
El video se diseña alrededor de la canción, nunca la canción se fuerza en un estilo predeterminado. Lo que la canción trata, cómo se siente, su género y tempo deciden todo: los colores, las fuentes, cuántas palabras hay en pantalla, cómo llegan y se van, dónde se colocan, qué tan fuerte golpea la cámara, qué hay en el fondo y dónde van las imágenes propias del usuario. No hay ajustes preestablecidos para elegir, solo un kit de herramientas para mezclar (references/toolkit.md), y cuando la canción tiene una imagen que el kit no tiene, la construyes para esa canción. Dos canciones nunca deben verse igual, y un video debe verse como el de nadie más en YouTube. Sé creativo, toma riesgos, luego verifica tu trabajo (paso 5) para que los riesgos funcionen.
Suceden cosas en el video por lo que dicen las palabras. Un video donde solo cambian el fondo y el tipo de letra es una presentación de diapositivas. Cuando una línea sostiene algo, una mano lo sostiene; cuando nombra una boca, una boca se abre y la cámara entra; cuando dice "conozco todas las salidas", carteles de salida pasan volando. Estos momentos son dibujados por ti en código (formas SVG, animadas en Remotion; nunca un generador de imágenes), sincronizados con sus palabras (paso 4b).
Rutas: SKILL = la carpeta de esta habilidad (${CLAUDE_SKILL_DIR}), PY = el Python que setup_env.sh imprime (~/.raw-kinetiq/venv/Scripts/python.exe en Windows, ~/.raw-kinetiq/venv/bin/python en otros sistemas). Usa la herramienta Bash para los scripts .sh (Git Bash en Windows).
0. Lo que necesitas del usuario
Solo la canción es obligatoria. Obtén la canción (y las letras, si las tienen), luego haz las preguntas de diseño una vez, al principio, en una sola llamada AskUserQuestion para que el usuario pueda elegir y retirarse mientras se ejecuta el análisis. Salta cualquier pregunta que su mensaje ya haya respondido. Si dijeron "solo hazlo", o si no están, usa los valores predeterminados y di cuáles usaste.
| Pregunta (encabezado) | Opciones | Valor predeterminado |
|---|---|---|
| Formato | 16:9 (1920x1080) (Recomendado) / Vertical 9:16 para TikTok, Reels, Shorts (1080x1920) / Cuadrado (1080x1080) | 16:9 |
| Sensación | Diseñada desde la canción (Recomendado) / luego 2-3 direcciones concretas extraídas de las imágenes de esta canción, cada una en palabras simples (para una canción sobre fiebre: "Palabras temblando en neblina de calor, amarillo sudor sobre negro"). "Otro" les permite describir la vibra en sus propias palabras | diseñada desde la canción |
| Superposiciones (selección múltiple) | Nombre del artista (arriba a la izquierda) / Nombres de las secciones (abajo a la izquierda) / Temporizador + barra de progreso / BPM + contador de ritmo. Di en la pregunta que elegir ninguno da un video musical limpio | ninguno |
| Recursos | "¿Tienes imágenes que te gustaría incluir en el video (portada, fotos, un logotipo, una foto tuya)?" No, diseñarlo desde la canción (Recomendado) / Sí, las enviaré aquí / Sí, están en una carpeta | no |
Las respuestas se asignan a las banderas de new_project.sh: --size y --overlays artista,seccion,temporizador,bpm (solo las seleccionadas). Siempre 60 fps a menos que pidan lo contrario. La sensación es tuya para diseñar en el paso 2b, guiada por su respuesta.
Si tienen recursos, responde de inmediato: "Envíalos (o dime la carpeta), y una palabra sobre qué es cada uno o dónde te gustaría que vaya, si tienes preferencia." Las descripciones son opcionales: abre cada imagen con la herramienta Read y ve por ti mismo qué es. Incorpóralos en el paso 2c.
Otras entradas, que no necesitan pregunta:
| Entrada | Valor predeterminado |
|---|---|
| Letras | pegadas > etiquetas del archivo (Suno las escribe) > transcripción que tú limpias |
| Título / artista | etiquetas del archivo; si el título de la etiqueta es basura (ej. [Rec] Oct 24 ...) usa el nombre del archivo |
| Fondo | auto: las escenas siguen las secciones y tu diseño |
| Tarjeta final | título + artista sobre los últimos segundos; --no-endcard cuando no lo quieren |
1. Configuración (una vez por máquina, instantáneo después)
bash SKILL/scripts/setup_env.sh
Crea el entorno Python compartido (faster-whisper, Demucs, librosa, Pillow; compilaciones para CPU) e imprime su ruta de Python. Necesita Python 3.10+, Node 18+ y ffmpeg (con ffprobe) en PATH; si falta alguno, dile al usuario qué instalar en lugar de instalar software del sistema tú mismo. La primera ejecución descarga unos pocos GB (CPU torch ahora, los modelos Whisper y Demucs en el primer uso).
2. Analiza la canción (en caché, ejecutar en segundo plano)
Carpeta del proyecto: <carpeta de la canción>/<nombre de la canción> lyric video/ a menos que el usuario diga lo contrario. Si el usuario pegó letras, guárdalas primero como <proyecto>/work/lyrics.txt, manteniendo las etiquetas [Sección].
PY SKILL/scripts/prepare.py "<canción>" "<proyecto>/work"
Aproximadamente 8-10 minutos en CPU para una canción de 3 minutos (Demucs, luego Whisper large-v3 dos veces). Cada paso guarda su salida en caché, así que una reejecución solo hace lo que falta. Nunca elimines esas salidas para "empezar de nuevo"; para rehacer un paso, elimina solo ese archivo. Imprime:
- duración, BPM, duración del compás (
240 / BPM), energía por segundo (los drops son saltos en ella), - rangos de vocales presentes (silencios = instrumental),
- ambas transcripciones de Whisper (mezcla completa y la pista vocal aislada).
2b. Diseña el video de esta canción
Empieza desde la canción, no desde el kit de herramientas. No abras el kit todavía: un menú de movimientos prefabricados empuja cada canción hacia los mismos pocos estilos. Primero trabaja qué es esta canción, y escríbelo en <proyecto>/work/design.md:
- La canción en pocas líneas: la historia, quién habla y a quién, el lugar, la hora del día, los objetos e imágenes a los que las letras vuelven, y cómo se siente (tensa, tierna, entumecida, desafiante, juguetona, paranoica). La sensación elige el movimiento más que el género.
- El mundo en el que vive. Lee el vocabulario, no solo la historia: las palabras de la letra se agrupan en un mundo, y ese grupo dice dónde vive la canción, a menudo más que el significado cotidiano del título. Una canción llena de "veredicto", "testificar", "sentencia" vive en una corte; "ancla", "deriva", "puerto" en el mar; "saldo", "deber", "interés" en el dinero. Luego enumera cada significado del título y del estribillo, incluyendo jerga y lo que las palabras significan en juegos, películas, deportes y subculturas ("fantasma" es un espíritu, alguien que desaparece, y un término de jugador), y elige el significado que respalda el vocabulario, o fusiona dos. Escribe los candidatos y por qué elegiste uno.
- La imagen central, de ese mundo y las propias palabras de la letra, nunca del género. Una canción sobre ser observado: ventanas encendiéndose una por una. Una canción sobre quedarse sin tiempo: una mecha quemándose a lo largo del cuadro.
- Movimientos característicos: lo que las palabras mismas hacen, en los términos de esta canción. Dos o tres, cada uno en una oración: cómo llega una palabra, cómo se va, qué hace el estribillo. Provienen de la imagen central: en una canción sobre fiebre, las palabras llegan temblando en neblina de calor y se enfrían hasta quedar quietas; en una canción sobre cartas no enviadas, las palabras se escriben con tinta que sangra, luego la página las pliega. La prueba: si el mismo movimiento encajara en otra canción al azar, aún no es un movimiento característico. Hazlo lo suficientemente grande para notarlo: después de un coro, un espectador debería poder describir lo que hicieron las palabras. Un destello pequeño o un desenfoque leve por una fracción de segundo se lee como nada; deja que el movimiento ocupe espacio y tiempo en los picos, y mantenlo más sutil en las estrofas. Escribirás estos como efectos para esta canción (
video/src/custom, toolkit "Las piezas propias de la canción"). - La lista de tomas: cada sección con su escena, cámara, diseño de letras, paleta y qué movimiento usa. La imagen central evoluciona a través de ella como un cortometraje (abajo), y cada sección se enmarca de manera diferente: un nuevo tinte o unas cuantas luces más en la misma vista no es una nueva toma.
- Lo que no estás haciendo: nombra los movimientos obvios para este género y estado de ánimo que estás evitando, para no volver a caer en ellos.
- El estilo de dibujo que compartirán los momentos (paso 4b), del mundo de la canción: arte lineal de neón, papel recortado plano, tinta y aguada, líneas de plano, siluetas audaces, paneles de cómic, grabado en madera. Un estilo para toda la canción, para que los momentos parezcan una sola película.
Los datos para leer: el BPM (nota las sensaciones de medio tiempo: un ritmo trap de 140 BPM a menudo se siente como 70), densidad vocal (palabras por segundo en whisper_full.json: el rap rápido necesita ráfagas cortas; el canto lento y sostenido puede mantener frases) y energía por segundo (donde salta, el video cambia: un coro que se mueve diferente de la estrofa, un puente que rompe el patrón, un coro final más grande que el primero).
Ahora lee references/toolkit.md y construye el diseño:
- Los momentos se dibujan después de que exista la línea de tiempo (paso 4b), pero planifícalos ahora: el storyboard da forma a la lista de tomas, y una sección construida alrededor de un momento puede permanecer simple detrás.
- Las piezas propias de la canción primero. Escribe los movimientos característicos como
effects, la imagen central comolayers(y un estilo de línea comomodescuando un momento lo necesite) envideo/src/custom/index.tsx. Usa el movimiento característico donde la canción alcanza su punto máximo (al menos los coros), y mantenlo en el centro del video, no como algo único. - El kit de herramientas es el reparto de apoyo. Sus entradas, salidas, estilos de línea y capas integrados llevan las líneas intermedias y completan una escena. Muchos se hicieron para canciones anteriores (los golpes, tajos, cortes y fallos para un tema phonk, cánticos cortados por la mitad, el túnel), y recurrir a ellos por defecto es exactamente lo que hace que dos videos se parezcan. Usa uno integrado solo cuando encaje honestamente con la imagen de esta canción, y escribe por qué en
design.md. - Paleta: colores del mundo de la canción o de las imágenes del usuario, con cambios por sección. Escríbelos todos; no empieces desde un tema.
- Tipo: cualquier Google Font para
displayy unaaltcontrastante, elegida por la voz de esta canción. - Cámara, energía y reacción: un movimiento por sección, qué tan fuerte golpea la cámara, y si los visuales pulsan con el ritmo o con la voz.
- Recursos: dónde va cada imagen del usuario y cómo el texto le hace espacio (2c).
Un video es una secuencia de tomas, nunca una imagen con palabras encima. Una idea central está bien, un cuadro sin cambios no lo está. Planifica la canción como un cortometraje, sección por sección: qué ve el espectador en la introducción, cómo la primera estrofa lo enmarca, qué se abre en el coro, qué se rompe en el puente, cómo se resuelve. La imagen central debe evolucionar: cambia la escala, el ángulo o el movimiento de cámara, la hora del día, la paleta, qué hay en el cuadro. Una capa personalizada recibe la sección y su progreso, para que pueda mostrar cosas diferentes en diferentes secciones. Cada coro debe verse claramente diferente de su estrofa, y el último coro más grande que el primero. Si dos secciones vecinas comparten escena, cámara, diseño y paleta, cambia una.
Cambia el encuadre, no solo los colores. Cuando una capa personalizada lleva la canción, dale tomas reales: una posición de cámara diferente (desde arriba, desde dentro, a nivel del suelo, cerca de un detalle), una escala diferente, un sujeto diferente en el cuadro. Re-teñir la misma vista, o agregarle luces, aún se lee como una sola toma, y la comprobación marca un encuadre que ocupa demasiado de la canción (one-shot).
Coloca las palabras con la imagen. Dónde se sientan las letras es parte del diseño: en la superficie que muestra la escena, en la ventana, junto al sujeto, moviéndose a un nuevo lugar con cada ráfaga cuando la música se mueve. Una sección completa de ráfagas exactamente en el mismo lugar es un subtítulo. El hook burst de un efecto puede mover una ráfaga a cualquier lugar (su transform).
Lento no es estático. Una canción suave, lenta o susurrada se mueve lentamente pero nunca se detiene: la cámara se desvía o empuja, la luz crece con la voz ("react": "voice", el valor predeterminado para canciones suaves), las escenas cambian en cada sección. Mantén la sensación (tierno sigue siendo tierno) y aun así haz que cada sección sea una nueva imagen. Dale espacio a las letras lentas para ser grandes: menos palabras a la vez, grandes, colocadas con intención, no un subtítulo pequeño en la misma línea toda la canción.
Sé audaz: toma prestado entre géneros (una canción soul con tipografía brutalista, un tema drill con serifa) y toma riesgos; la autocomprobación (paso 5) atrapa lo que no funciona. También marca un video sin design.md (no-design), coros que solo usan movimientos integrados (no-signature), movimientos integrados tomados de canciones anteriores (borrowed), y un fondo hecho solo de capas integradas (stock-world).
Dile al usuario el diseño en dos o tres oraciones simples ("una canción sobre ser observado, así que las palabras se sientan frente a un edificio de noche cuyas ventanas se encienden una por una; cada palabra se enciende como una ventana mientras se canta, y el coro oscurece la calle hasta convertirla en una habitación iluminada").
Luego configura el proyecto de video (reutiliza uno existente):
bash SKILL/scripts/new_project.sh "<canción>" "<proyecto>" --size 1920x1080 --fps 60 [--overlays artista,temporizador] [--no-endcard]
y escribe el diseño en video/src/data/config.json (colores, fuentes, movimiento, escenas, recursos). Volver a ejecutar new_project.sh conserva todo lo que pusiste allí. Para un proyecto hecho con una versión anterior de esta habilidad, agrega --update: intercambia el código de plantilla actual y conserva los datos de la canción, sus piezas personalizadas y sus recursos.
2c. Las imágenes del usuario
PY SKILL/scripts/assets.py "<proyecto>" <archivos de imagen o carpeta> [--cutout nombre1,nombre2 [--person]]
Las copia en el proyecto (verticales, tamaño razonable), imprime la forma, el brillo y los colores principales de cada una, y escribe video/public/assets/sheet.png. Mira la hoja. Recorta los sujetos que deben estar en el cuadro sin su fondo (--cutout; agrega --person cuando sea una persona, o el modelo puede mantener solo una mano o un rostro). Revisa cada recorte en la hoja; si los bordes están mal, prueba el otro modelo, o usa la imagen como fondo o póster en su lugar.
Usa lo que el usuario dijo sobre cada imagen; cuando no dijo nada, decide por lo que ves. Colócalas donde la canción las necesita (toolkit, "Recursos"): un retrato recortado junto a las estrofas, la portada como fondo para el coro, una foto de paisaje como toda la escena de una sección.
3. Sincronización
Cuando el análisis esté hecho, sincroniza las letras:
PY SKILL/scripts/timing.py "<proyecto>"
Alinea cada línea de la letra con su audio (la transcripción de Whisper de la pista vocal aislada es más precisa). Escribe work/timing.json con marcas de tiempo por palabra; ahora el proyecto de video sabe cuándo llega cada palabra.
4. Renderizado
cd "<proyecto>/video"
npm run build
Usa Remotion. El directorio de salida es out/.
5. Autocomprobación
Después del renderizado, revisa el video automáticamente:
PY SKILL/scripts/check.py "<proyecto>"
Marca problemas: sincronización incorrecta, diseño faltante, movimientos prestados, fondos genéricos. Si algo falla, vuelve al paso correspondiente y corrígelo.
6. Entrega
El video final está en <proyecto>/video/out/<nombre>.mp4. Ofrece subirlo o compartirlo según prefiera el usuario.