Communitygithub.com

netfire222/vfx

Paquete de efectos VFX para reels de talking-head: /vfx strike, echo, spotlight, freeze-mark, pinned-comment. Añade títulos animados detrás del orador, palabras que se tachan y cambian, foco de neón, congelación con círculo en la cara y tarjetas de comentarios (hebreo + inglés). Opcionalmente, /vfx showcase envuelve el resultado en una interfaz de Claude-app con comandos escritos, efectos de sonido y una llamada a la acción.

¿Qué es vfx?

Este skill, diseñado para agentes de IA como Claude Code o Cursor, proporciona un conjunto completo de efectos visuales (VFX) para la posproducción de videos de talking-head en formato vertical (9:16). Soporta hebreo (RTL) e inglés. Los efectos incluyen: superposición de títulos grandes detrás del orador mediante segmentación de personas ('strike'), títulos con ecos de contorno ('echo'), focos de neón con fondo oscurecido ('spotlight'), congelación de fotograma con círculo rojo dibujado a mano alrededor del rostro ('freeze-mark') y tarjetas de comentarios ancladas ('pinned-comment'). El skill también permite crear planes de múltiples efectos en una sola ejecución ('plan') y envolver el resultado en una simulación de interfaz de Claude-app con comandos escritos y efectos de sonido ('showcase'). Se ejecuta mediante scripts de Python y requiere dependencias como ffmpeg, Node/npm y varias bibliotecas de Python. El flujo de trabajo típico incluye analizar el video, obtener la sincronización del habla y renderizar cada efecto con parámetros precisos. Es útil para creadores de contenido que desean producir reels llamativos con edición automatizada y de alta calidad.

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

Preguntar en tu IA favorita

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

Documentación

/vfx - Paquete VFX para reels de talking-head

Los títulos grandes se dibujan detrás del orador (segmentación de personas) y se colocan automáticamente sobre la cabeza. Soporte completo para hebreo/RTL.

ComandoQué hace
/vfx strikePalabra grande sobre la cabeza -> una línea roja la tacha -> la cambia por una nueva palabra
/vfx echoAparece un título grande con copias de contorno que estallan hacia afuera
/vfx spotlightEl fondo se oscurece, una luz cálida enfoca al orador, título de neón parpadeante
/vfx freeze-markCongelación + destello + zoom + círculo rojo dibujado a mano alrededor de la cara (+ etiqueta opcional)
/vfx pinned-commentAparece una tarjeta de "Respuesta al comentario" en la parte superior
/vfx planVarios efectos en una sola renderización
/vfx showcaseEnvuelve un clip renderizado en una interfaz de Claude-app: comandos escritos, encabezado "Editado con /vfx X", sonidos de escritura + efectos y una CTA final

Entradas

  • El video (preferiblemente un talking-head vertical 9:16) y, por efecto, los textos exactos y la sincronización. Nunca inventes textos que el usuario no haya proporcionado; pregunta una vez si faltan. La sincronización puede provenir de una palabra clave (consulta words).
  • Guarda la salida junto al archivo fuente como <nombre>_vfx.mp4.

Configuración (una vez)

  • Los scripts se encuentran junto a este archivo: scripts/vfx.py, scripts/compose.py (invócalos con la ruta completa).
  • Necesita ffmpeg, Node/npm (las fuentes y el modelo de segmentación se descargan una vez con npm pack en ~/.cache/vfx) y pip install numpy pillow fonttools python-bidi ai-edge-litert "opencv-python-headless<5". Opcional: pip install rembg onnxruntime (bordes de cabello más limpios, se usa automáticamente), pip install faster-whisper (sincronización de palabras).

Flujo de trabajo

  1. ffprobe al clip. Si hay poco espacio sobre la cabeza, los títulos caen automáticamente al tercio inferior; sugiere reencuadrar.
  2. Sincronización desde el habla: python3 scripts/vfx.py words clip.mp4 --lang he -> líneas {word,start,end}.
  3. Renderizar:
    python3 scripts/vfx.py strike in.mp4 out.mp4 --text "משעמם" --swap "מרתק" --at 2.1 --strike-at 2.8 --swap-at 3.3
    python3 scripts/vfx.py echo in.mp4 out.mp4 --text "IN-APP BROWSER" --at 5 --dur 2.5
    python3 scripts/vfx.py spotlight in.mp4 out.mp4 --text "AI SLOP" --at 13 --dur 2.5
    python3 scripts/vfx.py freeze-mark in.mp4 out.mp4 --at 9.5 --hold 1.5 --label "תסתכלו כאן"
    python3 scripts/vfx.py pinned-comment in.mp4 out.mp4 --user alguien --text "..." --at 17 --dur 4
    python3 scripts/vfx.py plan in.mp4 out.mp4 plan.json      # [{"fx":"strike","text":..,"at":..}, ...]
    
    Variante strike (solo plan.json): "front_first": true coloca la primera palabra SOBRE la cara, delante del orador, y la palabra de intercambio DETRÁS de la cabeza (ej. "מלפנים" -> "מאחור"); "overlap": 0.45 oculta más parte detrás de la cabeza. Variante echo (plan.json): "linger": true mantiene las copias de contorno en pantalla (respirando suavemente) hasta que el efecto termine. Opciones: --y (altura fija del título, como fracción del fotograma; súbelo si la cabeza oculta letras), --color, freeze-mark --x --y --r para rodear otra cosa, --seg fast|quality, --crf.
  4. Showcase (opcional): python3 scripts/compose.py fx.mp4 final.mp4 schedule.json
    {"intro": 2.4, "cta": 3.2,
     "cmds": [{"cmd": "strike", "send": 0.0, "desc": "Dilo, táchalo, cámbialo", "sfx": [["swish", 0.9], ["pop", 1.5]]},
              {"cmd": "echo", "send": 2.75, "desc": "Título grande, estallido de eco", "sfx": [["boom", 2.8]]}],
     "cta_lines": ["רוצים את הסקיל", "של 5 הפקודות?"], "cta_button": "תגיבו "סקיל""}
    
    send = segundo del clip en que se envía el comando (ajusta el at de cada efecto ~0.05 s después). El primer comando se escribe en la intro. Sonidos: key, send, whoosh, swish, pop, boom, shutter, power, ding, chime.
  5. Verificar: toma 2-3 fotogramas por efecto (ffmpeg -ss T -i out.mp4 -frames:v 1 f.png), revísalos (texto legible, rostro visible, hebreo de derecha a izquierda, nada cortado), corrige y vuelve a renderizar. Luego entrega con una línea por efecto.

Skills relacionados