Remotion Video Builder
Es posible que tu conocimiento de Remotion esté desactualizado. Cuando el comportamiento exacto de la API sea importante, prefiere el servidor MCP oficial remotion-documentation o la documentación en remotion.dev.
Comienza aquí
- Si el proyecto aún no existe, créalo con
npx create-video@latesty prefiere la plantilla en blanco. - Mantén cada paquete
remotiony@remotion/*exactamente en la misma versión y evita los rangos con caret. - Estructura de entrada estándar:
src/index.tsllama aregisterRoot()src/Root.tsxregistra todos los videos con<Composition>o<Still>
Orden de construcción
- Primero modela el contrato de entrada:
- esquema de props de nivel superior
- datos de la línea de tiempo o eventos
- perfil de renderizado
- Define props compartidos con
zody pasa el esquema a cada<Composition>. - Usa
calculateMetadatapara derivardurationInFrames,width,height, props transformados ydefaultOutName. - Construye la estructura de escenas con
<Series>para el orden narrativo y<Sequence>para superposiciones, entradas, ventanas de metraje y llamadas. - En proyectos de Remotion v4.x, establece explícitamente
premountForen elementos<Sequence>que necesiten cargar activos antes de aparecer. - Agrega datos de muestra y scripts de renderizado antes de pulir la animación.
Valores predeterminados y reglas
- Usa por defecto
fps={30}y1920x1080para orientación horizontal a menos que el briefing indique lo contrario. - Usa
AbsoluteFillpara las capas. - Usa
staticFile()para todo lo que provenga depublic/. - Usa
useCurrentFrame()yuseVideoConfig()para la lógica basada en fotogramas. - Prefiere movimiento sutil:
spring()con alto amortiguamientointerpolate()con sujeción
- No uses
Math.random(). Usarandom(seed)deremotion. - Mantén la animación de texto simple y legible.
- Mantén las salidas horizontal y vertical con la misma lógica de negocio a menos que el briefing realmente requiera divergencia.
Lista de verificación para video parametrizado
- Un único esquema
z.object()compartido de nivel superior defaultPropsque coincidan con la forma de las props del componentecalculateMetadataque devuelva duración o dimensiones dinámicas cuando lo requieran las entradas- Datos de muestra en JSON o TypeScript para vista previa local
- Scripts de renderizado para cada salida objetivo
Estrategia de metraje
Soporta al menos estos modos cuando el metraje es opcional:
noneplaceholderreal
La línea de tiempo y las superposiciones aún deben renderizarse cuando no haya metraje real.
Video de lanzamiento de Millrace
Si la solicitud es sobre Millrace o el pipeline de video de lanzamiento, lee references/millrace-launch-video.md antes de implementar.
Referencias
Fuente: hashgraph-online/awesome-codex-plugins → plugins/tim-osterhus/codex-remotion-plugin/skills/remotion-video-builder/SKILL.md