Communitygithub.com

Ledsav/edición-de-video

Edita videos a partir de una descripción en lenguaje natural. Corta el metraje para contar una historia, gradúa el color dinámicamente según el arco narrativo (la apariencia evoluciona con la historia), añade texto animado, música con ducking y cortes sincronizados con el ritmo, diseño de sonido y transiciones/títulos con gráficos animados diseñados en HTML/CSS/JS. Úsalo siempre que el usuario quiera cortar, editar, recortar, ensamblar, etalonar, colorear, titulizar, subtitular, añadir música o añadir transiciones/gráficos animados a un video, o hacer un tráiler, teaser, reel, resumen, promocional o cortometraje a partir de metraje.

¿Qué es edición-de-video?

Esta skill permite a un agente de IA actuar como editor de video profesional, tomando decisiones creativas de edición, etalonaje, diseño de movimiento y diseño de sonido a partir de una descripción en lenguaje natural. El agente utiliza el conjunto de herramientas `vedit` (Python + ffmpeg + Chromium sin interfaz) para renderizar el video final, pero su verdadero valor está en la capacidad de interpretar el prompt del usuario y traducirlo a una **especificación de edición** detallada (`edit.json`) que define el arco narrativo, la gradación de color, los cortes, la música, los efectos y los gráficos. La skill soporta múltiples plataformas (Claude Code, Cursor, Codex, entre otras) y funciona en cualquier sistema donde se puedan ejecutar scripts Python y ffmpeg. El flujo de trabajo guía al agente paso a paso: desde la ingesta del metraje, análisis de tomas y transcripción de diálogos, hasta la escritura del brief creativo, la construcción de la especificación de edición, la previsualización con storyboards y la renderización final. Una característica clave es que el etalonaje evoluciona continuamente a lo largo del video según el arco narrativo, y los gráficos animados se pueden diseñar a medida en HTML/CSS/JS si las plantillas predefinidas no se ajustan a la visión creativa. La skill prioriza la narrativa sobre los efectos llamativos, y exige que el agente inspeccione visualmente cada paso (storyboards, fotogramas, previsualizaciones) antes de dar el video por terminado.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ledsav/video-editing/tree/HEAD/.claude/skills/video-edit

Preguntar en tu IA favorita

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

Documentación

Edición de video a partir de un prompt

Eres el editor, etalonador, diseñador de movimiento y diseñador de sonido. El conjunto de herramientas vedit (bin/vedit, Python + ffmpeg + Chromium sin interfaz) se encarga del renderizado; tu trabajo son las decisiones creativas, escritas como una especificación de edición (edit.json). Todo es volver a renderizar y está en caché, así que itera libremente.

Primero ejecuta bin/vedit doctor. Si falta algo, ejecuta scripts/setup.sh (--with-whisper para transcripción).

Flujo de trabajo

1. Ingesta

  • Crea un proyecto: bin/vedit new <nombre> → projects/<nombre>/{media,music,graphics,work,out} + edit.json.
  • Coloca el metraje en media/, la música en music/. Si el usuario no tiene música, genera una pista de fondo de relleno: bin/vedit synth-music --mood <uplifting|tense|sad|epic|chill|hype|dreamy> --duration N --out music/bed.wav y dile que luego la reemplace con una pista con licencia.

2. Comprende el metraje (mira antes de cortar)

  • bin/vedit analyze media/* → tomas (cortes de escena), silencios, momentos más intensos, y hojas de contacto con códigos de tiempo. Abre las imágenes de las hojas de contacto con Leer y en realidad míralas: anota qué hay en cada toma, su calidad, su energía, dónde están los buenos momentos.
  • ¿Necesitas un vistazo más de cerca? bin/vedit frames media/x.mp4 --times 12.5,14,30 --out work/frames luego Lee.
  • Diálogos/entrevistas: bin/vedit transcribe media/x.mp4 (marcas de tiempo por palabra). Corta en los límites de las frases; usa la transcripción para encontrar las líneas que cuentan la historia.
  • Música: bin/vedit beats music/track.mp3 → tempo, pulsos, pulsos fuertes, subidas de energía (drops).

3. Escribe el resumen (en el brief de la especificación, y díselo al usuario en 3–5 líneas)

Traduce el prompt a: logline, duración objetivo, audiencia/plataforma (¡relación de aspecto!), arco narrativo (3–5 ritmos: p. ej. introducción → tensión creciente → clímax → resolución), y para cada ritmo un sentimiento. Mapea los sentimientos a tonos con bin/vedit tones --mood <palabra> y references/creative-direction.md (ritmo, transiciones, tipo y música por género/estado de ánimo).

4. Construye la especificación de edición

Esquema completo: references/edit-spec.md. Elementos esenciales:

  • story.arc: fotogramas clave {at: "35%", label, tone, intensity}. Los clips sin su propio grade se etalonan interpolando el arco en su posición en la línea de tiempo de salida, y los grados varían dentro de los clips, por lo que la apariencia evoluciona continuamente con la historia.
  • timeline: clips ordenados {source, in, out, motion, transition, speed, volume}. Elige tomas que sirvan a cada ritmo. La duración del plano sigue la energía del arco (largos y tranquilos en la introducción; más cortos a medida que aumenta la tensión; mantén la recompensa).
  • text, graphics, effects, music, sfx, captions: anclalos a clips con {"at_clip": "c4", "offset": 0.3} para que sobrevivan a un re-timing.
  • Ediciones guiadas por la música: añade "sync": {"beats": "music/track.beats.json", "every": 2} y los cortes se ajustan a los pulsos; dale a un clip "beats": 4 para que dure exactamente 4 pulsos.

5. Verifica antes de renderizar

  1. bin/vedit validate edit.json luego bin/vedit plan edit.json (tabla de línea de tiempo + arco).
  2. bin/vedit storyboard edit.json → Lee la imagen: un fotograma etalonado por clip con la etiqueta del arco. ¿La progresión de color se lee como la historia? Ajusta tonos/intensidad/anulaciones.
  3. Para una decisión de aspecto específica: bin/vedit look media/x.mp4 --at 12 --tones original,teal_orange,cold_thriller.
  4. Para cualquier gráfico (plantilla o personalizado): bin/vedit mograph preview <nombre|file.html> --params '{...}' --background work/frames/x.jpg → Lee la tira y juzga el diseño como un director de arte.

6. Renderiza y revisa

  • bin/vedit render edit.json --preview (media resolución, rápido) → extrae fotogramas alrededor de cada transición y título con bin/vedit frames out/final_preview.mp4 --times ... y léelos. Verifica: las transiciones cubren limpiamente, el texto es legible y está dentro de las áreas seguras, la progresión del grado, nada incómodo en los puntos de corte. Corrige y vuelve a renderizar (los segmentos están en caché).
  • bin/vedit render edit.json para el final. Informa la ruta de salida, la duración, el arco y las principales decisiones creativas al usuario, y ofrece alternativas específicas.

Gráficos animados: diseña los tuyos propios

Plantillas (bin/vedit templates): shape_wipe, circle_reveal, bars_stagger, ink_spread, film_burn, light_leak, title_card, lower_third, kinetic_type, chapter_marker, glitch_title, shape_burst, speed_lines. Cuando ninguna se ajuste al resumen, escribe un gráfico HTML personalizado en projects/<nombre>/graphics/ y referéncialo con "html": "graphics/mi_titulo.html". Eres bueno en esto: CSS, filtros SVG, canvas, tipografía. Sigue el contrato y las pautas de diseño en references/motion-graphics.md. Siempre previsualiza fotogramas e itera antes de usarlo en la edición.

Los gráficos de transición deben cubrir completamente el fotograma en su momento cover-at; el renderizador hace un corte directo del metraje subyacente exactamente en ese instante.

Principios

  • La historia primero: cada corte, cambio de color y transición debe significar algo en el arco. No uses transiciones llamativas en todas partes: una secuencia de cortes directos hace que el único zoom_punch en el drop golpee fuerte.
  • Iguala la energía de la transición al arco: disolvencias/opacados para calma o paso del tiempo, whips/glitch/ punch para energía, wipe con gráficos animados para cambios de capítulo y momentos de marca.
  • Mantén los grados creíbles con una intensidad de 0.6 a 0.9 a menos que el resumen sea estilizado; los tonos de piel no deben volverse verdes o grises a menos que ese sea el punto (terror, guerra).
  • Texto: pocas palabras, grande, en pantalla el tiempo suficiente para leerlo dos veces (≈ 0.3 s por palabra + 1 s).
  • Audio: el diálogo es el rey; la música se atenúa debajo de él (duck: true). Objetivo de sonoridad -14 LUFS para web.
  • Siempre mira tu salida (fotogramas, storyboards, tiras) antes de declararla terminada.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Skills relacionados