Vídeo com agentes · fork INEMA

Clone o vídeo viral, não só o roteiro

Você entrega um vídeo e o agente refaz o fluxo inteiro como projeto editável: fala, legenda, b-roll e efeitos.

Banner Hypit: clone o viral
Em resumo

O Hypit é uma ferramenta de código aberto que ensina agentes como o Claude Code e o Codex a produzir vídeo. Você mostra um vídeo de referência e o agente monta um projeto com o mesmo jeito de funcionar: o roteiro, as imagens, a voz, a legenda e as animações, tudo amarrado às palavras faladas. Serve para quem faz vídeo curto e quer variações rápidas (outro apresentador, outro tema, outro idioma). Para rodar precisa de Node, pnpm e FFmpeg; as partes de vídeo e imagem gerados por IA usam serviços pagos, mas animação feita em código renderiza local, sem custo. Este é um fork do hypit-ai/hypit, testado no servidor do INEMA.

O que é

Um vídeo vira um projeto que se refaz

Em vez de editar na linha do tempo, o agente escreve um arquivo de texto (SVML) que descreve o vídeo. Mudou a fala, o resto acompanha.

As seis partes do Hypit: referência, roteiro SVML, palavra-âncora, legenda karaokê, render local e variações

🎯 Clona o sistema, não o texto

O agente assiste à referência, transcreve com o tempo de cada palavra e anota por que cada corte, imagem e legenda aparece onde aparece.

🔗 Eventos presos à palavra

No roteiro, @{trofeu} … @{/trofeu} marca quando uma imagem entra e sai. Se a frase muda ou vira outro idioma, o tempo se ajusta sozinho.

♻️ Uma base, muitas variações

Troque o apresentador, o gancho, o produto ou a língua e renderize de novo, reaproveitando o material que não mudou.

Como funciona

Da referência ao MP4

O agente usa a skill /hypit para ler a referência e escrever o projeto; a CLI hypit confere e renderiza.

Vídeo de referência→ Transcrição com tempo por palavra→ Leitura do porquê funciona→ Projeto SVML→ hypit check→ hypit build→ final.video (MP4)

SVML

Arquivo tipo HTML com roteiro, pedidos de imagem/voz/vídeo, clipes, legenda e componentes visuais.

Componentes

Pacotes de layout e movimento: placar de ranking, legenda karaokê, sticker de comentário, tela dividida de podcast.

Runtime

Define onde cada etapa roda: render HTML num Chrome sem janela + FFmpeg local, ou serviços de geração externos.

Pré-requisitos

O que precisa na máquina

Para o teste local deste guia nada é pago. Testado em 15/10/2026 num servidor Linux ARM (NVIDIA GB10).

Node 22.15+ e pnpm 10

Usamos Node 24 e pnpm 10.33.

node -v; pnpm -v

FFmpeg

Monta o vídeo final e lê as mídias.

ffmpeg -version | head -1

Chrome sem janela

Desenha os quadros. Em x86 o Hypit baixa o dele; em ARM aponte para o do Playwright (passo 4).

npx playwright install chromium-headless-shell
Guia de uso · passo a passo

Do clone ao primeiro vídeo, sem API

O exemplo chat.svml é uma animação de chat de 8 s desenhada só em código. Não usa roteiro falado, IA de imagem nem vídeo de origem.

1

Clone e instale

A instalação só baixa pacotes JavaScript; não baixa navegador.

git clone https://github.com/inematds/hypit
cd hypit
pnpm install --frozen-lockfile
2

Compile os tipos e o componente do exemplo

O componente @example/chat-scene é o que desenha as mensagens.

pnpm build:public-types
pnpm --filter @example/chat-scene build
3

Confira o projeto

O check valida o SVML e não chama nenhum serviço.

node bin/hypit.mjs check examples/semantic-composition/chat.svml \
  --project examples/semantic-composition
# ✓ Source is valid · Outputs 11
4

Só em ARM: aponte o Chrome

O Hypit tenta usar um Chrome x86 que não existe em ARM (erro MANAGED_PROGRAM_DOWN). Crie um runtime com chromePath para o headless ARM do Playwright. Em x86, pule este passo e use hypit.runtime.json.

# examples/semantic-composition/hypit.runtime.arm.json
{
  "format": "hypit.runtime-local@1",
  "dataRoot": ".hypit/runtimes/local",
  "endpoints": {
    "media.local": { "use": "@hypit/media-local", "config": { "defaultConcurrency": 2 } },
    "html.local": { "use": "@hypit/provider-html-local", "config": { "workers": 2,
      "chromePath": "~/.cache/ms-playwright/chromium_headless_shell-1248/chrome-headless-shell-linux-arm64/chrome-headless-shell" } }
  }
}
# troque ~ pelo caminho absoluto da sua pasta pessoal
5

Renderize

Aqui levou cerca de 10 s para 240 quadros.

node bin/hypit.mjs build examples/semantic-composition/chat.svrun \
  --project examples/semantic-composition \
  --runtime examples/semantic-composition/hypit.runtime.arm.json --follow
# ✓ Build complete · Build bld_...
6

Exporte o MP4

Use o id do build que apareceu no passo anterior.

node bin/hypit.mjs get bld_... --output final.video \
  --project examples/semantic-composition --to chat.mp4
# 540×960, 8 s, h264 + aac
7

Peça ao agente

Instale a skill no Claude Code ou no Codex e descreva o vídeo, com ou sem referência.

npx skills add hypit-ai/hypit -g
# dentro do agente:
/hypit Clone este vídeo: /caminho/video.mp4 e troque o tema por ferramentas de IA
/hypit Faça um vídeo de ranking que põe o INEMA.CLUB no S tier
Exemplos

O que saiu no nosso teste

Quadros do chat.mp4 renderizado no servidor do INEMA, sem nenhuma chamada de API.

Quadro aos 2,5 s: primeiras mensagens do chat
2,5 s: as mensagens chegam nos tempos definidos no SVML.
Quadro aos 6 s: quatro mensagens na tela
6 s: a cena inteira é um componente HTML/CSS que continua editável.

Os exemplos virais do projeto original (ranking de futebol, podcast, entrevista de rua) custaram cerca de US$ 1 cada, em vídeo e imagem gerados por serviços pagos. Veja a pasta examples/.

Limites

O que saber antes de usar

O que pesamos ao testar.

💳 Geração é paga

Os clones virais usam Seedance (vídeo), GPT Image (imagem) e Fish Audio ou ElevenLabs (voz), via conta própria em cada serviço. Sem eles, sobra o que é local: transcrição WhisperX, animação em código e FFmpeg.

📜 Licença com condições

Apache 2.0 modificada: uso próprio, inclusive comercial, é livre. Oferecer como serviço para terceiros ou revender exige licença comercial, e não se pode tirar o nome e o logo da CLI. Os vídeos gerados são seus.

🧩 Mais um motor

É um motor de vídeo completo. Quem já usa HyperFrames ou outro motor pode aproveitar as ideias sem trocar de ferramenta.

Para o INEMA

O que vamos estudar a partir dele

Ideias anotadas para os motores de vídeo do INEMA. Nenhuma foi aplicada ainda.

Ideia 1
Deixa presa à palavraMarcar no roteiro onde cada imagem entra e sai, para o tempo acompanhar a fala e as traduções EN/ES.
Ideia 2
Leitura da referênciaO roteiro deles para entender por que um vídeo prende: cada elemento ligado à palavra que ele serve.
Ideia 3
Formatos prontosRanking/tier list, podcast em tela dividida, entrevista de rua, talking head, short drama e demo narrada.
Ideia 4
Variações em loteUm vídeo base gerando vários ganchos e idiomas sem refazer o que não mudou.