Communitygithub.com

yyert123/remotion-narration

Convierte un guion de video en locución por escena para Remotion con un solo comando: un MP3 por escena con voz guardada o clonada, duraciones medidas convertidas a durationInFrames, subtítulos a nivel de palabra en el formato de Remotion y un archivo SRT.

¿Qué es remotion-narration?

Esta skill está diseñada para desarrolladores que trabajan con Remotion (o cualquier herramienta de video basada en React/código) y necesitan agregar locución a sus videos. Toma un guion en Markdown (u otro formato de texto) y lo convierte en una narración sincronizada escena por escena: genera un archivo MP3 para cada escena, calcula la duración exacta en frames basada en el audio real (evitando desviaciones), y produce subtítulos palabra por palabra en el formato `Caption[]` de Remotion, además de un archivo SRT. Soporta tanto voces guardadas en la cuenta de Miragea como la clonación de una voz a partir de un clip público de referencia. La skill utiliza la API de Miragea para la generación de voz y sincronización, sin necesidad de GPU ni ElevenLabs. El proceso es incremental: las escenas ya generadas se reutilizan si el guion no cambia, y si la ejecución se interrumpe, se retoma desde donde quedó. Es ideal para comandos como "agregar locución", "narrar estas escenas" o "sincronizar escenas con la narración".

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/yyert123/miragea-skills/tree/HEAD/remotion-narration

Preguntar en tu IA favorita

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

Documentación

Narración para Remotion

Escribe todo lo que necesita una composición de Remotion para ser impulsada por su locución: audio por escena, duraciones exactas, fotogramas de inicio y subtítulos. Las longitudes de las escenas provienen del audio real, por lo que nada se desvía.

Cuándo usarlo

  • El usuario tiene un guion (Markdown, texto o JSON) y un proyecto de Remotion y quiere narración.
  • Las escenas deben durar exactamente lo que dura su locución; los subtítulos deben seguir la voz palabra por palabra.

Pasos

  1. Asegúrate de que MIRAGEA_API_KEY esté configurada (no la imprimas nunca). Elige la voz:

    • --voice VOICE_ID — una voz guardada en la cuenta de Miragea del usuario, o
    • --ref-url https://... — un clip público de la voz a clonar (con el consentimiento del usuario), más --ref-text "palabras exactas en el clip" para la tarifa 1x más económica.
  2. Escribe el guion. Cada ## Título (o párrafo separado por línea en blanco) se convierte en una escena:

    ## intro
    Conoce Retake, la forma más rápida de corregir un error de locución.
    ## demo
    Escribe la palabra correcta. Retake vuelve a vocalizar la frase y la inserta.
    
  3. Genera en la carpeta public/ de Remotion:

    python3 scripts/narrate.py script.md --voice VOICE_ID --out public/narration --fps 30
    
  4. Usa public/narration/narration.json en la composición (consulta examples/Narrated.tsx): totalFrames para durationInFrames, el startFrame / durationInFrames de cada escena para un <Sequence>, staticFile('narration/' + scene.file) para <Audio>, y scene.captions (Remotion Caption[]: text, startMs, endMs, timestampMs, confidence) con @remotion/captions createTikTokStyleCaptions() para subtítulos animados.

  5. Edita el guion y vuelve a ejecutar libremente: las escenas sin cambios se reutilizan del manifiesto sin costo; si una ejecución se detiene a medio camino, las escenas terminadas se conservan y la siguiente ejecución las retoma.

Opciones

BanderaValor por defectoSignificado
--fps30Fotogramas por segundo para los cálculos de fotogramas
--pad0.4Segundos de margen después de cada escena
--captions mirageasíSincroniza los subtítulos con el audio generado (preciso; +3 puntos/s)
--captions estimateGratuito: distribuye las palabras por longitud
--modelexpressivestandard sigue la voz de referencia más fielmente
--speed1.00.25-4

Las escenas de más de 2000 caracteres se dividen al final de las oraciones y se unen automáticamente.

Solución de problemas

  • choose a voice -> pasa --voice o --ref-url. Las URL de referencia deben ser públicas, tener menos de 1024 caracteres y servirse directamente (funcionan los objetos sin procesar de GitHub, S3/R2 públicos; las redirecciones firmadas pueden no funcionar).
  • 401/402/429 -> clave, saldo, límite de tasa. Volver a ejecutar siempre es seguro.

Individual skills in this repo

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

Skills relacionados