Você pede no chat. O getbrolls acha a fonte real, mostra a prévia, espera a sua aprovação e organiza tudo na pasta do seu vídeo, com a origem de cada clipe anotada.
/get-brolls + o que você precisa + a pasta do vídeo. O agente roda os comandos por você e mostra a saída real.
Nada baixa sem duas coisas
Você aprovar o trecho e registrar os direitos de uso. Sem as duas, o corte final não sai.
Se perdeu? Pergunte
/get-brolls-status ou getbrolls status diz onde você parou e já traz o próximo comando pronto.
DICIONÁRIO · DO VÍDEO
Palavra
O que é
Pensa assim
Projeto
A pasta do seu vídeo (--project)
A pasta do projeto no Premiere ou DaVinci
Beat
Um momento do vídeo que precisa de B-roll
Um marcador na timeline
Candidato
Um vídeo encontrado que pode servir
Um clipe no bin, ainda não usado
ID
O código do candidato (youtube:abc123)
O nome do clipe
Trecho
O pedaço que você quer, em segundos
O in e o out
DICIONÁRIO · DO CÓDIGO
Palavra
O que é
Terminal
A janela onde você digita comandos. Mac: app Terminal. Windows: PowerShell
Comando
Uma linha que você cola no terminal e aperta Enter
Flag
As opções que começam com --. --project diz qual projeto
JSON
O formato da resposta: texto organizado em "chave": valor
Script
Um arquivo com vários comandos em sequência, que roda sozinho
O melhor da 2.6
Sete coisas que mudam o seu dia de edição
Cada bloco abre a explicação completa mais abaixo.
O caminho inteiro
8 passos, igual a um fluxo de edição
Ingest → seleção → aprovação do cliente → entrega. Role a página: cada passo que passa pelo meio da tela abre ao lado o que ele faz, os comandos e o que aparece na pasta. No celular, toque no passo.
GET B-ROLLS 2.6 / O CAMINHO EM 8 PASSOSDo pedido à entrega ↓
PASSO 1 ConferirA máquina está pronta?
PASSO 2 PlanejarProjeto, regras e plano por beat (a pré-produção)
PASSO 4 Prévia e StoryboardO offline: você vê o trecho em movimento
PASSO 5 · TRAVA 1 AprovarA aprovação do cliente
PASSO 6 · TRAVA 2 Direitos de usoDe quem é o material
PASSO 7 BaixarSó o trecho aprovado, conferido
PASSO 8 EntregarUma pasta por beat, pronta pro editor
EXTRA MemóriaAprende com você
EXTRA · 2.6 RoteiroO vídeo nasce do texto
EXTRA · 2.6 PluginsFontes, comandos, exports
Simulador
Experimente: peça e veja acontecer
Converse com o Claude como no seu dia a dia. Clique nos pedidos sugeridos no chat e veja o comando rodar, o editor reagir e a organização cair na pasta do projeto.
Claude Code~/meu-video
CLIQUE NUM COMANDO DO getbrolls
Clique num comando acima. O próximo passo fica destacado.
Editor · meu-video00:00:12:08
V2
V1
A1
Pasta do projeto
Tutorial
Seu primeiro B-roll em 5 minutos
Usa a NASA, que não pede chave. Rode um por vez, na ordem. Troque /caminho/meu-video pela pasta do seu vídeo e <ID> pelo código que a busca devolver. Mantenha as aspas.
Pronto: o corte está em entrega/, com um ORIGEM.md dizendo de onde veio. Sem BRIEF, ele cai na pasta 00-sem-beat/.
Coleta organizada
O que vai onde, na pasta do vídeo
Projeto da 2.6 criado com init. Em laranja, o que você abre no dia a dia. O resto é bastidor que a skill cuida.
ATENÇÃO AO NOME
broll/ não é brolls/
broll/ (sem s) guarda os clipes finais: é o que você usa. brolls/ (com s) é o bastidor da skill: manifesto, prévias, logs. Não mexa nele.
PARA EDITAR
Aponte o editor para broll/
Os clipes finais ficam em broll/, conferidos por sha256. A entrega/ é renumerada quando a ordem dos beats muda: use para conferir e mandar para alguém.
PROJETO DA 2.5
Sem project.json, os clipes ficam em brolls/clips/ e tudo continua igual. migrate --action plan mostra a adoção; apply só acrescenta o project.json, sem mover nada.
QUANDO CADA PASTA NASCE
aroll/ e assets/ com init ou roteiro --action new. exports/ no primeiro export. brolls/ existe sempre, mesmo sem b-roll.
FORA DO PROJETO · ~/.getbrolls
Runtime, plugins, clientes, biblioteca e o RULES.md global. Vale para todos os vídeos.
Manual · todos os comandos, passo a passo
Todos os comandos numa planilha
Uma linha por comando: a etapa, o comando pronto para copiar, o que faz e quando usar. Na primeira coluna, o primeiro ícone é a etapa (o mesmo do caminho em 8 passos) e o segundo diz se o comando só lê ou se grava arquivos. Clique na linha para ver o passo a passo e todas as flags.
Roteiro · novo na 2.6
O vídeo nasce do roteiro
na 2.6 · experimental
Você escreve as cenas num arquivo de texto. Cada linha entre colchetes diz o que aparece. Os beats de b-roll nascem sozinhos dali.
1
O que é
O ROTEIRO.md descreve o vídeo cena por cena: a fala, o que aparece na tela e as camadas (título, efeito, música). Depois que você revisa, o getbrolls transforma as cenas em beats do BRIEF.md e a coleta segue como sempre.
É escrever as faixas da timeline em texto: V1 é o A-roll, V2 o b-roll, e as camadas são lettering, SFX e música.
Só gênero reels nesta versão. O esqueleto vem com Gancho, Problema, Prova e CTA.
O roteiro é seu: o Claude redige, você revisa e aprova o texto exato.
Mudou uma palavra da fala ou um alvo? A revisão cai e você aprova de novo.
Você escreve a falaTroca cada {placeholder} pelo texto real
roteiro checkValida e mostra o plano de cenas e o review.sha256
Você aprova?roteiro review com nome e frase
roteiro planMostra o que o sync vai mudar, sem gravar
roteiro syncCenas ganham id cNN e viram beats no BRIEF
Coleta de sempresearch --shot c02, preview, approve…
Projeto de ediçãoexport --to <exporter> (plugin)
3
Exemplo
ROTEIRO.md
---type: roteirogenero: reelstema: Manhã na praiaduracao_alvo_s: 30---## Gancho <!-- c01 -->[A-ROLL]
Acordei e fui direto pro mar.
## Problema <!-- c02 -->[BROLL: praia vista de cima][SFX: whoosh]
Todo dia eu perdia a melhor luz.
## Prova <!-- c03 -->[SPLIT: A-ROLL | ondas quebrando][LETTERING: "6h da manhã" | destaque]
Agora eu chego antes do sol.
## CTA <!-- c04 -->[FULL: logo][MUSICA: trilha-suave]
Salva esse vídeo e testa amanhã.
A-ROLL você na câmerab-roll imagem de apoioCAMADA lettering, efeito, músicaSPLIT: tela dividida, esquerda | direita
O <!-- c01 --> é o id que o sync coloca em cada cena. Você não escreve.
COMO O GETBROLLS LÊ CADA LINHA
c01 · Gancho
[A-ROLL]
→ Você grava a falaaroll/c01.mp4
c02 · Problema
[BROLL: praia vista de cima]
→ Beat c02: vai para a busca de b-rollbroll/ depois do fetch
[SFX: whoosh]
→ Efeito sonoro da prateleiraassets/sfx/whoosh.wav
Grava os ids das cenas e os beats cNN no BRIEF.md.
getbrolls brief --beat c02 --project ~/meu-video
Mostra o beat c02 com o comando de busca pronto.
getbrolls assets --action where --kind sfx --name whoosh --project ~/meu-video
Diz onde o componente "whoosh" foi encontrado.
5
Estrutura de pasta
Roteiro: o que vai onde
meu-video/←o projeto
├── ROTEIRO.md←o roteiro: você escreve, ele lê
├── ROTEIRO.md.sync.bak←cópia antes de cada sync
├── BRIEF.md←beats c02 e c03-b nascem aqui
├── RULES.md←formato reels (9:16)
├── aroll/←suas gravações, uma por cena
│ ├── c01.mp4←gancho
│ └── c03.mp4←seu lado do split
├── assets/←componentes do vídeo
│ ├── marca/logo.png←FULL: logo
│ ├── lettering/destaque.json←estilo do título
│ ├── sfx/whoosh.wav←com whoosh.licenca.json ao lado
│ └── musica/trilha-suave.mp3←com a licença ao lado
├── broll/←b-roll dos beats c02 e c03-b
└── brolls/←bastidor
├── roteiro-state.json←ids já usados: nenhum volta
└── roteiro-reviews.jsonl←quem revisou e quando
Receitas do cliente
Um vídeo que deu certo vira molde
novo na 2.6
Pensa no McDonald's: ninguém planta alface para fazer um Big Mac. Está tudo na prateleira, e a receita diz como montar. O roteiro é o pedido. O getbrolls confere o pedido contra a receita e a prateleira e entrega um rascunho montado no seu editor.
1
O que é
1 · A PRATELEIRA
A galeria do cliente
Marca, lettering, SFX, trilhas, imagens e composições do cliente, numa pasta só, cada arquivo com a licença ao lado. Todo vídeo dele enxerga essa prateleira.
2 · A RECEITA
O formato selado
Cenas, disposição na tela, estilo e componentes de um vídeo pronto, guardados numa versão que ninguém altera sem querer: reels-split@1, @2…
3 · O PEDIDO
Roteiro + gravação
Você escreve as falas, grava o A-roll e pede. O getbrolls monta o rascunho com a receita e explica cada escolha antes de colocar no editor.
2
Diagrama
RECEITAS / CAPTURAR → SELAR → MONTAR↓
Edição prontaUm vídeo do cliente que ficou bom
BOTÃO Capturar receitaNo DaVinci ou no HyperFrames. Só lê, não pede ok
PROPOSTA.mdO que a captura entendeu, com perguntas
1 OK SelarVira receita@1, imutável
Receita na prateleirarecipe list · recipe show conferem o sha
Vídeo novo da receitainit --recipe: roteiro esboçado + componentes
Rascunhodraft --action build: trilhas, tempos, faltas e o porquê
Você revisaRASCUNHO.md em português
BOTÃO Montar rascunhodraft --action assemble
HyperFramesProjeto pronto no Studio
DaVinci ResolveBotão no menu Scripts ou kit com timeline.json
O QUE O GETBROLLS NUNCA FAZ
Ele para no rascunho.
O getbrolls monta a timeline com a receita e explica cada decisão, mas não renderiza o vídeo final. A edição continua sua, no seu editor.
QUANTOS OKS
Capturar: nenhum. Selar: um. Vídeo novo: revisar o roteiro e confirmar a montagem. Mover arquivo seu: um ok por tipo de movimento, sempre com desfazer.
3
Exemplo
A galeria de assets e estilos de um cliente, a "prateleira":
A receita já cria o projeto com roteiro esboçado e componentes. A licença dos componentes não vai junto: o aviso LICENCE_NOT_TRANSFERRED lembra você.
Os botões
Capturar receita de uma edição pronta no DaVinci ou no HyperFrames.
Selar a proposta com um ok, criando a versão @N.
Montar rascunho: o botão no Resolve (free 21.1+ e Studio) ou o projeto pronto no HyperFrames Studio.
Kit quando não há botão: o timeline.json do rascunho, as legendas e o passo a passo de importar.
5
Estrutura de pasta
COMO NASCE
client --action add cria a pasta do cliente com client.json, a prateleira em assets/, recipes/ e projetos/, e registra tudo em ~/.getbrolls/clients.json.
A RECEITA POR DENTRO
Cada versão é uma pasta numerada. Ela guarda as cenas, os componentes com sha256 e a lista de arquivos. Editou um arquivo à mão, a versão deixa de ser íntegra e o recipe --action show avisa.
O QUE NUNCA ENTRA NA RECEITA
Licenças, aprovações, A-roll, brolls/ e clipes. A receita leva o formato, não o conteúdo de um vídeo.
Memória e biblioteca
Ele aprende com você, vídeo a vídeo
já na 2.6
São duas memórias. Uma fica dentro do projeto e lembra as decisões deste vídeo. A outra fica na sua máquina e leva o que funcionou para todos os próximos.
1
O que é
MEMÓRIA DO PROJETO
remember e references
Guarda os trechos que você aprovou ou reprovou neste vídeo, com o motivo. Daqui a meses você sabe por que aquele trecho saiu.
É o diário de decisões do projeto.
BIBLIOTECA PESSOAL
learn e library
Guarda o que vale para todos os seus vídeos: buscas que renderam ou não, seus gostos e anotações.
É a pasta de favoritos entre projetos. Antes de buscar, você olha nela.
2
Diagrama
MEMÓRIA / DE UM VÍDEO PARA O OUTRO↓
Vídeo 1Você busca, aprova e reprova
rememberDecisão + motivo
learnBusca que rendeu, gosto, nota
references.jsonFica no vídeo 1
~/.getbrolls/libraryVale para todos
Vídeo 2library --search
Busca mais certeiraSem repetir o que já falhou
3
Exemplo
Reprova o c02, tem texto na tela.
getbrolls remember --candidate "youtube:c02" --decision rejected --reason "texto na tela" --by "Bruno" --project ~/meu-videoGuardado neste vídeo, com o motivo.
Guarda também que "praia drone" no YouTube rendeu.
getbrolls learn --query "praia drone" --provider youtube --outcome hit --project ~/meu-videoGuardado na sua biblioteca, para todos os vídeos.
semanas depois, num vídeo novo
Preciso de praia de novo. O que já funcionou?
getbrolls library --search "praia" --project ~/video-novoA busca "praia drone" no YouTube aparece como uma que rendeu.
Exemplo ilustrativo. Consultar a memória nunca aprova nem libera direitos.
4
Comandos
getbrolls remember --candidate "<ID>" --decision approved --reason "mostra o produto em uso" --by "Seu nome" --project ~/meu-video
Guarda uma decisão deste vídeo (approved ou rejected), com motivo.
└── references.json←remember: sim ou não, e por quê
~/.getbrolls/←sua máquina, todos os vídeos
└── library/←learn guarda, library consulta
└── index.json←buscas, gostos, notas, trechos
Análise de mídia · novo na 2.6
Seu material vira dado
já na 2.6
Cada vídeo do projeto ganha um id pelo próprio conteúdo. Tudo o que se descobre sobre ele (fala, cenas, silêncio, quem fala) fica ligado a esse id.
1
O que é
analysis --action register lê uma mídia do projeto, calcula o id pelo conteúdo e grava duração, quadro e codecs. Plugins podem acrescentar camadas em formatos abertos, e o export usa a transcrição para a legenda palavra a palavra.
É o metadado do clipe no bin, só que preso ao conteúdo: nunca se perde do arquivo.
O papel vem da pasta: aroll/, broll/, assets/musica/, assets/sfx/. Use --role só quando a pasta não disser.
list e check só leem. check acha pasta órfã, JSON inválido ou link.
2
Diagrama
ANÁLISE / DO ARQUIVO AO DADO↓
aroll/c01.mp4Qualquer mídia do projeto
analysis registerLê com o ffprobe
media_idCalculado pelos bytes do arquivo
media.jsonDuração, quadro, fps, codecs
TranscriçãoMLX na sua máquina grava transcript.json
Valores ilustrativos. Os campos são os do formato publicado.
O ID VEM DO CONTEÚDO
Mesmo arquivo, mesmo id
O media_id é calculado a partir dos bytes do arquivo. Renomeou ou mudou de pasta, o id continua o mesmo. Mudou um byte, o id muda. Assim a análise nunca aponta para o arquivo errado.
NESTA VERSÃOO getbrolls grava index.json e media.json, e a transcrição sai do MLX na sua máquina. Cenas, silêncio, falantes, visual e marcadores têm formato publicado e são gravados por plugins.
└── media/9f995290ef23596a/←uma pasta por media_id
├── media.json←gravado pelo getbrolls
├── transcript.json←transcrição MLX, palavra a palavra
├── scenes.json←gravado por plugin
├── silence.json←gravado por plugin
├── speakers.json←gravado por plugin
└── visual.json←gravado por plugin
Plugins e marketplace · novo na 2.6
Fontes e exports novos sem mexer no core
na 2.6 · experimental
Plugins acrescentam fontes, rotas de download, comandos próprios e exportadores. Nenhum liga sozinho, e se o código mudar ele para até você revisar.
1
O que é
Um plugin é uma pasta com um manifesto (getbrolls-plugin.json) e um arquivo Python. Ele entra em ~/.getbrolls/plugins/ instalado de uma pasta, de um repositório git fixado num commit ou de um marketplace.
São os plugins do After Effects, mas travados por uma impressão digital (sha256) e ligados só por você.
Instalar é em dois passos: primeiro a prévia (manifesto, permissões, sha256), depois --yes --expect <sha256>.
Não é o plugin do Claude Code: é extensão do próprio getbrolls.
O selo "official" num marketplace é o que o dono declarou. Só o índice oficial do getbrolls é verificado.
2
Diagrama
PLUGINS / DO MARKETPLACE AO USO↓
marketplace-addFixa o índice num commit
plugins searchProcura no índice, sem rede
install (prévia)Manifesto, permissões e sha256
Você revisou?Confere o que ele pode fazer
install --yes --expectInstala e habilita com o sha conferido
getbrolls plugins --action new --id meu_exporter --kind exporter --path ~/meus-plugins
Cria um plugin mínimo que já passa no teste.
getbrolls x --list
Lista os comandos dos plugins habilitados.
5
Estrutura de pasta
Plugins: o que vai onde
~/.getbrolls/←sua máquina
├── plugins/←um plugin por pasta
│ └── meu_exporter/←o nome da pasta = id
│ ├── getbrolls-plugin.json←o manifesto
│ └── plugin.py←o código
├── plugins.json←quem está ligado e o sha conferido
├── marketplaces/←índices fixados num commit
└── plugin-data/←dados dos plugins (ficam ao remover)
Onde o rascunho abre
No editor que você já usa
O getbrolls organiza e monta o rascunho. A edição final acontece no seu editor. O processo do getbrolls é o mesmo para todos os editores. O rascunho é um timeline.json: texto puro, versionado no git, com cada cena, tempo, asset e fonte. O que muda é só como ele chega em cada editor.
HOJE · QUALQUER EDITOR
Premiere, DaVinci, Final Cut, CapCut…
já funciona
Você não precisa de ponte nenhuma para usar o getbrolls hoje. Os clipes finais ficam em broll/, conferidos por sha256: aponte o editor para essa pasta. Para mandar para alguém ou conferir por beat, use a entrega/, onde cada clipe vem com o ORIGEM.md (fonte, autor, trecho e uso).
Rode fetch e verify: os clipes aprovados caem em broll/.
No editor, importe a pasta broll/ do projeto.
Para entregar ou revisar por beat, rode deliver e use a entrega/.
getbrolls deliver --project ~/meu-video
O que aparece na pasta
1 · HYPERFRAMES
HyperFrames
ponte oficial
A ponte oficial do HyperFrames vem com a 2.6, travada por sha256. O rascunho é montado como projeto novo, pronto para abrir no HyperFrames Studio. O roteiro revisado também vira projeto de edição por exportador de plugin, numa pasta nova que nunca é sobrescrita.
environment --action list mostra a versão da ponte e se ela está ligada.
export --to <exporter> cria exports/<exporter>/001/, depois 002/…
O render vai para renders/, fora da pasta do export.
Dois botões no menu Workspace › Scripts do Resolve: "Montar rascunho" e "Capturar receita", no Resolve free 21.1+ e no Studio. Sem botão, sai um kit para importar à mão.
Liga os botões uma vez por máquina. Se não aparecer, reabra o Resolve.
Com o roteiro revisado, "Montar rascunho" importa a timeline pronta.
Sem botão: o kit traz o timeline.json do rascunho, as legendas e o passo a passo.
A ordem das fontes para busca literal e ilustrativa
blocked_domains
Sites que nunca podem entrar
copyright.mode
per_item_evidence ou user_declaration
Regra para todos os projetos: crie ~/.getbrolls/RULES.md. Ordem: global → GB_RULES_FILE → RULES do projeto. Listas se somam; valor único, o último vence.
Socorro
Deu erro?
Aconteceu
Faça
getbrolls: command not found
Rode uv tool update-shell (ou pipx ensurepath) e abra um terminal novo
Falta alguma ferramenta
Rode getbrolls doctor, depois getbrolls setup
fetch recusou
Faltou aprovar (passo 5) ou registrar os direitos (passo 6)
Busca vazia
Menos palavras, no idioma do vídeo
"Trecho grande demais"
A prévia aceita no máximo 10 s
Salvei no Storyboard e nada
Rode import-review
Não sei onde parei
Rode status
LOCKED
Outro comando está usando o projeto. Espere e repita
Erro estranho
Olhe as últimas linhas de brolls/getbrolls.log
O QUE NUNCA AUTOMATIZAR
A aprovação e os direitos. approve e permit registram uma decisão sua. Um script que aprova tudo sozinho derruba justamente a trava que protege o seu vídeo.
Precisa do jq (brew install jq), que lê JSON no terminal.
RECEITA · QUAL O PRÓXIMO PASSO?
getbrolls status --project /caminho/meu-video \
| jq -r '.summary.line, .summary.do.command'
E set -e no topo de um script faz ele parar no primeiro comando que falhar.
PARA AGENTES · capabilities --json
Descreve em JSON todos os comandos, flags, o que só lê, códigos de saída e comandos de plugin. Gerado do próprio parser; não grava nada. Esta página foi montada a partir dele.
PRECEDÊNCIA
Flag > ambiente > .env > perfil getbrolls.toml > padrão. Perfil de fora do ~/.getbrolls só vale depois de profile --action trust, em dois passos.
O arquivo .env
Opcional. Fica em ~/.getbrolls/.env. Este é o arquivo de exemplo completo da 2.6, com todas as variáveis: tire o # só da linha que quiser mudar. Linha com # é comentário e não vale.
~/.getbrolls/.env · exemplo completo da 2.6
# ─────────────────────────────────────────────────────────────────────
# GET B-ROLLS — configurações
# ─────────────────────────────────────────────────────────────────────
# Tudo aqui é OPCIONAL. A skill funciona sem nenhum .env.
# English version: .env.example
#
# Como usar este arquivo
# 1. Copie para `$GB_HOME/.env` (padrão `~/.getbrolls/.env`), que vale
# para qualquer instalação. Só UM `.env` é lido, nesta ordem:
# `--env-file /caminho/do/.env`
# > `GB_ENV_FILE` (só no ambiente do processo, nunca dentro de um `.env`)
# > `.env` da pasta da instalação (checkout; continua valendo)
# > `$GB_HOME/.env`
# Dois `.env` nunca se misturam; o `doctor` mostra qual foi usado.
# `GB_HOME` não pode ser definido dentro de `$GB_HOME/.env`.
# `GB_PROFILE` e `GB_ENV_FILE` só no ambiente do processo: um `.env`
# que os define é recusado. Um `getbrolls.toml` do workspace
# (veja docs/MANUAL.md) perde para este arquivo, campo a campo.
# 2. Descomente só as linhas que você quer mudar.
#
# Regras do formato
# - Um `CHAVE=valor` por linha. Aspas são opcionais: CHAVE="valor" funciona.
# - Sem interpolação de variáveis e sem comandos de shell: `$HOME` e
# `$(...)` NÃO são expandidos. Escreva o caminho completo.
# - Variável já exportada no seu shell vence este arquivo.
# - Chave desconhecida é erro: um erro de digitação aparece na hora,
# em vez de ser ignorado em silêncio.
# - Valor vazio (`CHAVE=`) significa "use o padrão".
#
# Nunca versione um `.env` real. Ele é ignorado pelo git; guarde suas chaves de API.
# Rode `python3 scripts/gb.py doctor` (no pacote instalado, `getbrolls doctor`) para
# ver o que está ativo e o que falta.
# ── Prévias ──────────────────────────────────────────────────────────
# O que quem revisa vê antes de qualquer coisa ser baixada por inteiro.
# Tipo de prévia.
# gif prévia animada do trecho, mais poster e contact sheet (padrão)
# static só poster e contact sheet, sem animação
GB_PREVIEW_MODE=gif
# O que o GIF anima.
# broll só o insert (padrão)
# full a composição fornecida deste insert
GB_GIF_SCOPE=broll
# Largura do GIF em pixels. Faixa: 160–720. Padrão: 360.
# Aumente para material com detalhe pequeno (tela, texto); diminua se as prévias pesarem.
GB_GIF_WIDTH=360
# Quadros por segundo do GIF. Faixa: 2–18. Padrão: 8.
GB_GIF_FPS=8
# Tamanho da paleta do GIF. Faixa: 32–256. Padrão: 128. Menos cores = arquivo menor.
GB_GIF_COLORS=128
# Tamanho máximo do GIF em MB. Faixa: 1–30. Padrão: 5.
GB_GIF_MAX_MB=5
# Trecho mais longo que um único `preview` aceita, em segundos. Faixa: 1–30. Padrão: 10.
# Candidatos mais longos precisam ser pré-visualizados em partes.
GB_PREVIEW_MAX_SECONDS=10
# Número de quadros do contact sheet. Faixa: 1–30. Padrão: 12.
GB_STATIC_FRAMES=12
# Teto do `preview --scan` (varredura do vídeo inteiro), em segundos.
# Faixa: 30–7200. Padrão: 900. A varredura baixa esse tanto de mídia de trabalho.
# GB_SCAN_MAX_SECONDS=900
# ── Chaves de API dos provedores ─────────────────────────────────────
# YouTube, Instagram, TikTok, Wikimedia Commons e NASA NÃO precisam de chave.
# Bancos de imagem precisam: sem a chave, a busca daquele provedor fica desligada.
# As chaves são ocultadas nos logs e nas mensagens de erro.
# Pexels — chave gratuita em https://www.pexels.com/api/
PEXELS_API_KEY=
# Pixabay — chave gratuita em https://pixabay.com/api/docs/
PIXABAY_API_KEY=
# Chave da API de dados do YouTube. Opcional: a busca no YouTube funciona sem ela.
YOUTUBE_API_KEY=
# ── Regras e brief ───────────────────────────────────────────────────
# As regras editoriais valem em camadas (num valor único a última vence; listas se somam):
# ~/.getbrolls/RULES.md → GB_RULES_FILE → <projeto>/RULES.md
# Sem RULES.md no projeto, a base é o modelo da skill (docs/RULES.md).
# Arquivo de regras extra, aplicado a todo projeto desta máquina. Precisa existir.
# Exemplo: GB_RULES_FILE=/caminho/para/RULES.md
GB_RULES_FILE=
# Caminho alternativo do BRIEF.md. Padrão: <projeto>/BRIEF.md.
# Um caminho fora da pasta do projeto vale para todo projeto desta máquina.
# GB_BRIEF_FILE=
# ── Pasta pessoal e biblioteca ───────────────────────────────────────
# Pasta pessoal: seu RULES.md global e a biblioteca entre projetos do
# "que já funcionou". Padrão: ~/.getbrolls
# GB_HOME=
# Use `off` para desligar a biblioteca global: `learn` e `library`
# não leem nem gravam nada.
# GB_LIBRARY=off
# Lista de ids de plugin separados por vírgula: escolhe, entre os plugins já
# habilitados com pin de hash válido, os que esta sessão carrega (nunca carrega
# plugin não habilitado nem com conteúdo mudado). `off` desliga todos os plugins.
# GB_PLUGINS=
# ── Caminhos das ferramentas ─────────────────────────────────────────
# Deixe vazio, a não ser que o `doctor` não encontre uma ferramenta. Um caminho
# explícito sempre vence a descoberta automática. Cada caminho precisa existir.
# Executável do yt-dlp. Padrão: a .venv da skill, depois o seu PATH.
# GB_YTDLP_PATH=
# Pasta .venv usada para localizar o yt-dlp. Padrão: .venv na raiz da skill.
# GB_VENV_PATH=
# Pasta com a .venv/ (yt-dlp) e a .tools/ (Playwright) que o getbrolls usa.
# Padrão: $GB_HOME/runtime/<versão das dependências>/; o checkout mantém a própria .venv e .tools.
# GB_RUNTIME_DIR=
# Executável do FFmpeg. Padrão: `ffmpeg` no seu PATH.
# Exemplo: GB_FFMPEG_PATH=/opt/homebrew/bin/ffmpeg
# GB_FFMPEG_PATH=
# Executável do ffprobe. Padrão: `ffprobe` no seu PATH.
# GB_FFPROBE_PATH=
# ── Fonte do contact sheet ───────────────────────────────────────────
# Fonte TrueType usada para rotular o contact sheet. Padrão: a primeira entre
# DejaVu, Liberation ou Arial encontrada no sistema. Precisa existir quando definida.
# GB_FONT_FILE=
# ── Ritmo da fila social ─────────────────────────────────────────────
# `getbrolls queue` espaça os downloads de Instagram, TikTok e YouTube para a
# fonte não bloquear você. Padrões:
# pausa entre itens Instagram 45–120 s · TikTok e YouTube 15–40 s
# tetos 20 itens por hora · 60 itens por dia
#
# Estas variáveis aplicam o MESMO valor a todo provedor e vencem o
# RULES.md. Para ajustar um provedor só, use o bloco opcional "pacing"
# do RULES.md.
# Pausa aleatória entre itens, em segundos. Faixa: 0–86400 cada.
# GB_PACE_MIN_S=
# GB_PACE_MAX_S=
# Tetos. Faixa: 1–10000 por hora, 1–100000 por dia.
# GB_MAX_PER_HOUR=
# GB_MAX_PER_DAY=
# Pausas do yt-dlp entre os pedidos dele: "requests,min,max" em segundos
# inteiros, com min <= max. Padrão: 1,3,8
# GB_YTDLP_SLEEP=1,3,8
# ── Cache e entrega ──────────────────────────────────────────────────
# Pasta do cache local (respostas de provedores e sondagens do FFmpeg).
# Padrão: ~/.cache/getbrolls
# O nome antigo GETBROLLS_CACHE_DIR continua valendo quando exportado no shell;
# com os dois definidos, vale GB_CACHE_DIR.
# GB_CACHE_DIR=
# `deliver` normalmente cria hardlinks dos cortes em entrega/ (sem ocupar mais disco).
# Use 1 para receber cópias independentes, que você pode editar ali mesmo.
# GB_DELIVERY_COPY=1
# ── Logs ─────────────────────────────────────────────────────────────
# <projeto>/brolls/getbrolls.log: uma linha chave=valor por evento, separado
# do diagnostics.jsonl. Comando que muda a instalação fora de um projeto
# (plugins, client, template, profile trust/untrust, setup) grava as mesmas
# linhas em $GB_HOME/logs/getbrolls.log. Cada arquivo gira a cada ~1 MB,
# mantendo 3 cópias antigas. Chaves e a sua pasta pessoal são ocultadas
# antes de qualquer gravação, igual ao resto deste arquivo.
# Nível dos dois arquivos. DEBUG, INFO, WARNING, ERROR ou off para desligar
# os dois por completo. Padrão: INFO.
# GB_LOG_LEVEL=INFO
# Use 1 para também imprimir as linhas do log em stderr (depuração
# interativa). O envelope JSON de erro continua sempre a última linha de
# stderr. Padrão: desligado.
# GB_LOG_STDERR=
# Use json para forçar a saída de máquina. Hoje toda saída já é JSON; outro
# valor não muda nada.
# GB_OUTPUT=
QUAL .ENV VALE
Só um é lido: --env-file, depois GB_ENV_FILE, depois o .env da instalação e por fim ~/.getbrolls/.env. Com dois, o primeiro vale e o comando avisa.
FORA DO .ENV
GB_HOME, GB_ENV_FILE e GB_PROFILE se definem no ambiente do terminal, não no .env.
Instalação completa
Instalação
A 2.6 é para estudar por enquanto. Quando ela sair, o passo a passo fica no README do repositório; o resumo abaixo mostra como vai ser.
Você precisa de Python 3.11 ou mais novo, FFmpeg com ffprobe, Node 22 ou mais novo, curl e Git. Funciona no macOS e no Windows, com instaladores próprios. Linux é plataforma secundária.
Instala o comando (com o pipx, troque o começo por pipx install), prepara o runtime em ~/.getbrolls/runtime/ e confere. Está pronto quando o doctor mostra "ready": true. Se algo falhar, veja Deu erro?
Para pedir no chat com /get-brolls, cole estas duas linhas no Claude Code.
Glossário
As palavras que você vai encontrar
Busque a palavra ou role a lista. Cada termo tem uma definição curta e, quando ajuda, uma comparação com o seu editor. As palavras básicas de terminal (comando, flag, JSON) estão no dicionário de Comece aqui.
Palavra
O que é
Nada encontrado. Tente outra palavra, como hash.
Perguntas frequentes
As dúvidas que mais aparecem
Escolha o assunto e abra a pergunta. Cada resposta é curta e aponta para a seção que explica por inteiro.
NÃO ACHOU A SUA DÚVIDA?
Veja a tabela Deu erro?: ela traz o que fazer em cada caso comum.
Cada comando explica o que aceita: getbrolls search --help (troque search por qualquer um).
Perdeu o fio do projeto? getbrolls status --project ~/meu-video diz onde você parou e traz o próximo comando pronto.
Atualizar
Saiu versão nova?
Atualizar não mexe nos seus projetos. São só dois passos.