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 grabasCaso 2 · Reels faceless
Para quiénGrabas hablando a cámara y no quieres pasarte la tarde editandoNo quieres salir en cámara: el vídeo es animación con voz en off
Material de partidaTu grabación en brutoSolo un tema
Qué hace ClaudeTranscribe con Whisper, corta silencios, muletillas y tomas repetidas, subtitula, hace zooms y pone efectos de sonidoEscribe el guion, genera la voz, anima cada escena al ritmo de las palabras y la subtitula
HerramientasRemotion + Whisper.cpp + efectos CC0Remotion + 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)

  1. Instala Node.js y FFmpeg.
  2. Crea el proyecto e instala las skills oficiales de Remotion, que enseñan a Claude a usar Remotion bien:
TERMINAL
# 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 dev

Caso 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.

  1. Graba en vertical y pon el archivo en public/bruto.mp4.
  2. Pega el prompt en Claude Code dentro del proyecto de Remotion.
  3. 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.
PROMPT · CLAUDE CODE
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.

  1. 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.
  2. Copia el Voice ID y crea una API key. Van en el archivo .env, no en el chat.
  3. Pega el prompt en Claude Code dentro del proyecto de Remotion.
PROMPT · CLAUDE CODE
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.


Enlaces