Communitygithub.com

vedit: Editor de Video con IA

Edita video en bruto o crea videos a partir de fotos de principio a fin: corta silencios, muletillas y tomas fallidas, añade subtítulos, crea cortos/reels a partir de videos largos, podcasts multicámara, b-roll, música, mejora de voz y sketches/historias con voz de IA a partir de fotos y un guion. Úsalo siempre que el usuario quiera editar, cortar, subtitular, reencuadrar a vertical, convertir a cortos, o crear un video narrado/con voz, un sketch, una historia o una presentación a partir de imágenes.

¿Qué es vedit: Editor de Video con IA?

vedit es un editor de video impulsado por IA que te da 'ojos' (transcripciones con números de palabra y hojas de contacto que lees como imágenes) y 'manos' (una lista de decisiones de edición, `edl.json`, renderizada por ffmpeg). Tus ediciones son decisiones en JSON, baratas de cambiar y volver a renderizar; los clips no modificados permanecen en caché. Está diseñado para flujos de trabajo que van desde la edición rápida ('ve auto VIDEO --preset shorts') hasta la creación profesional de cortos, podcasts multicámara, sketches con voces de IA a partir de fotos y un guion, o reels de datos factuales con marca. Soporta múltiples formatos y aspectos (YouTube, Shorts, TikTok, Reels, cuadrado, podcast, tutorial, limpieza básica). El flujo principal comienza con el análisis del video para obtener transcripción y fotogramas clave. Luego se genera un borrador de edición. A continuación, refinas la lista de decisiones (`edl.json`) como un editor real: cortas divagaciones, repeticiones y tangentes; fortaleces el gancho; corriges el ritmo y añades superposiciones, música y color. Finalmente, previsualizas, verificas los subtítulos y el encuadre, y renderizas el resultado final junto con un kit de publicación (títulos, descripción, capítulos, miniaturas). vedit se ejecuta desde una única interfaz de línea de comandos. Si `vedit` está en el PATH (o usas `python SKILL/scripts/vedit.py <comando>`), realiza todas las operaciones. Incluye herramientas para sincronizar múltiples cámaras en podcasts, sintetizar voces con Edge TTS (gratuito) u OpenAI/ElevenLabs (si el usuario tiene clave API), y generar automáticamente reels de datos factuales con marca a partir de fotos y clips. La documentación completa se encuentra en el archivo SKILL.md.

Compatible con~Claude Code✓Codex CLI~Cursor
npx skills add https://github.com/OpenOrbitLabs/Vedit/tree/HEAD

Preguntar en tu IA favorita

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

Documentación

¿Qué hace vedit: Editor de Video con IA?

Tú eres el editor. No puedes ver el video directamente, así que estas herramientas te dan ojos (transcripciones con números de palabra, hojas de contacto que lees como imágenes) y manos (una lista de decisiones de edición, edl.json, renderizada por ffmpeg). Tus ediciones son decisiones en JSON. Son baratas de cambiar y volver a renderizar, y los clips no modificados permanecen en caché.

Todos los comandos pasan por una única CLI. Si vedit está en el PATH (el usuario ejecutó pip install -e .), úsalo. Si no, ejecuta python SKILL/scripts/vedit.py <comando>, donde SKILL es la carpeta que contiene este archivo. A continuación se escribe como vedit <comando>.

Ejecuta vedit doctor una vez por máquina. Si falta algo necesario, instálalo: pip install -e "SKILL[all]" (o pip install -r SKILL/requirements.txt), y ffmpeg desde el gestor de paquetes del SO (Windows: winget install Gyan.FFmpeg).

Ruta rápida: cuando el usuario solo quiere que esté listo ("limpia esto", "hazlo un short"), ejecuta vedit auto VIDEO --preset <youtube|shorts|tiktok|reels|square|podcast|tutorial|clean>. Luego realiza los pasos 3–5 del flujo de trabajo A sobre el edl.<preset>.json que escribió, para que el resultado esté editado, no solo recortado. Usa --formats 9:16 para proporciones adicionales y --thumbs para miniaturas. Varios archivos a la vez significa lote: vedit auto *.mp4 --preset shorts.

Kit de marca: si existe un brand.json junto al video, en el directorio de trabajo o en ~/.vedit/, aplícalo automáticamente (fuente, colores, logotipo, intro/outro, música, LUT, correcciones ortográficas). Si el usuario menciona su marca, ofrécete a crear uno a partir de examples/brand.example.json.

Elige el flujo de trabajo

El usuario tiene...Flujo de trabajo
Material en bruto de charla / tutorial / vlogA. Editar material
Un video largo y quiere Shorts/Reels/TikToksA, luego B. Cortos
Podcast / entrevista con 2+ cámaras o micrófonosC. Multicámara, luego A
Fotos (o clips) + una idea para un sketch/historia/explicación y quiere vocesD. Modo historia
Un canal de Reels de datos (carpeta con brand.json + stories/), o quiere Reels como "Un dato al día" a partir de sus propias fotos/clipsE. Kit de Reels de datos

Pregunta como máximo una o dos preguntas si falta información crítica (plataforma objetivo/proporción, tono). De lo contrario, toma buenas decisiones y dile al usuario lo que elegiste.


A. Editar material

  1. Analiza: vedit analyze raw.mp4 (varios archivos: vedit analyze a.mp4 b.mp4 --names main broll1). Esto crea raw.edit/ con:
    • transcript.main.txt: léelo completamente. Las líneas tienen el formato [0:12.34 → 0:15.10] #120-135 texto. {um} marca una muletilla fuerte, (como) una muletilla suave, ⏸ 2.1s pausa una pausa, y ⚠ posible toma fallida una oración que se repite poco después.
    • frames/overview_main_*.jpg: Lee estas imágenes para aprender qué hay en pantalla (encuadre, momentos de b-roll, grabación de pantalla vs rostro).
  2. Borra: vedit autocut raw.edit --punchin 1.12 (cabeza parlante) o añade --aspect 9:16. Esto escribe raw.edit/edl.json con silencios, muletillas fuertes y tomas fallidas eliminadas.
  3. Refina como un editor real. Edita edl.json usando la transcripción:
    • Corta divagaciones, puntos repetidos, tangentes fuera de tema y falsos comienzos que las heurísticas no detectaron. Conserva la mejor toma. Elimina muletillas suaves solo donde sean relleno.
    • Haz que el gancho sea fuerte: si la mejor línea aparece tarde, considera mover un clip breve de avance al inicio.
    • Usa rangos de "words": [primera, última] (precisos, con relleno automático). Usa segundos de "in"/"out" solo para partes sin habla.
    • Añade mejoras: acercamientos en cortes de salto, overlays (títulos, b-roll, imágenes, efectos de sonido), audio.music, color. Consulta references/edl.md para cada campo.
  4. Previsualiza: vedit render raw.edit/edl.json --preview, luego vedit frames <preview.mp4> --every 3 y lee las hojas para verificar el encuadre, la colocación de subtítulos y las superposiciones. Corrige y vuelve a renderizar (los clips en caché se reutilizan).
  5. Final: vedit render raw.edit/edl.json (añade --formats 9:16,1:1 si publica en varias plataformas).
  6. Kit de publicación (a los creadores les encanta). Escribe raw.edit/publish.md con:
    • 3 opciones de título: curiosidad más un beneficio claro, ≤ 60 caracteres
    • una descripción: 2 líneas de gancho, un resumen, un marcador de posición de enlaces y hashtags
    • capítulos: añade "chapters": [{"at": {"word": ["main", N]}, "title": "..."}] a edl.json antes del renderizado final, y el renderizador escribe <output>.chapters.txt en formato YouTube
    • miniaturas: ejecuta vedit thumbs raw.mp4, lee candidates_sheet, elige el fotograma más expresivo, luego vedit thumbs raw.mp4 --pick N --title "3-5 PALABRAS"
  7. Informa al usuario dónde están el .mp4, .srt, capítulos, miniatura y publish.md, la duración antes/después, y qué cortaste y por qué en unos pocos puntos.

B. Cortos a partir de un video largo

Después de analizar, lee toda la transcripción y elige 3–5 momentos autocontenidos de 20–60 s cada uno. Busca una línea de apertura fuerte, una idea clara y un remate o desenlace. Evita momentos que necesiten contexto anterior. Para cada uno, escribe raw.edit/short_N.edl.json con "output": {"aspect": "9:16", "path": "short_N.mp4"}, subtítulos pop, "crop_x": "auto" (o un valor leído de vedit frames raw.mp4 --at T --grid, donde cada línea = 0.1), cortes ajustados (pausas ≤ 0.3 s) y una superposición de título para el gancho. Explica al usuario por qué funciona cada momento.

C. Podcast / entrevista multicámara

  1. vedit multicam sync cam1.mp4 cam2.mp4 cam3.mp4 da un desplazamiento por cámara. Ponlo en sources: "cam2": {"path": "cam2.mp4", "offset": 1.234}. Si la confianza es BAJA, verifica con fotogramas en un aplauso.
  2. Si cada persona tiene su propio micrófono: vedit multicam speakers micA.wav micB.wav --names host guest --offsets 0 0.8 da speakers.txt, una línea de tiempo de quién habla.
  3. Analiza main (mejor audio). Los tiempos de clip y palabras para las fuentes sincronizadas están en la base de tiempo de main, y el audio proviene de main automáticamente. Corta a la cámara del hablante, usa un plano general para conversaciones cruzadas o reacciones, y evita tomas de menos de 1.5 s.

D. Modo historia / sketch (fotos + voces de IA)

  1. Escribe el guion con la idea del usuario: líneas cortas y contundentes (≤ 15 palabras cada una), un gancho en los primeros 3 segundos y un final o remate claro. Usa un hablante por línea. Para sketches, dale a cada personaje una voz y un color de subtítulo distintos.
  2. Ejecuta vedit story grid story.json y lee cada grid_sceneN.jpg para obtener los puntos focus de cada personaje. En la cuadrícula, x usa las etiquetas amarillas e y las etiquetas cian.
  3. Escribe story.json (esquema completo en references/story.md). Usa un shot cercano + focus cuando un personaje hable, y un plano general o un movimiento motion tipo Ken Burns para la narración. Añade sfx, title, transition: fade entre escenas y music.
  4. vedit story voices story.json sintetiza las líneas e imprime una tabla de tiempos. Verifica el ritmo (un short suele durar ≤ 60 s).
  5. vedit story build story.json --preview, luego verifica los fotogramas, y luego ejecuta vedit story build story.json.

Voces: edge es gratuita y natural, sin necesidad de clave API. Elige voces con vedit tts --list-voices --lang en (Filipino: --lang fil). Usa openai (instrucciones de actuación mediante "style") o elevenlabs solo cuando el usuario tenga una clave y solicite voces premium. Nunca inventes la voz de una persona real ni te hagas pasar por personas reales.


E. Kit de Reels de datos (fotos/clips en bruto -> Reels de datos con marca)

Guía: templates/fact_reels/README.md. Nuevo canal: vedit reels new DIR; nuevo video: vedit reels story DIR NAME.

  1. Observa los archivos en bruto del usuario (vedit frames clip.mp4 para clips) y elige tipos de escena: image + card con narración, video + lines (b-roll, narrado, silenciado), o video + keep_audio: true sin lines (el usuario hablando: voz real, subtítulos automáticos). Elige in/out a partir de los fotogramas/transcripción.
  2. Escribe story.json: gancho → dato → "¿Y sabías que?" → dato → ... → comentario/compartir/seguir, ~185 palabras ≈ 60 s, una narración fluida. Usa say para números, años y nombres que la voz pueda leer mal. Texto de la tarjeta: *estrellas* = acento.
  3. vedit reels build STORY_DIR --only cards y lee las tarjetas y thumbnail.jpg. Corrige el texto que se desborda.
  4. vedit reels build STORY_DIR --preview, verifica los fotogramas, luego construye con máxima calidad. Verifica cada dato; pon las fuentes en caption.txt.

Criterio de edición (lo que lo hace bueno)

  • Ritmo: para cabezas parlantes en YouTube, reduce las pausas a ~0.3–0.45 s. Para Shorts, corta más ajustado (~0.2–0.3 s). Deja espacio para respirar después de un remate o un momento emotivo ("pad": [0.1, 0.6] en ese clip).
  • Oculta los cortes de salto alternando acercamientos (1.0 ↔ 1.10–1.15) o cortando a b-roll. No hagas acercamiento en cada corte de una grabación de pantalla, donde perjudica la legibilidad. Usa "fit": "blur" o "pad" al pasar a vertical.
  • Subtítulos: usa pop para Shorts/Reels, clean para formato largo y tutoriales, y box para fondos con mucho movimiento. Corrige nombres de marca y términos malinterpretados con captions.replace.
  • Audio es la mitad del video. Mantén normalize activado (−14 LUFS para redes/YouTube). Activa denoise: true solo en habitaciones ruidosas. Mantén la música a 0.1–0.2 con ducker activado.
  • Verifica siempre visualmente antes de dar por terminado, y di lo que verificaste.
  • Renderizados largos: previsualiza un fragmento primero con vedit render edl.json --preview --clips 0-10.

Solución de problemas

  • Whisper no detectó las muletillas: se le indicó que las conservara, pero si aún faltan, usa --model medium o corta por pausas.
  • Idioma incorrecto: vedit analyze raw.mp4 --language tl (Tagalo), es, etc.
  • Subtítulos en la fuente incorrecta: establece captions.font a una fuente instalada (Montserrat, Poppins, Arial), o coloca archivos .ttf en SKILL/fonts/.
  • Un segmento falla al renderizar: el error nombra el índice del clip. Verifica su in/out contra la duración de la fuente.
  • El comando ffmpeg final se guarda en <workdir>/.render_cache/last_final_cmd.txt.

Skills relacionados