Communitygithub.com

HyperFrames — Vídeo de Lanzamiento de Producto

Crea videos de lanzamiento de producto a partir de una URL, un briefing o un guion utilizando HyperFrames (HTML→MP4). Ideal para videos promocionales, recorridos de sitio o clips para redes sociales con la apariencia del producto.

¿Qué es HyperFrames — Vídeo de Lanzamiento de Producto?

Esta habilidad (skill) permite a un agente de IA crear videos profesionales de lanzamiento de producto usando HyperFrames, un pipeline nativo para agentes que convierte composiciones HTML en videos MP4 deterministas. El agente puede planificar un storyboard de 3 a 6 escenas, escribir el HTML de la composición con animaciones seekables (usando GSAP o CSS keyframes), agregar medios (imágenes, video de fondo, audio), validar el proyecto con `npx hyperframes check`, previsualizarlo en el estudio de HyperFrames y finalmente renderizarlo a MP4. La herramienta es especialmente útil para agentes autónomos como Claude Code, Cursor o Codex, ya que los LLMs escriben HTML de manera más natural y fiable que usar editores de video tradicionales. El flujo de trabajo está diseñado para clips de 30 a 90 segundos, con un máximo de ~3 minutos, y se enfoca en la generación de videos con la apariencia visual del producto, sin actores reales ni contenido generado por el usuario.

Compatible con~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/oyi77/1ai-skills/tree/HEAD/content/hyperframes-product-launch-video

Preguntar en tu IA favorita

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

Documentación

Resumen

Esta habilidad ensambla un video de lanzamiento de producto —toma principal, destacados de funcionalidades, sincronización— como una composición de HyperFrames. Úsala cuando un nuevo lanzamiento necesite un clip de anuncio ajustable y personalizable. Renderiza el MP4 final a partir de los activos del producto que proporciones.

¿Qué hace HyperFrames — Vídeo de Lanzamiento de Producto?

Crea videos de lanzamiento de producto escribiendo composiciones HTML que HyperFrames renderiza a MP4 determinista. El pipeline de video nativo para agentes: los LLMs escriben HTML (su primer lenguaje), HyperFrames renderiza video cuadro a cuadro mediante Chrome sin interfaz gráfica + FFmpeg.

Cuándo Usarlo

  • El usuario quiere un video de lanzamiento de producto a partir de una URL, un briefing o un guion
  • El usuario quiere un recorrido de sitio / demostración que muestre los propios elementos visuales del producto
  • El usuario quiere un clip para redes sociales (TikTok/Reels/Shorts) con subtítulos cinéticos y marca
  • El usuario quiere un video de marketing/promocional con superposiciones animadas y música
  • El usuario dice "hazme un video" y proporciona una URL o descripción del producto

Cuándo NO Usarlo

  • El usuario quiere contenido con personas reales / UGC / de estudio (necesita cámara, no HTML)
  • El usuario quiere transmisión en vivo / comercio en vivo (necesita ingesta RTMP)
  • El usuario quiere una entrevista con una persona hablando (usa hyperframes-embedded-captions o hyperframes-talking-head-recut)
  • El usuario quiere un video explicativo puro sin producto/URL (usa hyperframes-faceless-explainer)
  • El usuario quiere una presentación/diapositivas (usa hyperframes-slideshow)

Flujo de Trabajo

0 · Inicializar el proyecto

npx hyperframes init my-launch-video
cd my-launch-video

Esto crea la estructura del proyecto con index.html, package.json y la CLI de HyperFrames configurada.

1 · Planificar el video

  • Entrada: URL del producto, briefing o guion
  • Salida: Storyboard de 3-6 escenas con tiempos (ideal 30-90s en total)
  • Presupuesto: título ≤2s, outro ≤3s, escenas intermedias ≈8-12s cada una
  • Elegir un lenguaje de diseño: explora hyperframes.heygen.com/design para plantillas frame.md

2 · Escribir el HTML de la composición

El contrato de composición:

<!doctype html>
<html lang="es">
  <body>
    <div
      id="main"
      data-composition-id="intro"
      data-start="0"
      data-duration="15"
      data-width="1080"
      data-height="1920"
      data-fps="30"
    >
      <div
        class="clip"
        data-start="0"
        data-duration="5"
        data-track-index="0"
      >
        <!-- Contenido de la escena -->
      </div>
    </div>
  </body>
</html>

Atributos clave:

  • data-composition-id: ID único para la composición
  • data-start / data-duration: tiempos en segundos
  • data-width / data-height: dimensiones del viewport (1080×1920 para 9:16)
  • data-fps: velocidad de fotogramas (30 estándar)
  • class="clip": marca elementos temporizados
  • data-track-index: orden de capas (más alto = encima)

3 · Implementar animaciones seekable

Usa GSAP (recomendado), keyframes de CSS o WAAPI. Todas las animaciones deben ser seekable (deterministas — el mismo fotograma en el mismo tiempo, cada render).

Patrón GSAP (recomendado):

const tl = gsap.timeline({ paused: true });
tl.to("#title", { opacity: 1, y: 0, duration: 0.8, ease: "power4.out" }, 0.5);
tl.to("#image", { scale: 1, opacity: 1, duration: 1.2, ease: "power3.out" }, 1.0);
window.__timelines = { main: tl };

Patrón keyframes de CSS:

@keyframes fadeInUp {
  from { transform: translateY(40px); opacity: 0; }
  to { transform: translateY(0); opacity: 1; }
}
.animate-in {
  animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
}

4 · Agregar medios

  • Imágenes: descargar al directorio public/, referenciar con staticFile() o ruta relativa
  • Videos de fondo: colocar en assets/, repetir con data-loop
  • Audio/BGM: agregar mediante <audio data-start="0" data-duration="15" src="./bgm.mp3">
  • Narración: generar mediante TTS, alinear subtítulos con marcas de tiempo de palabras

5 · Validar y verificar

npx hyperframes check        # validar el contrato de composición
npx hyperframes lint         # verificar errores comunes

Corrige todos los errores antes de continuar. Las advertencias son aceptables pero deben revisarse.

6 · Previsualizar

npx hyperframes preview      # abre Hyperframes Studio con HMR

Revisa 3-4 momentos clave mediante __player.seek(time) en la página de composición sin procesar. Verifica:

  • Las animaciones se activan en el momento correcto
  • Sin destellos blancos en los cortes (fondo de escena opaco)
  • Subtítulos visibles y legibles
  • Niveles de audio equilibrados

7 · Renderizar

npx hyperframes render --output launch-video.mp4

Verifica la salida:

ffmpeg -ss 3 -i launch-video.mp4 -frames:v 1 frame-3s.png  # revisar subtítulos
ffmpeg -ss 15 -i launch-video.mp4 -frames:v 1 frame-15s.png # revisar escena

Tabla Anti-Racionalización

RacionalizaciónRealidad
"Solo usaré un editor de video"Los editores GUI no son nativos para agentes; HTML es lo que los LLMs escriben mejor
"Me saltaré el paso de validación"La validación detecta errores del contrato de composición que rompen los renders
"Usaré Remotion en su lugar"Remotion requiere razonamiento con React; HTML es más simple para agentes
"Agregaré animaciones de relleno para ocupar tiempo"El movimiento vacío está prohibido — cada fase debe tener propósito (ver hyperframes-cut-the-curve)
"Centraré el contenido al 42% para dejar espacio para subtítulos"Los subtítulos son una superposición — centra en el centro real (y = H/2)
"Usaré un fundido cruzado entre escenas"Los fundidos cruzados no tienen portador — usa cut-the-curve para los límites predeterminados
"Escribiré un solo archivo HTML grande sin escenas"Las escenas son la unidad de composición — cada una tiene su propio contenedor clip
"Me saltaré la previsualización y solo renderizaré"La previsualización detecta errores de tiempo que desperdician tiempo de renderizado

Ejemplo de Código

<!doctype html>
<html lang="es">
  <head>
    <meta charset="utf-8" />
    <style>
      * { margin: 0; padding: 0; box-sizing: border-box; }
      html, body { width: 100%; height: 100%; overflow: hidden; background: #0a0a0a; }
      #main {
        position: relative;
        width: 1080px;
        height: 1920px;
        overflow: hidden;
      }
      .scene {
        position: absolute;
        inset: 0;
        opacity: 0;
        transition: opacity 0.5s ease;
      }
      .scene.active { opacity: 1; }
      .hook-bg {
        background: linear-gradient(135deg, #ff6b35 0%, #f7931e 100%);
        display: flex;
        align-items: center;
        justify-content: center;
        flex-direction: column;
        padding: 80px;
        text-align: center;
        color: white;
        font-family: system-ui, sans-serif;
      }
      .hook-text {
        font-size: 72px;
        font-weight: 800;
        line-height: 1.1;
        transform: translateY(40px);
        opacity: 0;
      }
      .animate-in {
        animation: fadeInUp 0.8s cubic-bezier(0.16, 1, 0.3, 1) forwards;
      }
      @keyframes fadeInUp {
        from { transform: translateY(40px); opacity: 0; }
        to { transform: translateY(0); opacity: 1; }
      }
    </style>
  </head>
  <body>
    <div
      id="main"
      data-composition-id="product-ad"
      data-start="0"
      data-duration="15"
      data-width="1080"
      data-height="1920"
      data-fps="30"
    >
      <div class="scene hook-bg" data-start="0" data-duration="5" data-track-index="0">
        <h1 class="hook-text animate-in" data-start="0.5" data-duration="4">
          Nombre del Producto
        </h1>
      </div>
    </div>
    <script>
      // Activación de escenas mediante IntersectionObserver o temporización manual
      const scenes = document.querySelectorAll('.scene');
      scenes.forEach(scene => {
        const start = parseFloat(scene.dataset.start);
        const duration = parseFloat(scene.dataset.duration);
        setTimeout(() => scene.classList.add('active'), start * 1000);
        setTimeout(() => scene.classList.remove('active'), (start + duration) * 1000);
      });
    </script>
  </body>
</html>

Verificación

  • La composición pasa npx hyperframes check con 0 errores
  • Todas las escenas tienen data-start, data-duration, data-track-index
  • Las animaciones son seekable (deterministas, no dependientes del reloj del sistema)
  • La previsualización muestra tiempos correctos en 3+ momentos clave revisados
  • El MP4 renderizado no tiene destellos blancos, fotogramas congelados ni subtítulos faltantes
  • Los niveles de audio están equilibrados (se aplicó reducción de narración si era necesario)
  • La resolución de salida coincide con el objetivo (1080×1920 para 9:16, 1920×1080 para 16:9)

Individual skills in this repo

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

oyi77/1ai-skills

Turn a weekly changelog .md into a finished branded changelog video using HyperFrames. Use when the user provides a changelog/digest markdown and wants the weekly video, or says 'changelog video'. Self-contained — fonts, background, lexicon, and scripts ship in the skill. Produces square 1080, ~45-60s videos with animated brand mock-UIs.

oyi77/1ai-skills

The transition technique catalog for HyperFrames videos — five velocity-matched SEAMS (zoom-through, inverse zoom-through, cut-the-curve, waterfall cut, rack-focus blur-cut) plus in-scene techniques (waterfall entry, nudge curve). Covers partial-travel velocity matching, Z scale-sign rule, size-scaled blur, the 10/65/25 slide ratio, and the 2-3 transition budget. Read before authoring any transition, text-beat handoff, or kinetic text entry.

oyi77/1ai-skills

Add captions/subtitles to talking-head or launch videos using HyperFrames. Use when the user wants embedded captions, verbatim caption rails, or cinematic text behind the subject. Covers the drop/rail/embed caption model, the overlay law (captions are NOT a reserved band), matte occlusion for embedded climaxes, and word-timestamp alignment from TTS output.

oyi77/1ai-skills

Turn arbitrary text — an article, notes, a topic, a brief — into a faceless explainer video using HyperFrames. Use when the user wants a topic explainer, concept breakdown, how-to, or listicle with no product/website to capture. Every visual is invented per scene (typography, abstract graphics, diagrams, data-viz). Not a video built from a website (use hyperframes-product-launch-video).

oyi77/1ai-skills

The fallback HyperFrames workflow for anything that doesn't fit other skills — longer multi-scene pieces, brand/sizzle reels, title cards, static loops, freeform compositions. Input- and length-agnostic. Also the home of companion mode (co-create with the full toolbox). Use when no other HyperFrames skill matches, or when the user wants a freeform video.

oyi77/1ai-skills

Create short, unnarrated, design-led motion graphics (~under 10s) using HyperFrames. Use when the user wants kinetic type, stat/chart hits, logo stings, lower-thirds, animated tweets/headlines, or transparent overlay motion graphics. MP4 or transparent overlay output. Teaches seek-safe keyframe authoring and the 2-3 transition budget rule.

oyi77/1ai-skills

Turn a music track into a beat-synced HyperFrames video — lyric, slideshow, or kinetic promo. Use when the user provides an audio file, a video to pull audio from, or a mood brief for generated music. Music drives pacing. Teaches beat-map extraction, section-based scene planning, and audio-reactive visuals.

oyi77/1ai-skills

The Video Production Manager — manages ALL video production under 1ai-content. Delegates to HyperFrames, Remotion, AI video, and FFmpeg based on the task. Has memory via 1ai-hub brain, follows 1ai-rules, and reports to Content Director. Use when the user says 'make a video', 'create video', 'edit video', 'video strategy', or needs any video production work.

oyi77/1ai-skills

Agent skill at content/video/gen/SKILL.md

oyi77/1ai-skills

Use when track portfolio company KPIs, variances, returns analysis. Use when user says "monitor portfolio", "track KPIs", "portfolio returns".

oyi77/1ai-skills

Use when go-to-market planning — launch sequencing, channel strategy, audience building, PR outreach. Use when planning product launches, building launch checklists, or coordinating multi-channel campaigns.

oyi77/1ai-skills

Use when portfolio manager — capital allocation, risk management, and performance metrics tracking for trading strategies.

Skills relacionados