Pular para o conteúdo
chakra.gold

Documento 02 de 04

Estrutura do repositório

chakra-studio/
├── projetos/                 um vídeo por pasta
│   └── <slug>/
│       ├── briefing.md       ENTRADA  o pedido
│       ├── video.json        ENTRADA  parâmetros
│       ├── referencias/      ENTRADA  videos/ · imagens/ · conteudo/
│       ├── narracao.txt      o texto falado
│       ├── roteiro.json      as cenas e a palavra em que cada uma começa
│       ├── compositions/     uma cena por arquivo (HTML + GSAP)
│       ├── assets/           marca, fontes, sons e biblioteca do estilo
│       ├── dados/            dados usados nas cenas
│       ├── saida/            MP4 e folhas de quadros (fora do git)
│       ├── README.md         GERADO  documentação do vídeo
│       └── NOTAS.md          opcional, entra no README
├── studio/                   o motor
│   ├── padrao.json           parâmetros padrão
│   ├── nucleo/chakra.js      biblioteca comum: cenas, tempo pela voz, diagramas, legenda
│   ├── estilos/terminal/     estilo padrão: visual, sons, música, cenas-base e catálogo
│   ├── estilos/classico/     estilo ouro e serifas
│   ├── modelo/               esqueleto da pasta de entrada
│   └── scripts/              novo · tts · som · montar · render · conferir · documentar · publicar
├── skill/                    a skill do agente (instruções e referências)
├── site/                     studio.chakra.gold (Next.js)
├── infra/vps/                deploy do site no VPS
├── docs/                     esta documentação (também publicada no site)
└── _experimentos/            histórico da fase que originou o projeto

Os scripts

ScriptO que fazGasta créditos?
novo.mjs <slug> [--estilo]Cria a pasta do vídeo com a entrada e o estilo.não
tts.mjs <projeto>Narração no ElevenLabs com o segundo de cada palavra.sim (voz)
som.mjs musica|efeito ...Gera música ou efeito novo. Só quando o vídeo pede.sim
montar.mjs <projeto> [formato]Calcula os tempos e escreve o arquivo de entrada do HyperFrames.não
render.mjs <projeto> [formatos]Monta, renderiza cada formato, confere e documenta.não
conferir.mjs <video.mp4>Folha de quadros e medição de volume de um MP4.não
documentar.mjs <projeto>Reescreve o README.md do vídeo.não
publicar.mjs [slug]Copia os vídeos e a documentação para o site.não
github-stats.mjs <projeto>Dados de commits para cenas de números.não

Como o tempo funciona

A voz manda. O tts.mjs devolve o segundo exato de cada palavra; o roteiro diz em que palavra cada cena começa; dentro da cena, cada elemento entra na palavra dele. Trocar uma frase ou regravar a voz não exige ajustar nenhum número: basta montar de novo.

Requisitos

Node 22 ou mais novo, ffmpeg, Google Chrome e as variáveis ELEVENLABS_* em ~/dev/chakra/.env. O HyperFrames é baixado pelo npx na versão fixada (0.8.124).

O que entra no git

Código, cenas, roteiros, narrações, sons e fontes entram. Vídeo e áudio pesados (*.mp4, *.wav, a pasta saida/) ficam fora: são regerados pelo render.mjs ou publicados no site pelo deploy.