Communitygithub.com

Video de lanzamiento: pega una URL, teaser de marca de 25 s

Convierte cualquier URL en un video de lanzamiento o promo de motion graphics de unos 25 segundos en 1920x1080 que copia el diseño del propio sitio: fondo, colores, fuentes, logo, estilo de interfaz y textos reales, con música procedural libre de derechos en un estilo distinto cada vez y whooshes en los cambios de escena. Se renderiza con código en el sandbox de Higgsfield, sin gastar créditos de generación de video o audio; vertical 9:16 si lo pides.

¿Qué es Video de lanzamiento: pega una URL, teaser de marca de 25 s?

Receta Video de lanzamiento, paso 3 (el teaser instantáneo), de amitkushh/website-launch-video-skill. Requiere Claude Code, el conector de Higgsfield (basta una cuenta gratuita) y una herramienta de navegador. El agente lee el sitio (texto, colores, fuentes, logo), arma las escenas desde una plantilla de motion graphics, genera la música de forma procedural (6 estilos, tonalidad aleatoria) y entrega <brand>_launch.mp4 a 30 fps, H.264 + AAC. Admite códigos de cupón, estilo musical y formato vertical, y recuerda añadir #ad en promociones pagadas.

Compatible con✓Claude Code~Codex CLI~Cursor
npx skills add amitkushh/website-launch-video-skill

Preguntar en tu IA favorita

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

Documentación

Vídeo de lanzamiento de sitio web

Responde en el idioma del usuario. El texto del vídeo se genera en inglés a menos que se solicite lo contrario. Salida: <marca>_launch.mp4 en el directorio de trabajo (1920x1080, 30fps, H.264 + AAC). Coste: sin créditos de generación. Nunca llames a generate_video / generate_audio para este flujo: todo se renderiza con código en el sandbox de Higgsfield.

Requisitos

  • Conector MCP de Higgsfield (proporciona sandbox_exec, media_upload, media_confirm, get_workflow_instructions).
  • Una herramienta de navegador (navegador integrado o Claude en Chrome) para leer el sitio.

Datos de entrada a obtener (preguntar solo si faltan)

  • URL del sitio web (obligatorio).
  • Opcional: cupón / descuento, si es producto propio o promoción pagada (en promoción, recordar añadir #ad al publicar), estilo musical, versión vertical 9:16.

Paso 1 – Leer el sitio

  • Navega a la URL y luego ejecuta JS document.body.innerText (espera ~2s para SPAs). Recoge: H1, subtítulo, 4-6 encabezados de características, precios, texto de oferta/cupón, línea de garantía/confianza, texto del CTA.
  • Captura pantalla y desplázate 2-3 veces para ver el estilo visual (tarjetas, píldoras, cejas, botones, colores destacados de palabras).
  • Obtén los estilos computados: fontFamily, color, backgroundColor, letterSpacing, fontWeight de body/h1/h2/button, más un recuento de frecuencias de todos los colores de fondo y texto.
  • Si la página se renderiza sin estilos (CSS bloqueado), extrae el CSS en el sandbox:
    curl -sL -A "Mozilla/5.0" URL -o index.html; grep -o '/_next/static/[^"]*\.css' index.html` (o cualquier `<link rel=stylesheet>`), haz curl de ellos en `all.css`, luego
    grep -oE -- '--(background|foreground|brand|primary|accent|muted|border|card|surface|ink)[a-z-]*:[^;}]*' all.css | sort -u
    grep -o 'font-family:[^;}]*' all.css | sort -u
    
  • Logo: <img> en el header (ej. /logo.png) o /android-chrome-512x512.png / /apple-touch-icon.png. Logos de socios en SVG → convert -background none -density 1200 x.svg -resize 400x400 x.png.

Paso 2 – Tokens de diseño

Asigna los tokens de la plantilla según el sitio: BG, INK (título), MUTED (gris del cuerpo), BRAND (acento), BRAND_SOFT (tinte del acento para chips), PANEL (fondo de tarjeta gris), WHITE (tarjeta). Sitio oscuro → BG oscuro, INK claro, sin sombra suave. Refleja los patrones del sitio: títulos de dos líneas con el acento en la línea 2 si el sitio lo hace, chips de ceja/etiqueta, botones tipo píldora con flecha, panel gris con tarjetas blancas.

Paso 3 – Fuentes

TTF estáticos por peso desde fontsource (cualquier fuente de Google):

curl -sf -o font-800.ttf https://cdn.jsdelivr.net/fontsource/fonts/<slug-fuente>@latest/latin-800-normal.ttf

(slug = minúsculas, espacios → guiones, ej. bricolage-grotesque, urbanist). Usa mediante typography={{fontAssetId: handle.id}} tras await p.add("font-800.ttf"). El subconjunto latino no contiene los glifos → ✓ ★ – usa icon("arrow-right") etc. Las familias integradas (Inter, DM Sans, Montserrat…) pueden usar higgsedit fonts add . Inter:400 Inter:700 + fontFamily.

Paso 4 – Guion del vídeo

Carga el flujo de trabajo video-editing de Higgsfield una vez por sesión (get_workflow_instructions {workflow:"video-editing"}) antes del trabajo con Higgsedit. Parte desde reference/template.jsx. Estructura por defecto, ~25s:

#EscenaDuraciónContenido
1Gancho0-3.3El dolor en 2 líneas, ceja "Para "
2Presentación3.3-7Logo + marca, H1 del sitio, subtítulo, botón CTA aparece
3-6Características~3.7s cada unaCeja = etiqueta de sección del sitio, título = el propio encabezado de la característica del sitio, un mock nativo de UI (tarjetas de estadísticas con contadores, filas con etiquetas, cuadrícula de mapa de calor, lista de cola, tarjeta de reseña, píldoras de días…)
7CTAúltimos ~4.3sLogo + dominio, tarjeta de precio/oferta, píldora de cupón + botón, línea de garantía

Reglas:

  • Usa el texto real del sitio y números de ejemplo reales. Indica al usuario qué valores demostrativos son ilustrativos. Nunca inventes recuentos de usuarios ni testimonios.
  • Recrea la interfaz de forma nativa (marcos/texto/iconos). No uses capturas de pantalla de baja resolución ni interfaz generada por IA.
  • Mantén los tiempos de inicio de escena – la música los necesita (cuts = inicio de las escenas 2..7).

Paso 5 – Construcción en el sandbox y vista previa

Hechos sobre el sandbox: los archivos desaparecen al reiniciarse (vuelve a descargar assets si cd falla); un comando ≤ 16,000 caracteres (escribe las URLs de subida en archivos en una llamada separada del heredoc largo cat > edit.jsx); renders largos → background:true y luego consulta.

  1. media_upload las salidas de antemano (una vista previa sheet.png y el .mp4 final) y guarda cada upload_url en un .txt dentro del sandbox. Las URLs prefirmadas son de un solo uso: un segundo PUT devuelve 412 – solicita una nueva.
  2. Construcción + hoja de contactos + subida en una sola llamada:
    higgsedit build edit.jsx 2>&1 | grep -iE "error|missing"
    higgsedit sheet . --times <punto medio de cada escena + final del CTA> --cols 3 --out renders/sheet.png
    curl -s -o /dev/null -w "%{http_code}" -X PUT -H "Content-Type: image/png" --upload-file renders/sheet.png "$(cat sheet_url.txt)"
    
  3. media_confirm, descarga la URL pública devuelta localmente y mírala. Corrige problemas de diseño antes del render final.

Trucos de Higgsedit:

  • padding es un número o {left,right,top,bottom}, nunca un array.
  • El token motion={{by:"word"|"character"}} en texto centrado refluye (el texto salta desde la izquierda). Usa animate={pop} para texto centrado; token motion solo para texto "mecanografiado" alineado a la izquierda.
  • Un target de la línea de tiempo debe ser un marco hijo inmediato con nombre, no a sí mismo – anima a sí mismo con keyframes animate (delayPop).
  • Contadores: marco de tamaño fijo layout="none" con un solo texto estático; sin separadores de miles.
  • animate es siempre un array; el motion del marco es un objeto.

Paso 6 – Renderizado

higgsedit render . --out renders/promo.mp4 --quality final (≈1 min para 25s).

Paso 7 – Música (diferente cada vez)

scripts/music.py = música procedural con numpy, libre de derechos. Estilos: pop (120bpm brillante), lofi (82bpm jazz relajado), synthwave (105bpm retro), house (124bpm fuera de ritmo), cinematic (90bpm épico), marimba (110bpm amigable). Cada pista: un whoosh antes de cada corte, un impacto en el CTA, fundido de salida de 1.6s.

Elige el estilo – nunca repitas los dos últimos:

  1. Lee music-history.log en esta carpeta de la skill (créealo si falta).
  2. Adecuación: dev/AI/tech → synthwave o house; creador/escritura/productividad → lofi o marimba; lanzamiento grande/premium → cinematic; consumidor/diversión → pop. Omite estilos usados en las últimas 2 entradas a menos que el usuario solicite uno.
  3. --seed aleatorio → tonalidad y progresión aleatorias, incluso el mismo estilo sonará diferente.
  4. Añade YYYY-MM-DD <sitio> <estilo> seed=<n> a music-history.log.

Para llevar music.py al sandbox (primera ejecución): media_upload con nombre music.py → desde la máquina local curl -X PUT -H "Content-Type: application/octet-stream" --data-binary @scripts/music.py '<upload_url>' → media_confirm type:file → guarda la URL pública devuelta en music_url.txt en esta carpeta de la skill. Ejecuciones posteriores: curl -sf -o music.py "$(cat music_url.txt)" dentro del sandbox (vuelve a subirlo si da 404 o cambió music.py).

Mezcla:

python3 music.py --style <estilo> --duration <segundos del vídeo> --cuts <c2,c3,...,c7> --seed <n> --out music.wav
ffmpeg -y -v error -i renders/promo.mp4 -i music.wav -filter:a "loudnorm=I=-15:TP=-1.5:LRA=11" -c:v copy -c:a aac -b:a 192k -map 0:v -map 1:a -shortest final.mp4

Duración: ffprobe -v error -show_entries format=duration -of csv=p=0 renders/promo.mp4.

Paso 8 – Entrega

Sube final.mp4 (URL nueva) → media_confirm type:video → descárgalo localmente como <marca>_launch.mp4 → entrega el archivo al usuario. Informa: qué coincide con el sitio (fondo/colores/fuente/logo), la lista de escenas, el estilo musical, qué valores son ilustrativos. Ofrece una versión 9:16 o un estilo musical diferente.

Variante 9:16

size: "1080x1920", W=1080 / H=1920, apila las filas verticalmente (tarjetas en columna), tamaños de título ×0.75, mismos tiempos y música.

Skills relacionados