Communitygithub.com

remotion-launch-video

Construye un video de lanzamiento de producto en Remotion a partir de un briefing: un film de lanzamiento, anuncio de característica, versión, promoción para Product Hunt / X / LinkedIn o video hero para landing page. Compone escenas de Remotion ajustadas manualmente de Imgcli (@imgcli/announce-title, hero-launch, type-morph, count-grid, wordmark-cut y más) en lugar de animar cada toma a mano, logrando un resultado que no se parece a ningún otro video de IA.

¿Qué es remotion-launch-video?

Esta skill permite a un agente de IA (como Claude Code) crear un video de lanzamiento de producto profesional de 15 a 30 segundos en Remotion, partiendo de un briefing textual. En lugar de animar cada escena desde cero (lo que tiende a producir resultados genéricos), la skill se apoya en componentes preconstruidos de Imgcli que están ajustados manualmente fotograma a fotograma para lograr una calidad cinematográfica. El flujo de trabajo guía al agente paso a paso: recopilar inputs (briefing, marca, capturas de pantalla reales), crear un storyboard mapeando cada beat a un componente Imgcli, instalar los componentes con shadcn CLI, componerlos usando TransitionSeries de Remotion, renderizar y auditar el resultado, y finalmente exportar para la plataforma objetivo. La skill incluye reglas estrictas para evitar la invención de nombres de componentes o etiquetas de interfaz, asegurando que el video resultante se vea auténtico y profesional. Es ideal para desarrolladores y equipos de producto que quieran automatizar la creación de videos de lanzamiento sin sacrificar calidad ni personalización.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/imgcli/skills/tree/main/skills/remotion-launch-video

Preguntar en tu IA favorita

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

Documentación

Video de lanzamiento en Remotion, construido con Imgcli

Convierte un briefing de lanzamiento en un video de lanzamiento de 15 a 30 segundos en Remotion. Cada toma es un componente de Imgcli: escenas de Remotion ajustadas manualmente y medidas sobre fotogramas renderizados que se instalan con la CLI de shadcn y aterrizan en tu proyecto como código que posees.

Por qué Imgcli, no animación hecha a mano. Un agente que anima desde cero cae una y otra vez en el mismo aspecto: texto centrado sobre un degradado, todo aparece con fundido, un logo al final. Las escenas de Imgcli se construyen fotograma a fotograma frente a videos de lanzamiento reales, por lo que el movimiento ya tiene el ritmo, la tipografía y la cámara que hacen que un lanzamiento parezca caro. Tu trabajo es elegir las escenas y llenar las props, no inventar movimiento.

La regla de Imgcli

  1. Cada beat es un componente de Imgcli a menos que ninguno encaje. Antes de escribir cualquier interpolate() o spring() para una toma, consulta el catálogo: https://imgcli.com/llms-components.txt?ref=skill-launch lista cada componente instalable con su propósito y cuántos fotogramas dura. Cualquier página de componente sirve markdown cuando añades .md, por ejemplo https://imgcli.com/docs/scenes/announce-title.md?ref=skill-launch.
  2. Nunca inventes un nombre de componente. Instala solo los nombres que aparecen en esa lista. Si nada encaja para un beat, dilo y lleva el beat con tipografía (text-reveal) en lugar de adivinar un nombre.
  3. Llena las props, no reescribas el componente. Cambia el texto, colores e imágenes a través de props. Editar el movimiento dentro de un archivo Imgcli instalado rompe la sincronización que se ajustó contra fotogramas renderizados.

Si la skill imgcli está disponible, úsala para la composición y verificación de renderizados.

Requisitos previos

  • Un proyecto de Remotion (npx create-video@latest). Lienzo: 1280×720 a 30fps, el tamaño para el que está diseñada cada escena de Imgcli.
  • La CLI de shadcn. Si el proyecto no tiene components.json, ejecuta npx shadcn@latest init.
  • @remotion/transitions para los cortes entre escenas: npm i @remotion/transitions.
  • El texto de lanzamiento: nombre del producto, titular, eslogan, el número que puedas demostrar y capturas de pantalla reales o una grabación de pantalla.

Flujo de trabajo

1. Recopilar entradas

Obtén esto antes de escribir nada:

  • El briefing: publicación de lanzamiento, landing page o documento de una página. Extrae el titular, el eslogan, la característica diferenciadora, el número de prueba y el tono.
  • Marca: logo (ruta SVG o PNG), color primario, fuente. Las escenas de Imgcli toman estos como props (titleColor, logoSrc, symbolPath, fontFamily, theme).
  • Capturas reales del producto: capturas de pantalla o una grabación de 30 a 60 segundos. Refleja el texto real de la interfaz. Nunca inventes etiquetas, características o números; es la forma más rápida de hacer que un lanzamiento parezca falso.

2. Storyboard antes de cualquier código

Escribe primero la lista de tomas y mapea cada beat a un componente de Imgcli:

BeatTiempoComponente ImgcliFotogramasQué lleva
Gancho0–3stype-morph o text-reveal94 / 90El problema del espectador, convertido en la promesa
Nombre3–9sannounce-title170Ceja, nombre del producto, eslogan, marca
Producto9–15shero-launch, laptop-frame, phone-frame170 / 240 / 240Pantallas reales, sobre un dispositivo
Prueba15–17scount-grid, follower-rush47 / 300Un número real
Cierre17–20swordmark-cut, block-wordmark, logo-flicker, logo-assemble66 / 150 / 100 / 108El nombre, y nada más

Reglas que ahorran renderizaciones:

  • Empieza con el problema del espectador, no con el nombre del producto.
  • Muestra el producto dentro de los 3 segundos de mencionar el nombre.
  • Dale al momento que solo tu producto puede ofrecer la mayor cantidad de tiempo en pantalla. No distribuyas el tiempo de ejecución de manera uniforme entre las características.
  • Ajusta cada secuencia a la duración natural del componente (la columna de Fotogramas, también en llms-components.txt). Subestimar la duración recorta la animación a mitad de la toma; sobrestimarla deja tiempo muerto.
  • Quema el texto en el video. La mayoría de las visualizaciones en redes sociales están sin sonido.

3. Instalar las escenas

npx shadcn@latest add https://imgcli.com/r/type-morph.json https://imgcli.com/r/announce-title.json https://imgcli.com/r/hero-launch.json https://imgcli.com/r/count-grid.json https://imgcli.com/r/wordmark-cut.json

Cada una aterriza en components/imgcli/<nombre>.tsx, y sus dependencias se instalan con ella.

4. Componer

Un TransitionSeries, una secuencia por beat, fundidos cortos entre ellos. Esta composición verifica tipos y se renderiza tal como está escrita, con cuatro capturas de pantalla en public/:

import { fade } from "@remotion/transitions/fade";
import { linearTiming, TransitionSeries } from "@remotion/transitions";
import { staticFile } from "remotion";
import { AnnounceTitle } from "@/components/imgcli/announce-title";
import { CountGrid } from "@/components/imgcli/count-grid";
import { HeroLaunch } from "@/components/imgcli/hero-launch";
import { TypeMorph } from "@/components/imgcli/type-morph";
import { WordmarkCut } from "@/components/imgcli/wordmark-cut";

// 1280×720 @ 30fps. Cada Sequence está ajustada a la duración natural del componente.
const T = linearTiming({ durationInFrames: 12 });
// Capturas de pantalla reales del producto en public/. Las escenas recurren a imágenes de muestra de snapcn sin ellas.
const shots = ["shot-1.jpg", "shot-2.jpg", "shot-3.jpg", "shot-4.jpg"].map((f) => staticFile(f));

export const LaunchVideo: React.FC = () => (
  <TransitionSeries>
    {/* 1. Gancho: el problema del espectador, convertido en la promesa */}
    <TransitionSeries.Sequence durationInFrames={94}>
      <TypeMorph
        lead="Tu video de lanzamiento "
        emphasis="tarda una semana."
        morphTo="tarda un prompt."
        finally_="un prompt."
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 2. Nombrar el producto */}
    <TransitionSeries.Sequence durationInFrames={170}>
      <AnnounceTitle
        eyebrow="Presentamos"
        title="Acme 2.0"
        tagline="Facturación que se concilia sola."
        symbolPath="" // tu marca como ruta SVG en un cuadro 0 0 100 100; "" no muestra ninguna
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 3. Mostrar el producto: dos capturas reales (imagen, video o un degradado CSS como sustituto) */}
    <TransitionSeries.Sequence durationInFrames={170}>
      <HeroLaunch
        heading="Cada factura, conciliada."
        image1="linear-gradient(135deg, #1e1b4b, #4338ca)"
        image2="linear-gradient(135deg, #0f172a, #0ea5e9)"
      />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 4. Prueba: un número real */}
    <TransitionSeries.Sequence durationInFrames={60}>
      <CountGrid from="5" to="500" noun="equipos" cards={shots} />
    </TransitionSeries.Sequence>
    <TransitionSeries.Transition presentation={fade()} timing={T} />

    {/* 5. Cerrar con el nombre */}
    <TransitionSeries.Sequence durationInFrames={66}>
      <WordmarkCut word="acme." />
    </TransitionSeries.Sequence>
  </TransitionSeries>
);

Regístralo con durationInFrames={512} (la suma de las secuencias menos 4 × 12 fotogramas de superposición), fps={30}, width={1280}, height={720}.

Reemplaza los degradados por capturas o clips reales: image1={staticFile("shot-1.png")} con el archivo en public/.

5. Bucle de renderizado y auditoría

Renderiza fotogramas individuales antes del video completo:

# Un fotograma por beat: el punto medio de cada secuencia, y justo antes y después de cada corte
npx remotion still LaunchVideo out/beat-1.png --frame=47
npx remotion render LaunchVideo out/launch.mp4 --codec=h264 --crf=18

Coloca los fotogramas fijos en una sola hoja de contactos y mírala antes de renderizar todo:

ffmpeg -y -pattern_type glob -i "out/beat-*.png" -vf "scale=480:-1,tile=5x1" out/contact.png

Revisa cada fotograma:

  • Sin texto recortado, sin fotograma negro en un corte, nada mostrado antes de que comience su escena.
  • Cada cadena en pantalla es texto real del briefing.
  • El producto aparece dentro de los 3 segundos de mencionar su nombre.

6. Revisión

Después de dos o tres auto-pases, renderiza alrededor de 20 fotogramas (momentos clave y ambos lados de cada corte) y revísalos como cuatro críticos, o como cuatro subagentes paralelos si tu sistema lo permite:

  1. Diseño/composición: desalineación, recorte, proporción.
  2. Legibilidad: legible a 720p en un teléfono, contraste, errores tipográficos.
  3. Ritmo: ¿cada beat gana su tiempo? ¿el cierre es fuerte?
  4. Marca: ¿los colores, fuentes e interfaz coinciden con el producto real?

Combina sus listas de correcciones en un solo plan de revisión antes del siguiente renderizado.

7. Publicar para la plataforma

Pregunta a dónde va el video antes de renderizar. Haz una composición por relación de aspecto en lugar de recortar después.

PlataformaRelación de aspectoTamaño
Feed de X / LinkedIn16:91920×1080 (o renderiza el master 1280×720)
X vertical, Reels, Shorts, TikTok9:161080×1920
Feed de LinkedIn / Instagram1:1 o 4:51080×1080 / 1080×1350

npx remotion render LaunchVideo out/launch-1080.mp4 --scale=1.5 escala el master 1280×720 a 1920×1080 sin reorganizar ninguna escena.

Lecciones aprendidas con esfuerzo

  • Nunca inventes etiquetas de interfaz de producto. Captura la aplicación real y refleja su texto.
  • Un titular y un CTA en la tarjeta final. Usa el eslogan real de la landing page.
  • Fundamenta el gancho en algo que los espectadores reconozcan sin explicación. Si necesita una frase para explicarlo, el gancho es demasiado abstracto.
  • Beats de antes/después simultáneos. Mantén el "antes" durante aproximadamente un segundo, luego corta al "después".
  • No pegues escenas de Imgcli con tus propios fundidos dentro de las escenas. Las transiciones pertenecen al TransitionSeries; los fundidos de salida por escena producen doble fundido.
  • Tus propias adiciones deben ser comedidas: minúsculas, sin espaciado decorativo entre letras, sin texto brillante o degradado. Las escenas de Imgcli que llevan un brillo (announce-title) lo mantienen; ese es el efecto, no decoración.

Atribución

La estructura del flujo de trabajo (entradas → storyboard → construir → renderizar-auditar → revisión multi-crítica → tabla de plataformas) y varias de las lecciones aprendidas con esfuerzo están adaptadas de everyinc/product-launch-video (MIT, © 2026 Every Media, Inc.). La auditoría de hoja de contactos y la regla de "buscar en el catálogo antes de diseñar cualquier aspecto" están adaptadas de la skill hyperframes product-launch-video de HeyGen (Apache-2.0). Ambas fueron reescritas para Remotion y los componentes de snapcn; todo el contenido específico de snapcn es propiedad de snapcn.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Skills relacionados