Communitygithub.com

Vídeo de lançamento: cole uma URL, teaser de marca de 25 s

Transforma qualquer URL em um vídeo de lançamento ou promo em motion graphics de cerca de 25 segundos em 1920x1080 que copia o design do próprio site: fundo, cores, fontes, logo, estilo de interface e textos reais, com música procedural livre de royalties em um estilo diferente a cada vez e whooshes nas trocas de cena. Renderizado por código no sandbox da Higgsfield, sem gastar créditos de geração de vídeo ou áudio; vertical 9:16 sob pedido.

O que é Vídeo de lançamento: cole uma URL, teaser de marca de 25 s?

Receita Vídeo de lançamento, passo 3 (o teaser instantâneo), de amitkushh/website-launch-video-skill. Requer Claude Code, o conector da Higgsfield (conta gratuita basta) e uma ferramenta de navegador. O agente lê o site (texto, cores, fontes, logo), monta as cenas a partir de um template de motion graphics, gera a música de forma procedural (6 estilos, tom aleatório) e entrega <brand>_launch.mp4 a 30 fps, H.264 + AAC. Aceita cupons, escolha de estilo musical e formato vertical, e lembra de adicionar #ad em promoções pagas.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Vídeo de lançamento de site

Responda no idioma do usuário. O texto do vídeo em inglês, a menos que solicitado de outra forma. Saída: <marca>_launch.mp4 no diretório de trabalho (1920x1080, 30fps, H.264 + AAC). Custo: sem créditos de geração. Nunca chame generate_video / generate_audio para este fluxo de trabalho – tudo é renderizado com código no sandbox Higgsfield.

Requisitos

  • Conector MCP Higgsfield (fornece sandbox_exec, media_upload, media_confirm, get_workflow_instructions).
  • Uma ferramenta de navegador (navegador embutido ou Claude no Chrome) para ler o site.

Informações a obter (pergunte apenas se estiver faltando)

  • URL do site (obrigatório).
  • Opcional: cupom/desconto, se é produto próprio do usuário ou promoção paga (promoção → lembre-o de adicionar #ad ao publicar), estilo musical, vertical 9:16.

Passo 1 – Ler o site

  • Navegue até a URL, então execute JS document.body.innerText (aguarde ~2s para SPAs). Colete: H1, subtítulo, 4-6 títulos de funcionalidades, preço, texto de oferta/cupom, linha de garantia/confiança, rótulo do CTA.
  • Faça captura de tela e role 2-3 vezes para ver o estilo visual (cards, pills, sobrancelhas, botões, cores de palavras de destaque).
  • Pegue os estilos computados: fontFamily, color, backgroundColor, letterSpacing, fontWeight de body/h1/h2/button, além de uma contagem de frequência de todas as cores de fundo e texto.
  • Se a página renderizar sem estilo (CSS bloqueado), puxe o CSS no sandbox em vez disso: curl -sL -A "Mozilla/5.0" URL -o index.html; grep -o '/_next/static/[^"]*\.css' index.html (ou qualquer <link rel=stylesheet>), faça curl deles para all.css, então grep -oE -- '--(background|foreground|brand|primary|accent|muted|border|card|surface|ink)[a-z-]*:[^;}]*' all.css | sort -u e grep -o 'font-family:[^;}]*' all.css | sort -u.
  • Logo: <img> no cabeçalho (ex.: /logo.png) ou /android-chrome-512x512.png / /apple-touch-icon.png. Logos de parceiros em SVG → convert -background none -density 1200 x.svg -resize 400x400 x.png.

Passo 2 – Tokens de design

Mapeie o site para os tokens do template: BG, INK (título), MUTED (cinza do corpo), BRAND (destaque), BRAND_SOFT (tom de destaque para chips), PANEL (fundo do card cinza), WHITE (card). Site escuro → BG escuro, INK claro, sem sombra suave. Espelhe os padrões do site: títulos de duas linhas com destaque na linha 2 se o site fizer isso, chips de rótulo/sobrancelha, botões pill com seta, painel cinza com cards brancos.

Passo 3 – Fontes

TTF estático por peso do fontsource (qualquer fonte Google): curl -sf -o font-800.ttf https://cdn.jsdelivr.net/fontsource/fonts/<slug-da-fonte>@latest/latin-800-normal.ttf (slug = minúsculo, espaços → traços, ex.: bricolage-grotesque, urbanist). Use via typography={{fontAssetId: handle.id}} após await p.add("font-800.ttf"). O subconjunto latino não tem glifos → ✓ ★ – use icon("arrow-right") etc. Famílias embutidas (Inter, DM Sans, Montserrat…) podem usar higgsedit fonts add . Inter:400 Inter:700 + fontFamily.

Passo 4 – Roteirizar o vídeo

Carregue o fluxo de trabalho video-editing do Higgsfield uma vez por sessão (get_workflow_instructions {workflow:"video-editing"}) antes do trabalho Higgsedit. Comece de reference/template.jsx. Estrutura padrão, ~25s:

#CenaTempoConteúdo
1Gancho0-3.3a dor em 2 linhas, sobrancelha "Para <público>"
2Apresentação3.3-7logo + marca, H1 do site, subtítulo, botão CTA aparece
3-6Funcionalidades~3.7s cadasobrancelha = rótulo da seção do site, título = título original da funcionalidade do site, um mock nativo de UI (cards de estatística com contadores, linhas com tags, grade de heatmap, lista de fila, card de review, pílulas de dia…)
7CTAúltimos ~4.3slogo + domínio, card de preço/oferta, pílula de cupom + botão, linha de garantia

Regras:

  • Use o texto real do site e números de exemplo reais. Informe ao usuário quais valores de demonstração são ilustrativos. Nunca invente contagens de usuários ou depoimentos.
  • Recrie a UI nativamente (frames/texto/ícones). Não use screenshots de baixa resolução ou UI gerada por IA.
  • Mantenha os tempos de início das cenas – a música precisa deles (cuts = início das cenas 2..7).

Passo 5 – Construção no sandbox & pré-visualização

Fatos do sandbox: arquivos desaparecem quando ele é reiniciado (baixe novamente os assets se cd falhar); um comando ≤ 16.000 caracteres (escreva URLs de upload em arquivos em uma chamada separada do heredoc longo cat > edit.jsx); renders longos → background:true depois consulte.

  1. Faça media_upload das saídas antecipadamente (uma sheet.png de pré-visualização e o .mp4 final) e salve cada upload_url em um .txt no sandbox. URLs pré-assinadas são de uso único: um segundo PUT retorna 412 – solicite uma nova.
  2. Construção + folha de contato + upload em uma chamada: higgsedit build edit.jsx 2>&1 | grep -iE "error|missing"; higgsedit sheet . --times <ponto médio de cada cena + fim do 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, baixe a URL pública retornada localmente e olhe para ela. Corrija problemas de layout antes do render final.

Pegadinhas do Higgsedit:

  • padding é um número ou {left,right,top,bottom}, nunca um array.
  • Token motion={{by:"word"|"character"}} em texto centralizado causa refluxo (o texto pula da esquerda). Use animate={pop} para texto centralizado; token motion apenas para texto "digitando" alinhado à esquerda.
  • Um target de timeline deve ser um frame filho nomeado imediato, não ele mesmo – anime ele mesmo com keyframes animate (delayPop).
  • Contadores: frame layout="none" de tamanho fixo com um texto estático; sem separadores de milhares.
  • animate é sempre um array; motion de frame é um objeto.

Passo 6 – Renderizar

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

Passo 7 – Música (diferente a cada vez)

scripts/music.py = música procedural numpy, royalty-free. Estilos: pop (120bpm vibrante), lofi (82bpm chill jazz), synthwave (105bpm retrô), house (124bpm fora do ritmo), cinematic (90bpm épico), marimba (110bpm amigável). Cada faixa: um whoosh antes de cada corte, um impacto no CTA, fade-out de 1.6s.

Escolha o estilo – nunca repita os dois últimos:

  1. Leia music-history.log nesta pasta da skill (crie se não existir).
  2. Combine com a vibe: dev/AI/tech → synthwave ou house; criador/escrita/produtividade → lofi ou marimba; lançamento grande/premium → cinematic; consumidor/divertido → pop. Pule estilos usados nas últimas 2 entradas, a menos que o usuário peça um.
  3. --seed aleatório → tom e progressão aleatórios, então mesmo o mesmo estilo soa diferente.
  4. Acrescente YYYY-MM-DD <site> <estilo> seed=<n> a music-history.log.

Para colocar music.py no sandbox (primeira execução): media_upload com nome de arquivo music.py → da máquina local curl -X PUT -H "Content-Type: application/octet-stream" --data-binary @scripts/music.py '<upload_url>' → media_confirm type:file → salve a URL pública retornada em music_url.txt nesta pasta da skill. Execuções posteriores: curl -sf -o music.py "$(cat music_url.txt)" dentro do sandbox (re-upload se der 404 ou music.py mudar).

Mixagem:

python3 music.py --style <estilo> --duration <segundos do 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

Duração: ffprobe -v error -show_entries format=duration -of csv=p=0 renders/promo.mp4.

Passo 8 – Entregar

Faça upload de final.mp4 (URL nova) → media_confirm type:video → baixe localmente como <marca>_launch.mp4 → entregue o arquivo ao usuário. Relate: o que corresponde ao site (bg/cores/fonte/logo), a lista de cenas, o estilo musical, quais valores são ilustrativos. Ofereça uma versão 9:16 ou um estilo musical diferente.

Variante 9:16

size: "1080x1920", W=1080 / H=1920, empilhe linhas verticalmente (cards em uma coluna), tamanhos de título ×0.75, mesmos tempos e música.

Habilidades Relacionadas