Prévia da versão 2.6, ainda não lançada. Ver a documentação da 2.5.2
← Engenheiro de Vídeo
/get-brollspreview 2.6.
Engenheiro de Vídeo · getbrolls 2.6.0

Enquanto vendema moldura, vocêtem o motor.

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.

41comandos, todos explicados aqui
61novidades na 2.6
7fontes nativas (5 com busca)
8passos do pedido à entrega
2travas antes de baixar: aprovação e direitos
Comece aqui

Esta é a prévia da 2.6

Esta página é para estudar a 2.6: os comandos, as pastas e o caminho do pedido à entrega. Quando ela sair, a instalação vem pelo repositório.

Ver no GitHub

No Claude Code, é só pedir

/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
PalavraO que éPensa assim
ProjetoA pasta do seu vídeo (--project)A pasta do projeto no Premiere ou DaVinci
BeatUm momento do vídeo que precisa de B-rollUm marcador na timeline
CandidatoUm vídeo encontrado que pode servirUm clipe no bin, ainda não usado
IDO código do candidato (youtube:abc123)O nome do clipe
TrechoO pedaço que você quer, em segundosO in e o out
DICIONÁRIO · DO CÓDIGO
PalavraO que é
TerminalA janela onde você digita comandos. Mac: app Terminal. Windows: PowerShell
ComandoUma linha que você cola no terminal e aperta Enter
FlagAs opções que começam com --. --project diz qual projeto
JSONO formato da resposta: texto organizado em "chave": valor
ScriptUm 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 3 BuscarO ingest: candidatos entram, nada baixa
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.

  1. Só gênero reels nesta versão. O esqueleto vem com Gancho, Problema, Prova e CTA.
  2. O roteiro é seu: o Claude redige, você revisa e aprova o texto exato.
  3. Mudou uma palavra da fala ou um alvo? A revisão cai e você aprova de novo.
2
Diagrama
ROTEIRO / DO TEMA AOS BEATS↓
roteiro newEsqueleto: Gancho, Problema, Prova, CTA
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: roteiro
genero: reels
tema: Manhã na praia
duracao_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
c03 · Prova
[SPLIT: A-ROLL | ondas quebrando]
→ Esquerda: você. Direita: beat c03-baroll/c03.mp4 + b-roll
[LETTERING: "6h da manhã" | destaque]
→ Título na tela, no estilo "destaque"assets/lettering/destaque.json
c04 · CTA
[FULL: logo]
→ Tela cheia com a marca. Não vira buscaassets/marca/logo.png
[MUSICA: trilha-suave]
→ Trilha da cenaassets/musica/trilha-suave.mp3
LAYOUT · UM POR CENA

[A-ROLL], [BROLL: alvo], [SPLIT: esq | dir], [FULL: alvo] ou [UGC: descrição].

CAMADAS · QUANTAS QUISER

[LETTERING: "texto" | estilo], [SFX: nome], [MUSICA: nome], [COMP: nome].

TEMPO

Cerca de 2,5 palavras por segundo. Cena sem fala vale 2 s. Com duracao_alvo_s, o check avisa quando passa.

4
Comandos
getbrolls roteiro --action new --genero reels --tema "Manhã na praia" --project ~/meu-video

Cria o ROTEIRO.md com o esqueleto e as pastas aroll/ e assets/.

getbrolls roteiro --action check --project ~/meu-video

Valida e mostra o plano de cenas, os avisos e o review.sha256.

getbrolls roteiro --action review --by "Seu nome" --channel chat --statement "pode seguir" --expect <sha256> --project ~/meu-video

Registra que você revisou esse texto exato.

getbrolls roteiro --action plan --project ~/meu-video

Mostra o que o sync mudaria no BRIEF.md, sem gravar.

getbrolls roteiro --action sync --project ~/meu-video

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":

~/Clientes/acme/assets/Todosmarcaletteringsfxmúsicaimagemcomposiçãoarolloutros
logo-principal.svgmarca · licença ok
3 cliques
destaquelettering · estilo
whoosh.wavsfx · licença ok
trilha-suave.mp3música · licença ok
cidade-noite.jpgimagem · licença ok
split-verticalcomposição · disposição
Cada componente resolve na ordem: projeto → cliente → sua biblioteca pessoal.
getbrolls assets --action list --project ~/Clientes/acme/projetos/v02
4
Comandos

No terminal

getbrolls client --action add --slug acme --root ~/Clientes
getbrolls recipe --action list
getbrolls init --recipe reels-split@1 --client acme --tema "Lançamento" --project ~/Clientes/acme/projetos/v02

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

  1. Capturar receita de uma edição pronta no DaVinci ou no HyperFrames.
  2. Selar a proposta com um ok, criando a versão @N.
  3. Montar rascunho: o botão no Resolve (free 21.1+ e Studio) ou o projeto pronto no HyperFrames Studio.
  4. 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.

getbrolls references --project ~/meu-video

Lista tudo o que foi guardado neste vídeo.

getbrolls learn --query "praia drone" --provider youtube --outcome hit --project ~/meu-video

Guarda uma busca que rendeu (miss quando não rendeu).

getbrolls learn --preference "prefiro imagem sem texto na tela" --by "Seu nome" --project ~/meu-video

Guarda um gosto seu.

getbrolls learn --note "drone de manhã rende mais" --project ~/meu-video

Guarda uma anotação livre.

getbrolls library --search "praia" --project ~/meu-video

Consulta a biblioteca antes de começar a buscar.

5
Estrutura de pasta

Memória: o que vai onde

meu-video/brolls/←memória deste vídeo
└── 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.

  1. O papel vem da pasta: aroll/, broll/, assets/musica/, assets/sfx/. Use --role só quando a pasta não disser.
  2. 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
Cenas e silêncioscenes.json · silence.json
Falantes e visualspeakers.json · visual.json
UsoLegenda do export, plugins, hub
3
Exemplo
analysis/media/9f995290ef23596a/media.json (trecho)
{
  "media_id": "9f995290ef23596a",
  "path": "aroll/c01.mp4",
  "role": "aroll",
  "duration_s": 42.0,
  "fps": 30,
  "width": 1080, "height": 1920,
  "has_audio": true,
  "video_codec": "h264", "audio_codec": "aac"
}

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.
4
Comandos
getbrolls analysis --action register --path aroll/c01.mp4 --project ~/meu-video

Registra a mídia e grava o media.json.

getbrolls analysis --action list --project ~/meu-video

Lista as mídias registradas. Só lê.

getbrolls analysis --action check --project ~/meu-video

Confere os arquivos de analysis/. Sai com código 1 quando acha problema.

getbrolls analysis --action setup --engine mlx

Escolhe o MLX como motor de transcrição (Mac com Apple Silicon, na GPU).

getbrolls analysis --action transcribe --all --project ~/meu-video

Transcreve a fala de todas as mídias, na sua máquina.

getbrolls analysis --action run --layer cortes,fala --project ~/meu-video

Roda camadas de análise (cortes, fala, silêncio…) na mídia.

getbrolls analysis --action search --query "risada" --project ~/meu-video

Busca trechos por texto em todo o material.

5
Estrutura de pasta

Análise: o que vai onde

meu-video/analysis/←tudo da análise
├── index.json←todas as mídias registradas
├── markers.json←marcadores de 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ê.

  1. Instalar é em dois passos: primeiro a prévia (manifesto, permissões, sha256), depois --yes --expect <sha256>.
  2. Não é o plugin do Claude Code: é extensão do próprio getbrolls.
  3. 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
x <plugin> <comando>Comandos próprios
search --providerFonte nova de busca
export --toProjeto de edição
3
Exemplo
getbrolls-plugin.json
{
  "id": "meu_exporter",
  "name": "Meu exporter",
  "version": "0.1.0",
  "sdk_api": 1,
  "requires_getbrolls": ">=2.6,<3",
  "entry": "plugin.py",
  "contributes": {"exporters": ["meu_exporter"]},
  "permissions": {"network": [], "env": [], "paths": []}
}

Exemplo mínimo do SDK: um exporter que gera um índice com o título de cada cena.

O QUE UM PLUGIN PODE TRAZER
  • providers: uma fonte de busca nova.
  • routes: como o arquivo chega (token, URL assinada, pasta local).
  • commands: rotinas próprias, rodadas com getbrolls x.
  • presets: texto de licença para o permit.
  • exporters: o roteiro vira projeto de edição.
  • resolvers: acha som ou música que o projeto não tem, no export.
Atenção: plugin não é sandbox. Roda com as suas permissões. Instale só o que você revisou.
4
Comandos
getbrolls plugins --action list

Lista os plugins instalados, com status.

getbrolls plugins --action marketplace-add --source "<url-git-do-marketplace>"

Adiciona um marketplace, fixado num commit.

getbrolls plugins --action search --query "banco"

Procura nos índices em cache, sem rede.

getbrolls plugins --action install --id "<id>@<marketplace>"

Mostra a prévia antes de instalar.

getbrolls plugins --action install --id "<id>@<marketplace>" --yes --expect "<sha256>"

Instala o que você revisou.

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).

  1. Rode fetch e verify: os clipes aprovados caem em broll/.
  2. No editor, importe a pasta broll/ do projeto.
  3. 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.

  1. environment --action list mostra a versão da ponte e se ela está ligada.
  2. export --to <exporter> cria exports/<exporter>/001/, depois 002/…
  3. O render vai para renders/, fora da pasta do export.
getbrolls environment --action list
getbrolls environment --action enable --id hyperframes
getbrolls draft --action assemble --env hyperframes

O que aparece na pasta

2 · DAVINCI RESOLVE

DaVinci Resolve

botões no Resolve

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.

  1. Liga os botões uma vez por máquina. Se não aparecer, reabra o Resolve.
  2. Com o roteiro revisado, "Montar rascunho" importa a timeline pronta.
  3. Sem botão: o kit traz o timeline.json do rascunho, as legendas e o passo a passo.
getbrolls environment --action enable --id davinci
getbrolls draft --action assemble --env davinci [--kit]

O que aparece na pasta

3 · ADOBE PREMIERE

Adobe Premiere

kit de importação

O rascunho chega no Premiere pelo mesmo caminho do DaVinci: um kit com o timeline.json, as legendas e o passo a passo de importar.

  1. Use broll/ e entrega/, como em qualquer editor.
  2. Para o rascunho montado, importe o kit do Premiere com o timeline.json e as legendas.

O que aparece na pasta

Tudo que é novo na 2.6

61 novidades, uma por uma

Cada card diz o problema que resolve, como pensar nele e o passo a passo. estável pode usar. experimental funciona, mas pode mudar.

LIMITES HONESTOS DA 2.6
    VEIO DA 2.5? O QUE MUDA
      Mais da 2.6

      Tudo o que a 2.6 traz para a sua produção

      Receitas com botão, rascunho montado no editor, análise do seu material e organização automática. Cada card diz o que é, como pensar nele e o comando.

      Como ler a resposta

      Todo comando responde em JSON

      Pensa como o relatório de render: um texto organizado que diz o que aconteceu. Três campos resolvem quase tudo.

      summary.line

      Uma frase em português dizendo o que acabou de acontecer. Se for ler uma coisa só, leia essa.

      {"summary": {"line": "Coletei o corte final de nasa:abc em broll/abc.mp4."}}
      summary.do (no status)

      command é o próximo comando pronto, why diz o motivo e blocking_human fica true quando o próximo passo depende de você.

      deu erro

      Sai em stderr, numa linha, com error (o que houve) e error_code (o tipo). Nunca sai traceback: os detalhes ficam em brolls/diagnostics.jsonl.

      CÓDIGO DE SAÍDA · O NÚMERO QUE O TERMINAL GUARDA
      CódigoSignifica
      0Deu certo
      1Erro de operação ou de dados: ID errado, falta aprovação, link fora do ar. Com LOCKED, outro comando está usando o projeto: espere e repita
      2Erro de uso: comando ou flag digitado errado. Vem com "Você quis dizer…?"
      3Bug. Abra uma issue com o brolls/diagnostics.jsonl
      4Falta um pré-requisito (ffmpeg, yt-dlp, dados). Rode getbrolls setup
      130Interrompido com Ctrl+C
      Os arquivos que você edita

      BRIEF.md e RULES.md guardam as suas escolhas

      Os dois são Markdown com um bloco JSON dentro. Edite só o bloco JSON. Depois de editar o BRIEF, rode brief --validate.

      BRIEF.md · O PLANO DE B-ROLLS DESTE VÍDEO
      {
        "version": 1,
        "video": {
          "title": "Nome do vídeo",
          "objective": "O que o vídeo precisa provar",
          "delivery": { "format": "reels" }
        },
        "rights": { "posture": "per_item_evidence",
                    "stock_allowed": false },
        "defaults": {
          "allowed_sources": ["youtube", "commons", "nasa"],
          "intent": "literal", "duration_hint_s": 4
        },
        "beats": [{
          "id": "abertura",
          "narration": "A fala exata deste trecho",
          "target": "O que precisa aparecer na tela",
          "queries": [], "blocked_reason": null
        }]
      }
      video.title · objectiveObrigatórios. Nome e o que o vídeo precisa mostrar
      delivery.formatreels (9:16), horizontal (16:9) ou native
      rights.postureper_item_evidence (um por um) ou user_declaration (você assume tudo)
      stock_allowedtrue libera Pexels e Pixabay. Padrão: fonte real primeiro
      intentliteral (a coisa exata) ou illustrative (ideia genérica)
      beats[].targetObrigatório. O que precisa aparecer na tela
      beats[].queriesBuscas que já funcionaram. A primeira vira a sugerida
      blocked_reasonO beat depende de algo que só você tem. Não é buscado até você apagar
      RULES.md · O PADRÃO DO SEU CANAL
      {
        "version": 1,
        "video_format": "native",
        "preferred_providers": {
          "literal": ["youtube", "commons", "nasa"],
          "illustrative": ["pexels", "pixabay"]
        },
        "blocked_domains": [],
        "copyright": {
          "mode": "per_item_evidence",
          "responsible_person": null,
          "declaration": null
        }
      }
      video_formatnative, reels ou horizontal
      preferred_providersA ordem das fontes para busca literal e ilustrativa
      blocked_domainsSites que nunca podem entrar
      copyright.modeper_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?

      AconteceuFaça
      getbrolls: command not foundRode uv tool update-shell (ou pipx ensurepath) e abra um terminal novo
      Falta alguma ferramentaRode getbrolls doctor, depois getbrolls setup
      fetch recusouFaltou aprovar (passo 5) ou registrar os direitos (passo 6)
      Busca vaziaMenos palavras, no idioma do vídeo
      "Trecho grande demais"A prévia aceita no máximo 10 s
      Salvei no Storyboard e nadaRode import-review
      Não sei onde pareiRode status
      LOCKEDOutro comando está usando o projeto. Espere e repita
      Erro estranhoOlhe 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.

      Avançado

      Automação, contrato e ajuste fino

      RECEITA · PEGAR O ID SEM COPIAR NA MÃO
      ID=$(getbrolls search --provider nasa \
        --query "Artemis launch" --limit 1 \
        --project /caminho/meu-video | jq -r '.items[0].id')
      getbrolls preview --candidate "$ID" --start 0 --end 4 \
        --project /caminho/meu-video

      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.

      Prefere fazer na mão?

      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.

      brew install python ffmpeg node git curl
      winget install Python.Python.3.13 Gyan.FFmpeg OpenJS.NodeJS.LTS Git.Git

      Primeira linha: Mac, com o Homebrew. Segunda: Windows, com o winget. Rode só a do seu sistema.

      uv tool install git+https://github.com/engenheirodevideo/get-brolls@v2.6.0
      getbrolls setup
      getbrolls doctor

      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?

      /plugin marketplace add engenheirodevideo/get-brolls
      /plugin install getbrolls@engenheirodevideo

      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.

      PalavraO que é
      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.

      Ver no GitHub
      1. Atualize o getbrolls seguindo o README do repositório.
      2. Rode o setup de novo. Ele instala só o que mudou e não refaz o que já está pronto.
      getbrolls setup

      Vindo da 2.5? Veja o que muda.