Qué vas a conseguir
Esta es la guía del vídeo en el que pedía comentar EDITOR. Con Claude Code y Remotion, el vídeo deja de editarse arrastrando clips: es código que Claude escribe y renderiza. Tú le dices qué quieres y él corta, subtitula, anima y exporta.
Hay dos casos de uso distintos, según de dónde sale el vídeo:
| Caso 1 · Editar lo que grabas | Caso 2 · Reels faceless | |
|---|---|---|
| Para quién | Grabas hablando a cámara y no quieres pasarte la tarde editando | No quieres salir en cámara: el vídeo es animación con voz en off |
| Material de partida | Tu grabación en bruto | Solo un tema |
| Qué hace Claude | Transcribe con Whisper, corta silencios, muletillas y tomas repetidas, subtitula, hace zooms y pone efectos de sonido | Escribe el guion, genera la voz, anima cada escena al ritmo de las palabras y la subtitula |
| Herramientas | Remotion + Whisper.cpp + efectos CC0 | Remotion + ElevenLabs + efectos CC0 |
Licencia de Remotion: es gratis para particulares, organizaciones sin ánimo de lucro y empresas de hasta 3 personas. Si tu empresa es más grande, necesitas su licencia de empresa. Remotion, Whisper y ElevenLabs son proyectos de terceros, no de Anthropic ni de EDSO.
Preparación (común a los dos casos)
- Instala Node.js y FFmpeg.
- Crea el proyecto e instala las skills oficiales de Remotion, que enseñan a Claude a usar Remotion bien:
# 1. Crea el proyecto de Remotion (elige la plantilla en blanco o "Hello World")
npx create-video@latest
# 2. Dentro de la carpeta del proyecto, instala las skills oficiales de Remotion para Claude Code
npx skills add remotion-dev/skills
# 3. Abre Claude Code en la carpeta y comprueba que la preview funciona
npm run devCaso 1 · Editar los vídeos que grabas
La clave es Whisper: transcribe tu vídeo y da el tiempo exacto de cada palabra. Con eso, Claude decide los cortes leyendo la transcripción, como si editara un texto: dónde hay un silencio, dónde dijiste "eh" o dónde repetiste la frase. Y los subtítulos salen sincronizados sin tocar nada.
- Graba en vertical y pon el archivo en
public/bruto.mp4. - Pega el prompt en Claude Code dentro del proyecto de Remotion.
- En la primera parada te enseña la transcripción con lo que va a quitar. Revísalo: es mucho más rápido que mirar el vídeo entero.
Vas a editar un vídeo que he grabado yo, usando este proyecto de Remotion y sus skills.
El resultado: un reel vertical 1080x1920 a 30 fps, con los fallos cortados, subtítulos palabra a
palabra, zooms en los momentos clave y efectos de sonido.
MI VÍDEO
- Archivo: public/bruto.mp4 (grabado en vertical, hablando a cámara)
- Duración objetivo: [EJEMPLO: 45-60 SEGUNDOS]
- Colores y tipografía de los subtítulos: [EJEMPLO: BLANCO, PALABRA CLAVE EN #FF3B1F, INTER BLACK]
- Palabra de la llamada a la acción: [PALABRA]
Si algo sigue entre corchetes, pregúntamelo antes de empezar.
REGLAS
- Lee primero las skills de Remotion instaladas y la documentación actual de
@remotion/install-whisper-cpp y @remotion/captions.
- No toques el archivo original. Todo lo que generes va en public/ o en src/.
- Hay tres paradas (PARADA 1, 2 y 3): me enseñas el resultado y esperas mi OK.
PASO 1 · TRANSCRIBIR
1. Extrae el audio a WAV mono de 16 kHz con FFmpeg.
2. Instala Whisper.cpp y un modelo multilingüe (no uno ".en": hablo en español) con
@remotion/install-whisper-cpp y transcribe con tokenLevelTimestamps activado.
3. Convierte el resultado con toCaptions() y guarda public/captions.json: cada palabra con su
inicio y su fin en milisegundos.
PASO 2 · DECIDIR LOS CORTES → PARADA 1
Con los tiempos de cada palabra, escribe cortes.json con los tramos que se quedan. Quita:
- silencios de más de 0,4 s (deja 0,1 s de aire antes y después de cada frase);
- muletillas sueltas: "eh", "em", "bueno", "o sea" cuando no aportan;
- tomas repetidas: si digo la misma frase dos veces, quédate con la última completa;
- arranques en falso y frases cortadas a medias.
Nunca cortes en mitad de una palabra. Enséñame la transcripción final, marcando lo que quitas y
la duración resultante, y espera mi OK.
PASO 3 · MONTAR EN REMOTION
1. Una composición vertical que encadene los tramos de cortes.json con <OffthreadVideo> y
startFrom / endAt, convirtiendo milisegundos a fotogramas siempre con el mismo redondeo.
2. Recalcula los tiempos de los subtítulos sobre la nueva línea de tiempo (resta lo cortado).
3. Subtítulos con createTikTokStyleCaptions(): 1-3 palabras por pantalla, la palabra que suena
resaltada, en la zona segura (fuera del 20 % inferior, donde Instagram pone su interfaz).
4. En cada corte, alterna un zoom suave (100 % ↔ 110 %) para que el salto no se note.
5. En las 4-6 frases más importantes, un zoom de golpe y la palabra clave en grande.
PASO 4 · SONIDO
1. Busca efectos con licencia CC0 en Openverse (API pública, sin clave) o Freesound (filtro
CC0): whoosh para los zooms, pop para los textos, impacto para la palabra clave.
Guarda en public/sfx/LICENCIAS.md el nombre, autor, licencia y enlace de cada uno.
2. Colócalos con <Audio> para que su pico caiga en el fotograma del evento.
3. Si añado música, que baje bajo la voz. La voz siempre manda.
PASO 5 · PREVIEW → PARADA 2
Renderiza los primeros 10 segundos a media resolución y enséñamelos. Aplica mis cambios.
PASO 6 · RENDER FINAL → PARADA 3
Renderiza con npx remotion render (H.264, AAC). Comprueba duración, audio, que no haya
fotogramas negros y que ningún subtítulo se salga de la pantalla. Dame la ruta del MP4 y un texto
para la publicación (2-3 líneas, la palabra de la llamada a la acción y 3-5 hashtags).Qué hace cada pieza
- @remotion/install-whisper-cpp instala Whisper.cpp en tu ordenador, descarga el modelo y transcribe con marcas de tiempo por palabra. Todo en local: tu vídeo no sale de tu equipo.
- @remotion/captions agrupa las palabras en "páginas" de subtítulos estilo TikTok con
createTikTokStyleCaptions(). - Openverse y Freesound tienen efectos de sonido con licencia CC0 (puedes usarlos sin atribución, aunque conviene guardar de dónde salen).
Caso 2 · Reels faceless con voz en off
Aquí no hay grabación: Claude escribe el guion, genera la voz con ElevenLabs (puede ser tu voz clonada) y anima cada escena. El truco es el mismo que con Whisper: ElevenLabs devuelve el tiempo de cada palabra, así que cada animación entra justo cuando se dice.
- Crea una cuenta en ElevenLabs y elige una voz, o clona la tuya en Voices → Add a new voice con 1-3 minutos de audio limpio.
- Copia el Voice ID y crea una API key. Van en el archivo
.env, no en el chat. - Pega el prompt en Claude Code dentro del proyecto de Remotion.
Vas a crear un reel faceless (sin grabarme) con este proyecto de Remotion y sus skills: tú escribes
el guion, generas la voz en off, animas cada escena al ritmo de las palabras y exportas el vídeo.
MI VÍDEO
- Tema: [DE QUÉ VA EL VÍDEO]
- Marca: [COLORES, TIPOGRAFÍA, TONO]
- Voz: ElevenLabs, ID [VOICE_ID] (la clave va en .env, nunca en el chat)
- Palabra de la llamada a la acción: [PALABRA]
Si algo sigue entre corchetes, pregúntamelo antes de empezar.
PASO 1 · GUION → PARADA 1
110-170 palabras. Gancho en la primera frase, una segunda frase que abra una pregunta que solo se
cierra al final, lenguaje hablado y cierre con "Comenta [PALABRA] y te envío...". No inventes
datos ni cifras. Enséñamelo y espera mi OK.
PASO 2 · VOZ
Genera la voz con el endpoint de texto a voz con marcas de tiempo de ElevenLabs
(with-timestamps). Convierte las marcas por carácter en public/words.json (cada palabra con su
inicio y fin). Desde aquí nada se coloca a ojo: cada animación arranca en una palabra.
PASO 3 · STORYBOARD → PARADA 2
1. Inventa una metáfora visual para todo el vídeo (un objeto o lugar cuyo comportamiento ES la
idea) y de 3 a 6 elementos propios dibujados en código (SVG o CSS). Si una escena le valdría
a cualquier otro vídeo, es genérica: inventa otra.
2. Divide el guion en escenas de 1,5 a 5 s. Para cada una: palabras, qué entra en cada palabra
importante, qué se sigue moviendo y la transición.
3. Reglas: cada palabra importante añade o cambia algo; nada quieto más de 1,2 s; un solo foco a
la vez; se entiende sin sonido.
Renderiza 6 fotogramas clave (npx remotion still) y enséñamelos con la tabla.
PASO 4 · ANIMAR
Una <Sequence> por escena, con spring() e interpolate() de Remotion. Subtítulos palabra a palabra
desde words.json en la zona segura. Efectos de sonido CC0 (Openverse o Freesound) con su pico en
el fotograma del movimiento, por debajo de la voz.
PASO 5 · REVISIÓN Y RENDER → PARADA 3
Saca un fotograma del centro de cada escena y míralos: textos cortados, solapes, huecos vacíos,
escenas quietas. Corrige, renderiza el MP4 final y dame la ruta y, con sinceridad, el tramo más
flojo.
PASO 6 · QUE SEA REPETIBLE
Convierte el proceso en una skill de Claude Code para que la próxima vez baste con decir
"hazme un reel sobre [TEMA]".Para que el vídeo funcione
- Gancho en 1,5 segundos. La primera frase decide si se quedan.
- Algo nuevo en cada frase importante: un zoom, un texto o un efecto. Si la imagen se queda quieta, la gente se va.
- Se tiene que entender sin sonido. Subtítulos grandes y dentro de la zona segura.
- Constancia antes que perfección. El objetivo es poder publicar cada día y ganar alcance orgánico sin pagar anuncios ni editor.
Antes de publicarlo
- Míralo entero en el móvil y con el volumen bajo.
- No uses música comercial ni logotipos sin licencia.
- Usa solo tu voz o una que tengas permiso para usar.
- Si pides comentar una palabra, configura antes la respuesta automática por mensaje directo.
¿Prefieres que te lo montemos? En EDSO configuramos sistemas de contenido con IA adaptados a tu marca. Habla con nosotros.