Cómo edito videos con IA: guía paso a paso con Claude Code
Guía paso a paso para editar videos con Claude Code: herramientas, configuración, transcripción, montaje, gráficos, música y verificación, con ejemplos reales.
Hace unas semanas volví del Tech AI Summit con 36 clips en 4K y cero ganas de editarlos. Se los pasé a Claude Code y me devolvió un vlog terminado: con historia, rótulos, música, subtítulos y una revisión de sus propios errores. Yo no toqué una línea de tiempo.
En el video te muestro el resultado. Aquí te dejo el mapa completo: qué instalé, cómo lo configuré, el paso a paso y los errores que aprendimos a atrapar. No necesitas copiar todo para empezar; al final te cuento cómo partir en pequeño.
La idea en una frase
Claude Code es un agente (una IA que no solo conversa, también ejecuta): abre archivos, corre programas, mira lo que salió y vuelve a intentar si algo falla. Si le das las herramientas de edición correctas y un manual con tus reglas, puede hacer el trabajo de un editor. Tú pasas de mover clips a dirigir.
Lo clave: el agente no edita en un programa de edición. Usa herramientas de línea de comandos (ffmpeg, Whisper, HyperFrames) y el montaje vive en un archivo de texto. Eso es lo que le permite trabajar solo, rehacer todo en minutos y revisarse.
Las herramientas
| Para qué | Herramienta | Costo |
|---|---|---|
| El agente | Claude Code | Plan Pro o Max de Claude |
| Hablarle desde el celular | Remote Control + la app de Claude | Incluido |
| Cortar, unir, medir audio, renderizar | FFmpeg | Gratis |
| Transcribir | faster-whisper (modelos large-v3 y large-v3-turbo) | Gratis, corre en tu computador |
| Tiempos exactos por palabra | Qwen3-ForcedAligner | Gratis, corre en tu computador |
| Limpiar el ruido de la voz | DeepFilterNet | Gratis |
| Gráficos, rótulos y animaciones | HyperFrames (HTML + GSAP, de HeyGen) | Gratis, código abierto |
| Música y efectos con licencia | Epidemic Sound con su servidor MCP | Suscripción de Epidemic |
| Verificar cargos en LinkedIn | Claude in Chrome | Incluido |
| Retoques a mano (opcional) | DaVinci Resolve | Gratis (Studio es pagado) |
| Base para todo lo anterior | Python con uv, Node.js 22 o más | Gratis |
El computador. El mío es un PC con Windows y una tarjeta gráfica NVIDIA (RTX 5090) que antes usaba para jugar. La tarjeta acelera la transcripción y los renders, pero no es obligatoria: en un Mac todo funciona, solo que transcribir tarda más. Lo que sí necesitas es espacio: el material 4K de este vlog pesaba 20 GB.
Paso 1: Instalar lo básico
En Windows, desde PowerShell:
winget install OpenJS.NodeJS.LTS
winget install Gyan.FFmpeg
winget install astral-sh.uv
En Mac, con Homebrew: brew install node ffmpeg uv.
Instala Claude Code con la guía oficial y entra con tu cuenta:
claude
/login
Crea una carpeta para tu editor (la mía se llama 00 - EDITOR) y un entorno de Python para las herramientas de audio:
cd "C:\Videos\00 - EDITOR"
uv venv tools\.venv --python 3.11
uv pip install --python tools\.venv faster-whisper qwen-asr deepfilternet
Si tienes tarjeta NVIDIA, instala además PyTorch con CUDA desde pytorch.org para que los modelos usen la GPU.
Truco: no tienes que hacer esto a mano. Abre Claude Code en la carpeta y dile:
"Quiero que seas mi editor de video. Instala ffmpeg, faster-whisper, qwen-asr y DeepFilterNet en un entorno de Python en tools.venv, y verifica que la GPU funcione."
Él instala, prueba y te avisa qué falló.
Paso 2: Hablarle desde el celular (Remote Control)
Yo no edito sentado frente al PC: le hablo desde el celular, esté donde esté. Para eso está Remote Control: la sesión corre en tu computador, con tus archivos y herramientas, y la app de Claude es una ventana a ella.
En la carpeta del editor:
claude --remote-control "Editor de video"
En el celular, abre la app de Claude y entra a la sesión "Editor de video" (o escanea el código QR que muestra la terminal). Si ya tienes una sesión abierta, escribe /remote-control dentro de ella. Funciona con los planes Pro, Max y superiores, no con una API key.
Para que esté siempre disponible, tengo un script que:
- Se lanza solo al prender el PC (una tarea programada de Windows, en una consola oculta),
- Retoma siempre la misma conversación con
claude --resume <id> --remote-control "Editor de video", así el editor recuerda todo lo que hemos hecho, - Revisa cada 5 minutos que Claude Code siga con la sesión iniciada y, si se cayó, me avisa.
Pídeselo a Claude Code:
"Arma un script de PowerShell que al iniciar Windows retome siempre esta conversación con Remote Control, en una consola oculta, y que si se cae lo vuelva a levantar."
Paso 3: El manual del editor (CLAUDE.md y una skill)
Aquí está la diferencia entre "una IA que edita" y "mi editor". El agente no parte de cero: tiene dos archivos de texto con cómo trabajamos.
CLAUDE.md (en la carpeta del editor) es lo que lee al empezar cada sesión: quién soy, dónde están las cosas y las reglas generales. Un extracto del mío:
# Editor de video
Eres el editor de video de Rodrigo Rojo.
## Cómo trabajamos
- Cada video es un proyecto en C:\Videos\<fecha> - <proyecto>\
con Brutos\, Edicion\, Finales\ y Documentacion\.
- Los brutos nunca se modifican. Todo lo generado va en Edicion\.
- Nada se borra sin mi OK.
- Antes de un render final, muéstrame un preview liviano.
## Estilo
- Fondo #13100f, texto #f4ede2, acento #e51735. Tipografía SUSE.
- Trato de tú, español de Chile.
Una skill es un manual más largo que Claude carga cuando la tarea lo pide. Vive en ~/.claude/skills/<nombre>/SKILL.md (documentación). La mía, editor-video, tiene:
editor-video/
SKILL.md las fases del trabajo y qué sale de cada una
references/
reglas-rodrigo.md las reglas que salieron de mis correcciones
relato.md cómo encontrar la historia
cortes.md cómo cortar sin comerse palabras
subtitulos.md largo de línea, cortes por sentido
animaciones.md mi sistema de diseño llevado a video
audio-sfx.md niveles, ruido, efectos
qa-terminaciones.md qué revisar antes de mostrarme algo
tipo-youtube.md lo propio de cada formato

El encabezado de SKILL.md le dice cuándo usarla:
---
name: editor-video
description: Proceso de edición de video de Rodrigo Rojo. Usar siempre que
haya que editar, subtitular, cortar, animar, revisar o exportar un video suyo.
---
La regla de oro: cada corrección se vuelve regla. Cuando algo no me gusta, no lo corrijo yo: se lo digo, lo arregla y lo escribe en el manual con la razón. Así no lo vuelve a hacer. Hoy son 35 reglas. Un ejemplo:
Los cortes caen en el silencio medido por la energía del audio,
no en el fin de palabra que marca Whisper (llega ~0,3 s antes).
Por qué: en la v2 del vlog, 18 cortes se comían el final de las palabras.
Respáldalo. Mi skill vive en un repositorio privado de GitHub, y cada vez que cambia, Claude Code hace commit y push solo.
Paso 4: Ordenar el material y mirarlo todo
Yo creo una carpeta en la ubicación donde va a trabajar y dejo todos los materiales ahí: videos en bruto, imágenes de apoyo, etc. Luego le digo "dejé los materiales en esta carpeta, haz lo tuyo" y el editor empieza a ordenar la carpeta y revisar qué es lo que tenemos, siguiendo una estructura como esta:
Carpeta con Materiales para Editar\
Brutos\ los originales, nunca se tocan
Edicion\ planes, scripts, subtítulos, revisiones
trabajo\ renders intermedios (se borran al cerrar)
Finales\ lo que se publica
Documentacion\ bitácora y aprendizajes
CLAUDE.md diccionario de nombres y decisiones del proyecto
Una IA no ve video: ve imágenes. Así que lo primero es convertir el material en hojas de contacto (muchos cuadros en una imagen). Con ffmpeg, un cuadro cada 10 segundos en una grilla:
ffmpeg -i clip.mp4 -vf "fps=1/10,scale=320:-1,tile=6x5" -frames:v 1 hoja.jpg
Con esto, los 47 minutos de este vlog cupieron en dos imágenes con 5 cuadros de cada clip. Claude las mira y sabe qué hay: entrevistas, escenario, pasillos, tomas perdidas.
Prompt:
"En la carpeta del proyecto hay 36 clips. Muévelos a Brutos, saca una hoja de contacto de cada uno y un resumen visual de todos, y dime qué hay."
Paso 5: Transcribir dos veces
Para escuchar, transcribe con faster-whisper. El truco: dos modelos distintos (large-v3 y large-v3-turbo), porque cada uno se equivoca en lugares diferentes. Donde no coinciden, hay que dudar y mirar el cuadro.
from faster_whisper import WhisperModel
for nombre in ["large-v3", "large-v3-turbo"]:
modelo = WhisperModel(nombre, device="cuda", compute_type="float16")
segmentos, _ = modelo.transcribe(
"clip.wav", language="es", vad_filter=True,
condition_on_previous_text=False,
initial_prompt="Tech AI Summit, Claude Code, Kibernum, Huawei",
word_timestamps=True)
-
vad_filter=Truesalta los tramos sin voz. -
condition_on_previous_text=Falseevita que un error se arrastre al resto. -
initial_promptcon los nombres propios del video ayuda a escribirlos bien.
Por qué dos: en los clips donde nadie hablaba, uno de los modelos escribió "¡Gracias por ver el video!". Se lo inventó (es una alucinación típica de Whisper con silencio o ruido). Con un solo modelo, eso habría terminado en los subtítulos.
En mi tarjeta gráfica, las dos transcripciones de los 47 minutos tomaron 17 minutos.
Paso 6: Encontrar la historia
Con todo transcrito, Claude propone una estructura. Su primera versión contaba el evento en orden: llegué, vi el panel, conversé con gente. Bien hecha, pero un recorrido.
Le pedí que pensara como comunicador, y ahora el manual tiene un método (relato.md, basado en el libro de Neville Medhora sobre escribir mejor):
- Para quién es: una persona concreta, no "la audiencia".
- Qué se lleva: una sola idea al terminar.
- El hilo sale del material: se busca en lo que la gente dijo, no se inventa.
Volvió a leer todo y encontró el hilo en una pregunta de Pamela Sánchez (Kibernum): "¿vamos bien encaminados?". Esa duda explicaba por qué llegaron 1.500 personas a un lugar para 500, y cada entrevista pasó a ser una pieza de la respuesta. Los capítulos dejaron de ser lugares ("La llegada") y pasaron a ser lo que gana quien mira ("Enamórate del problema").
Prompt:
"Lee todas las transcripciones y propón una estructura. Primero dime para quién es el video y qué se lleva; después el hilo, sacado de algo que alguien dijo; y al final los bloques con las frases que usarías."
Esta parte es tuya. El agente propone; tú decides qué historia contar. El cambio de recorrido a pregunta fue lo que hizo bueno el vlog, y lo decidí yo.
Paso 7: El montaje es un archivo de texto
No hay línea de tiempo: hay una lista. Cada corte es un bloque con el clip, dónde entra y dónde sale:
{
"clip": "Pamela Sánchez - Kibernum.MP4",
"in": 72.53,
"out": 84.62,
"tipo": "voz",
"gc": "pamela",
"nota": "gancho: sold out"
}
Un script lee la lista y arma el video con ffmpeg: recorta cada tramo exacto y los pega en orden. Si quiero cambiar algo, cambio una línea y en 3 minutos tengo el video de nuevo. La misma lista marca dónde va el b-roll, cada rótulo y cada capítulo.
El error que más nos costó: Whisper marca el final de cada palabra unos 0,3 segundos antes de que termine de sonar. Si cortas ahí, te comes la cola: yo decía "bueno" y quedaba "buen". La solución fue medir la energía del audio en cada corte y moverlo al silencio real más cercano. Ahora una herramienta lo revisa siempre: en la v2 encontró 18 cortes sobre voz; en la v3, ninguno.
Paso 8: El audio
Tres cosas, en este orden:
- Igualar volúmenes. Cada tramo de voz se lleva a -18 LUFS con el filtro
loudnormde ffmpeg. El podcast al que me invitaron venía 15 decibeles más bajo que el resto. - Limpiar el ruido, con cuidado. Con DeepFilterNet probamos tres niveles sobre la misma frase: original, suave y fuerte. El fuerte deja la voz metálica y mata el ambiente del evento. Elegí el suave.
- Mezclar y medir. Voz, música y efectos, con la música que baja cuando alguien habla, y el total a -14 LUFS con el pico bajo -1 dB, que es lo que espera YouTube.
Paso 9: Subtítulos con tiempos exactos
Los subtítulos no se sacan directo de Whisper. Primero se corrige el texto (nombres y términos: "Tech AI", no "Tech Eye"), y después se alinea ese texto con el audio usando Qwen3-ForcedAligner, que en nuestras pruebas marca el inicio y el fin de cada palabra 3 a 4 veces más preciso que Whisper:
import torch
from qwen_asr import Qwen3ForcedAligner
alineador = Qwen3ForcedAligner.from_pretrained(
"Qwen/Qwen3-ForcedAligner-0.6B", dtype=torch.bfloat16, device_map="cuda:0")
palabras = alineador.align(audio="tramo.wav", text=texto_corregido, language="Spanish")
Con esos tiempos se arma el .srt: máximo 42 caracteres por línea y 2 líneas por subtítulo, cortando por sentido. Y sirven para algo más: cada animación sabe exactamente en qué palabra entrar.
Paso 10: Gráficos y rótulos con HyperFrames
Los rótulos con nombre y cargo, los títulos de capítulo y las frases destacadas se hacen con HyperFrames: cada gráfico es una página web (HTML con animaciones GSAP) que se renderiza a video. Es lo mejor que encontré para que lo escriba una IA, porque HTML es su idioma.
Para sumar sus skills a Claude Code:
claude plugin marketplace add heygen-com/hyperframes
claude plugin install hyperframes@hyperframes
Y para probarlo: npx hyperframes init mi-video, npx hyperframes preview y npx hyperframes render.
Dos aprendizajes:
- Renderiza solo los gráficos, no el video completo. Renderizar los 5 minutos con el video adentro iba a tomar unas 2 horas. Cada gráfico por separado, con fondo transparente (
--format mov), toma un minuto, y ffmpeg los monta sobre el video en segundos. - Los tiempos salen de las palabras, no de un número fijo. Cada rótulo se ancla a una frase ("Aquí estamos con la Pame Sánchez"). Si cambia un corte, el rótulo se mueve solo.
- Los cargos no se escriben de memoria. Con Claude in Chrome, Claude buscó a cada entrevistado en LinkedIn (con mi sesión abierta) y copió su cargo actual.
Paso 11: Música con Epidemic Sound
Epidemic Sound tiene un servidor MCP (una conexión que le da a Claude acceso a su catálogo). Con eso, Claude busca la canción, la recorta a la medida del video respetando su estructura y la descarga, sin salir de la terminal.
Crea una llave en tu cuenta de Epidemic (Account → API keys), guárdala en la variable de entorno EPIDEMIC_SOUND_MCP_API_KEY y conecta el servidor (comando de la guía oficial):
claude mcp add -s user --transport http epidemic-sound https://www.epidemicsound.com/a/mcp-service/mcp --header 'Authorization: Bearer ${EPIDEMIC_SOUND_MCP_API_KEY}'
Verifica con claude mcp list. Necesitas una suscripción activa de Epidemic; tu licencia sigue siendo la misma.
Prompt:
"Busca en Epidemic Sound una pista instrumental optimista, sin voz, para un vlog de un evento de tecnología. Recórtala a la duración del video y bájala."
Paso 12: Que se revise antes de mostrarte nada
Esta es la parte que más me importa. Armamos un verificador: un script de Python que Claude corre antes de mostrarme cualquier versión, y que revisa:
- Cuadro a cuadro, los textos montados, los que se salen de su caja y los cuadros vacíos.
- Las entradas y salidas de cada gráfico.
- El audio: volumen final, picos, ruido de fondo y cortes sobre voz.
- Los subtítulos: largo de línea y que no tapen un gráfico.
Si encuentra un error, lo corrige y vuelve a correr todo, no solo lo que tocó. Solo cuando queda en cero me manda un preview liviano (720p, menos de 30 MB) con la lista de lo que tengo que decidir yo.
En este vlog atrapó, entre otras cosas, un rótulo con el nombre de un entrevistado que aparecía sobre la cara de otra persona, y unas comillas que se montaban con el texto. Lo que no vio (los cortes sobre voz) lo vi yo, y se convirtió en una herramienta nueva que ahora corre siempre.

Prompt para armar el tuyo:
"Antes de mostrarme cualquier versión, quiero que revises el video tú mismo. Arma un script que busque cuadros vacíos, textos montados, cortes sobre voz y el volumen final, que deje un informe, y no me muestres nada hasta que esté en cero errores."
Paso 13: Exportar y publicar
Para YouTube, el final va en 4K a los mismos cuadros por segundo de la cámara, sin subtítulos quemados, con tres cosas al lado:
- El
.srt, que se sube en YouTube Studio, en Subtítulos - Los capítulos (
0:00 Intro,0:26 Llegando al Tech AI Summit...) para la descripción - La miniatura en 3 variantes, para la prueba A/B de YouTube.
Con la tarjeta gráfica, el render final del vlog (7:50 en 4K, con los gráficos renderizados en 4K) tomó 18 minutos.
Cuánto tomó
El vlog en si mismo, casi nada. Mi tiempo real fue mirar 3 previews y escribir qué cambiar. Lo que más tiempo tomó fue armar el sistema completo desde cero y dar feedback, es decir, enseñarle a Claude Code cómo quiero que haga las cosas.
Cada corrección de este video quedó en el manual, y el próximo parte desde ahí.
Ahora que ya tengo el proceso completo un vídeo similar debe tomar menos de 30 minutos, y a lo más 2 o 3 revisiones mías.
Cómo partir en pequeño
No necesitas todo esto el primer día. Mi recomendación es que partas con lo básico y vayas sumando elementos a medida que ya tengan los criterios claros:
- Semana 1: Claude Code + ffmpeg. Pídele que corte los silencios de un video tuyo y saque una hoja de contacto. Además que empiece a escribir el
CLAUDE.mdpara que vaya "respaldando su forma de trabajar" - Semana 2: suma faster-whisper. Que te transcriba y te proponga qué cortar.
- Semana 3: subtítulos, gráficos, música y el verificador, de a uno.
El orden importa: primero que haga algo útil, después que lo haga como a ti te gusta.
Lo que sigue siendo tuyo
La pregunta no es si la IA edita mejor que una persona. Es qué haces tú cuando ya no tienes que pasar horas moviendo clips. Yo lo veo así: dejas de ejecutar y pasas a dirigir. Qué historia contar, para quién, qué se queda y qué no. Eso no se delega.
¿Lo quieres armar tú?
En la Patrulla Roja, mi comunidad en Skool, hay gente armando flujos así con IA, y ahí respondo dudas. Si recién partes, mi Caja de herramientas de IA ordena más de 100 por lo que necesitas resolver.