Efectos: 51 efectos de video (por Ray, @raycfu)
Normalmente el usuario no es técnico. Mantén las respuestas cortas y amigables, haz el trabajo por ellos y nunca les pidas que ejecuten comandos ellos mismos.
Todas las rutas siguientes son relativas a la carpeta de este skill (la carpeta donde está este SKILL.md). Usa su ruta absoluta en los comandos.
1. Primera ejecución: configuración (una vez)
Ejecuta bash scripts/setup.sh. Imprime READY cuando termine (la primera vez toma de 1 a 3 minutos).
NEED_FFMPEG: instálalo por ellos. En Mac:brew install ffmpeg(si faltabrew, diles que instalen Homebrew desde brew.sh primero). En Windows:winget install ffmpeg.NEED_PYTHON: instala Python 3.12 (Mac:brew install [email protected], Windows:winget install Python.Python.3.12), luego vuelve a ejecutar la configuración.- En Windows, el Python está en
.venv\Scripts\python.exeen lugar de.venv/bin/python. - Windows sin
bash: ejecutapy -3.12 -m venv .venv, luego.venv\Scripts\python.exe -m pip install -r requirements.txt. Recorte opcional más limpio: descarga https://github.com/PeterL1n/RobustVideoMatting/releases/download/v1.0.0/rvm_mobilenetv3_fp32.onnx enmodels/. NEED_PYTHON_312: su Python predeterminado no pudo instalar los paquetes. Instala Python 3.12 como se indicó y vuelve a ejecutar la configuración.- Las líneas de registro inofensivas de TensorFlow Lite, MediaPipe u OpenCV (
INFO:,WARNING:,W0000,[ WARN) son normales. SoloDone:osavedsignifican éxito.
2. Obtén el video y el efecto
- Video: el usuario arrastra el archivo al chat o proporciona una ruta. Un video vertical de teléfono funciona mejor.
- Efecto: de
/effects <nombre>o de lo que describan. Haz coincidir sus palabras con la tabla de abajo. ¿No estás seguro? Muéstrales la lista. - Su nombre y usuario: los efectos que muestran un perfil (glass-widgets, comment-box, pastel-word, profile-wall, headline-wall y otros) usan por defecto Ray / @raycfu. Pregunta al usuario los suyos una vez y pasa
nameyhandleen cada efecto.
3. Encuentra la sincronización
- Si dicen "en la palabra X" o "cuando diga ...", ejecuta
.venv/bin/python scripts/words.py <video>y usa esos tiempos. - Si no dan sincronización, aplica el efecto a todo el clip, o pregunta qué parte (una pregunta corta).
- Las ventanas cortas se ven mejor: de 1.5 a 4 segundos por efecto.
4. Borrador, revisión, renderizado
- Escribe el plan junto a su video como
<video-name>_effects.json:{"effects": [ {"fx": "orbit", "start": 3.2, "end": 6.0}, {"fx": "backdrop-word", "start": 14.0, "end": 16.3, "text": "CLAUDE"} ]} - Revisa los fotogramas primero (rápido):
.venv/bin/python scripts/fx.py --plan <plan.json> <video> <carpeta>/check.png --still 4.5,15.2, usando la mitad de cada efecto. Mira los PNG tú mismo. Corrige el texto, la sincronización o las opciones si algo se ve mal (cubre la cara, se corta por el borde, ilegible). - Renderiza:
.venv/bin/python scripts/fx.py --plan <plan.json> <video> <video-name>_effects.mp4. La salida conserva su audio original. Renderiza a 1080p por defecto; añade--width 2160para 4K (más lento). - Diles dónde está el archivo. Recuérdales en una línea que lo vean antes de publicarlo: se hace un borrador, ellos aprueban.
Un solo efecto no necesita plan: .venv/bin/python scripts/fx.py orbit <video> <out.mp4> --start 3 --end 6 --text "..." --opt key=value.
Los 51 efectos
| # | Nombre fx | Qué hace | Opciones (todas opcionales) |
|---|---|---|---|
| 1 | noise | Los reels se acumulan detrás de tu cabeza, uno cada cuarto de segundo | images (carpeta de capturas o clips), size |
| 2 | lineup | Baldosas numeradas se despliegan en arco sobre tu cabeza | text (nombres de baldosas unidos con ` |
| 3 | locked-on | Soporte de esquinas se fija en tu cara, la cámara te sigue | zoom (predeterminado 1.35), text (etiqueta) |
| 4 | orbit | Tus reels circulan alrededor de tu cabeza: al frente abajo, detrás arriba | images, count, speed, size |
| 5 | lean-in | Un zoom rápido en una palabra | zoom (predeterminado 1.45, máximo 2), speed |
| 6 | backdrop-word | Una palabra gigante aparece detrás de ti | text, color (hex), font (bold o serif) |
| 7 | spotlight | Apaga las luces, te mantiene iluminado | text (palabra brillante detrás de ti), color, push |
| 8 | the-bill | Imprime tus instrucciones como un recibo en la pared sobre tu cabeza | text (líneas unidas con ` |
| 9 | moody | Una calificación de color melancólica | grade (moody, bw, warm, cool, pop) |
| 10 | swipe | Un control deslizante de antes y después cruza por ti | grade (el aspecto "después") |
| 11 | todo | Una tarjeta de lista de verificación al lado de tu cabeza marca mientras hablas | text (elementos con ` |
| 12 | comment-box | Una barra de comentarios de Instagram escribe una palabra y la publica | text (predeterminado EFFECTS) |
| 13 | tap | Un botón de Seguir aparece y se voltea a Siguiendo | at (segundo de video del giro), x, y (0 a 1), color |
| 14 | pause-point | Congela el fotograma y te señala con una flecha dibujada a mano | text (etiqueta), color, label_x |
| 15 | uninstall | Una barra de desinstalación defectuosa rompe el fotograma | text |
| 16 | reel-frame | Tu video se encoge en una tarjeta de reel de Instagram | text (usuario) |
| 17 | shortcut-rain | Teclas de teclado llueven detrás de ti | text (teclas con ` |
| 18 | reject-stamp | Un sello rojo grande se estampa en la pantalla | text, color, angle, y |
| 19 | countdown-flip | Un reloj de cuenta atrás 3, 2, 1 sobre tu cabeza | from |
| 20 | rabbit-hole | El fotograma se tuneliza dentro de sí mismo, girando | ratio, speed, spin |
| 21 | cover-star | Te conviertes en una portada de revista, título detrás de tu cabeza | text (título), lines (con ` |
| 22 | scribble | Garabatos de marcador se dibujan a tu alrededor | text (etiqueta), color |
| 23 | glass-widgets | Widgets de vidrio esmerilado y mini artefactos flotan alrededor de tu cabeza, más una píldora Editado por Claude | text (número grande), name, handle, look (simple para la versión de 3 widgets) |
| 24 | red-collage | Tú en blanco y negro, una palabra roja gigante detrás, tres líneas entran con fuerza | text (palabra roja), lines (con ` |
| 25 | split-headline | Una tarjeta de titular se desliza hacia abajo y te empuja a la mitad inferior | text (líneas con ` |
| 26 | pastel-word | Habitación lavanda, palabra gigante detrás de ti, se sigue una tarjeta de perfil | text, name, handle |
| 27 | check-pills | Habitación de papel cuadriculado, tableros de reel detrás de ti, un cursor hace clic en píldoras azules | text (píldoras con ` |
| 28 | timeline | Una calificación de película roja oscura con una línea de tiempo de edición, un código de tiempo REC y un cabezal de reproducción brillante | text (título), sub, tc |
| 29 | headline-box | Un zoom con un titular de dos líneas, la segunda línea en un cuadro blanco | text (líneas con ` |
| 30 | profile-wall | Tu cuadrícula de reels llena la pared detrás de ti mientras un contador sube | images, count, label |
| 31 | tier-list | Una lista de niveles aparece y Claude vuela al nivel S | title, item, others |
| 32 | broll-split | Metraje secundario arriba con una pegatina de precio, tú abajo | images, text (etiqueta) |
| 33 | phone-fan | Tus reels se despliegan como un manojo de teléfonos bajo un titular | images, text (líneas con ` |
| 34 | dot-reveal | Tu toma se construye a partir de puntos brillantes, luego se fija a la imagen completa | color, cell |
| 35 | headline-wall | Tus propios titulares se acumulan detrás de tu cabeza, luego aparece un total al frente | text (`headline::meta |
| 36 | checklist | Una lista de tareas de Claude bajo tu barbilla: cada paso gira, luego se marca verde | text (`step::meta |
| 37 | liquid-glass-graph | Una tarjeta de vidrio líquido bajo tu barbilla: un gráfico verde sube mientras el número cuenta | text (etiqueta), from, to (ej. 197K, 59%), color |
| 38 | carousel-spin | Tus reels giran a tu alrededor en un carrusel 3D, luego se detienen lentamente | images, count, size, turns |
| 39 | match-cut | Páginas de noticias cortan en una palabra, encerradas en un cuadro rojo detrás de tu cabeza | text (la palabra, predeterminado Claude), color |
| 40 | apple-toggles | Una tarjeta de configuración de iPhone bajo tu barbilla activa sus interruptores, una línea a la vez | text (filas con ` |
| 41 | led-sign | Las luces bajan y un letrero LED brillante se escribe detrás de ti | text (líneas con ` |
| 42 | slow-push | Un lento zoom cinematográfico a tu cara mientras la habitación se desenfoca | zoom (predeterminado 1.6), blur |
| 43 | over-the-shoulder-zoom | La cámara se acerca a una esquina superior y aparece un gráfico de vidrio líquido transparente al lado de tu cabeza (la línea sube, el número cuenta), retrocede, luego la otra esquina con un segundo gráfico de barras relacionado. Tu cabeza permanece al frente | text (dos etiquetas con ` |
| 44 | messages | Notificaciones de iMessage aparecen una tras otra, vidrio cremoso con un brillo suave, apilándose sobre la parte inferior del fotograma | text (mensajes con ` |
| 45 | place-in-grid | Te encoges en la baldosa central de tu cuadrícula de perfil 3x3 sobre vidrio esmerilado, luego 8 reels aparecen a tu alrededor, uno por fotograma, con recuentos de vistas de Instagram en cada baldosa | images (carpeta de tus reels o portadas), views (9 recuentos con ` |
| 46 | tape-label | Una tira nivelada de cinta amarilla con tu línea aterriza en tu pecho, manteniéndose alejada de tu cara | text |
| 47 | select-resize | Un cuadro de selección azul con manijas agarra tu número sobre tu cabeza y un cursor lo arrastra más grande | text (predeterminado 2X) |
| 48 | wave-trim | Un panel oscuro sobre tu cabeza muestra tu voz; el silencio rojo punteado en ambos extremos se colapsa hasta que solo quedan tus palabras | ninguno |
| 49 | huge-strike | Una palabra serif enorme se desliza detrás de tu cabeza, luego una línea roja la tacha | text, at (segundos desde el inicio del efecto cuando cae el tachado, predeterminado 0.6) |
| 50 | crayon-write | Un crayón rojo escribe tu palabra detrás de tu cabeza, luego la subraya y vuela | text |
| 51 | fan-build | Tus portadas de reel se reparten en un abanico detrás de tu cabeza, una carta a la vez | images (carpeta de tus portadas), count (predeterminado 13) |
Looks nombrados (mismo efecto, un look más elegante; no aumentan el conteo):
glitter-spotlight=spotlightconlook=sparkle: la habitación se oscurece, rayos dorados brotan detrás de tu cabeza, una gran palabra dorada con un barrido brillante, destellos centelleantes y un resplandor a tu alrededor.text(la palabra),color,push.cover-starconlook=editorial: un look suave y cálido de película, un encabezado serif clásico detrás de tu cabeza, una línea de número y líneas de portada elegantes.text(encabezado),issue,lines(3 líneas con|),right(líneas con|),color,accent,lines_y,right_y.liquid-glass-graphconlook=bento: el gráfico ascendente se mueve a una pantalla de vidrio ahumado detrás de tu cabeza, con baldosas bento de vidrio frente a ti (una dona, un KPI, barras).text,from,to,donut(29%::label),kpi(672K::label),bars(197|140|124::label).apple-togglesahora se sitúa sobre ti, detrás de tu cabeza, con un zoom suave (pos=belowpara la vieja tarjeta bajo la barbilla;overlap,zoom).
Los alias también funcionan: bill, to-do, follow, stamp, countdown, cover, rain, pause.
Reglas
- Nunca cubras la cara. Todo va detrás de la persona o evita la cara por sí mismo; si un fotograma de revisión muestra texto sobre la cara, muévelo (
x,y) o acorta el texto. - Los efectos se ejecutan en el orden listado. Pon los efectos de cámara (
locked-on,lean-in,spotlight) primero cuando se superpongan con otros. - El zoom nunca supera 2x, para que el video se mantenga nítido.
- Este skill añade solo visuales. Los efectos de sonido y subtítulos quedan a cargo del usuario (CapCut funciona bien).
- Estas son versiones iniciales. Sé honesto al respecto si el usuario las compara con un reel que vieron.
Opciones extra (edición de Ray)
Se añadieron sobre los efectos iniciales para corregir lo que se veía mal en metraje real. Pásalas como cualquier otra opción ("key": "value" en un plan, o --opt key=value).
| Efecto | Opción | Qué hace |
|---|---|---|
| cualquier efecto de tarjeta/órbita | play=1 | Reproduce cada video en la carpeta images dentro de su tarjeta en lugar de una imagen fija |
liquid-glass-graph | pos=behind | Pone el gráfico en una pantalla de vidrio oscuro detrás de tu cabeza en lugar de sobre tu pecho |
liquid-glass-graph | smoke=0.5..0.85 | Vidrio ahumado oscuro en lugar de vidrio líquido transparente (sin copia borrosa de tu cuerpo) |
liquid-glass-graph, over-the-shoulder-zoom | to=$32,000 | Prefijos de moneda y separadores de miles cuentan correctamente |
checklist | smoke, scale=0.86, bottom=0.95, guard=0 | Tarjeta oscura legible, más pequeña, colocada baja para que nunca toque tu cara |
checklist | span=2.9 | Segundos durante los cuales caen las marcas, para que la última marca coincida con tu gesto |
spotlight | flicker=0, lift=0.8 | Apaga el parpadeo neón, o baja la palabra para que tu cabeza cubra parte de ella |
cover-star | mast_y=0.15 | Altura fija del encabezado (combínalo con un recorte más ajustado para que tu cabeza se superponga) |
comment-box | lock=1, avatar_color=#FDB827 | Fija la hoja de comentarios en su lugar, establece el color del avatar (la letra viene de handle) |
Manos delante de una tarjeta: renderiza el efecto, luego ejecuta .venv/bin/python scripts/hands_front.py <original> <con_efecto> <salida>.
Calidad del recorte: si existe models/rvm_mobilenetv3_fp32.onnx, cada efecto usa Robust Video Matting para el recorte de la persona (cabello más limpio, sin parpadeo). Establece FX_MATTE=mp para usar el segmentador original de MediaPipe.