vibeeditor-render
v0.8.1
Published
Vibe Render: exporta os vídeos do Editor IA (vibeeditor.com.br) no seu computador, com Remotion + Chrome Headless Shell.
Maintainers
Readme
Vibe Render
Exporta os vídeos do Editor IA (vibeeditor) no seu computador. Você edita e vê a prévia no navegador; o Vibe Render monta o MP4 final aqui, com Remotion e o Chrome Headless Shell. O vídeo bruto não sobe para servidor nenhum.
Como usar
Precisa do Node.js 20 ou mais novo.
npx vibeeditor-render@latestNa primeira vez ele baixa o navegador de render (uns 100 MB) e, em segundo plano, o ffmpeg do tratamento de áudio (uns 30 MB; ver Licença) e cria o atalho Vibe Render na área de trabalho (Windows e Mac). Depois:
- Abra plat.vibeeditor.com.br/editor/render e clique em Conectar.
- O site mostra um código como
ABCD-2345. Digite na janela do Vibe Render e aperte Enter. - Deixe a janela aberta. Os vídeos exportados pelo site vão para
Documentos/Vibe Editor/Exportações.
Nunca abriu um terminal? A tela do site tem um pedido pronto para colar no Claude Code (extensão do VS Code): ele instala o Node.js, se faltar, e cria o atalho.
| Comando | O que faz |
|---|---|
| npx vibeeditor-render@latest | abre o Vibe Render |
| … --codigo ABCD-2345 | pareia sem perguntar |
| … --pasta "C:\Videos" | muda a pasta dos vídeos (fica guardada) |
| … --voicestudio http://127.0.0.1:3900 | endereço do VoiceStudio deste computador (fica guardado) |
| … desparear | desliga este computador da conta |
| … atalho | (re)cria o atalho na área de trabalho e sai |
| … --ajuda | mostra os comandos |
Voz clonada (VoiceStudio)
A página VoiceStudio do site gera a narração com a sua voz clonada pelo VoiceStudio,
um app open source que também roda no seu computador (API em http://127.0.0.1:3900). O navegador não alcança
esse app sozinho, então o Vibe Render repassa os pedidos (/v1/voz/...) para ele, só em endereço local
(127.0.0.1, localhost ou [::1]). O endereço muda pelo site, por --voicestudio ou pela variável
VIBE_RENDER_VOICESTUDIO (esta manda) e fica em voicestudio.json na pasta de dados. Os pesos do modelo padrão
do VoiceStudio (OmniVoice) são CC-BY-NC: uso pessoal, não comercial.
Segurança
- O servidor escuta só em
127.0.0.1(portas 47817 a 47820) e confere o cabeçalhoHost(barra DNS rebinding). - Só atende o site
https://plat.vibeeditor.com.br(Origin), e só com uma sessão curta assinada pelo servidor com o segredo deste aparelho. Outro site, ou outro programa sem essa sessão, recebe 403/401. - O código de motion que o site manda roda dentro do Chromium do render, com lista fechada de módulos
(
host/src/modulos.js) e CSP que fecha a rede. Nunca roda no Node. - O pareamento fica em
credenciais.jsonna pasta de dados (só do seu usuário). O site revoga o aparelho a qualquer hora em Meus aparelhos; o app reconfere a cada 10 minutos.
Pasta de dados: %LOCALAPPDATA%\vibeeditor-render (Windows), ~/Library/Application Support/vibeeditor-render
(Mac), ~/.local/share/vibeeditor-render (Linux). Apagar a pasta zera tudo, inclusive o navegador baixado.
Desenvolvimento
npm install
npm test # núcleo, segurança, CLI
npm start # gera host-dist/ se faltar e abre o Vibe Render
npm run benchmark # renderiza scripts/amostra.tsx pelo servidor local, nos 2 presets
node scripts/paridade-etapa1.mjs --hv <hiveverse-editor> # Edição Simples × editor local (docs/M2-MOTOR-ETAPA1.md)
npm pack # o pacote como vai para o npm (prepack gera o host-dist)core/: Node puro. Servidor local (servidor.js), fila (jobs.js), cache por sha256 (cache.js), pareamento (pareamento.js), segurança (seguranca.js), transcrição (transcricao.js), VoiceStudio (voz.js).host/: projeto Remotion com a composiçãoVibeHost, que avalia o código gerado dentro do Chromium. Virahost-dist/no build.cli/: o comandovibeeditor-render.- Jobs (
POST /v1/jobs): o vídeo de sempre; comqualidade: "alta", H.264 em taxa alvo de 10 Mbps com teto de 12 (core/qualidade.js; o libx264 não força mínimo: em tela lisa sai menos).tipo: "quadros"+quadros: [n…](até 60) devolve PNGs emGET /v1/jobs/<id>/quadros/<i>, sem renderizar o vídeo.tipo: "recorte"+arquivos: {video}recorta um MP4 pronto para 4:5 (centroY: de 0 a 1, fração da altura; acima de 1, pixels do layout de 1080 de largura; padrão 766, o centro da zona segura do anúncio), com o áudio copiado (core/recorte.js). O/v1/olaanunciabitrate-alto,quadroserecorte(0.8.0). - Variáveis:
VIBE_RENDER_API(backend),VIBE_RENDER_ORIGENS_EXTRA(origens extras, ex.http://localhost:5173; nunca em produção),VIBE_RENDER_DADOS(outra pasta de dados),VIBE_RENDER_DEBUG=1(log no terminal).
Licença
O código deste pacote é MIT (veja LICENSE). Ele usa o Remotion, que tem
licença própria: grátis para pessoas, organizações sem fins lucrativos e empresas de até 3 pessoas; acima
disso, a empresa precisa de uma licença do Remotion.
O tratamento de áudio usa o ffmpeg 6.1.1 estático do projeto ffmpeg-static
(release b6.1.1), baixado na primeira vez para <pasta de dados>/ffmpeg/6.1.1/ com sha256 conferido. Esse binário é
GPL-3.0 (a licença fica ao lado, em ffmpeg.LICENSE) e roda como programa separado; ele não faz parte deste pacote.
Para usar outro ffmpeg completo: VIBE_FFMPEG=<caminho do executável>.
