Claude AIShorts Editor

Cinco etapas, um comando.

Five steps, one command.

./ae auto faz tudo em sequência. Aqui está o que acontece em cada etapa e o arquivo de verdade que cada uma deixa para trás, para você conferir ou ajustar depois.

./ae auto runs everything in sequence. Here's what happens at each step and the actual file each one leaves behind, so you can check or tweak it later.

1 / 5 · yt-dlp

Um link ou um arquivo.

A link or a file.

Funciona com qualquer link que o yt-dlp abre (YouTube, Instagram, Vimeo e centenas de outros) ou com um arquivo que você já tem. O vídeo é baixado em até 1080p, H.264, para a pasta bruto/, que nunca é alterada.

Works with any link yt-dlp can open (YouTube, Instagram, Vimeo and hundreds more) or with a file you already have. The video is downloaded at up to 1080p, H.264, into bruto/, which is never modified.

  • Vídeo de 3 horas e só interessa uma parte? --trecho 30:00 1:30:00 baixa só esse pedaço.
  • O título do vídeo é usado para descobrir nomes próprios e ajudar a transcrição a acertá-los.
  • 3-hour video and you only care about part of it? --trecho 30:00 1:30:00 downloads just that.
  • The video title is used to find proper names and help the transcription get them right.

Use só vídeos que você tem direito de usar: seu canal, de um cliente ou com licença.

Only use videos you have the rights to: your own channel, a client's, or licensed.

2 / 5 · faster-whisper

Transcrição local, palavra por palavra.

Local transcription, word by word.

O Whisper roda na sua placa NVIDIA (ou no processador), literal e com pontuação, guardando o tempo de cada palavra. Com NVIDIA, 1 hora de vídeo sai em uns 3 minutos; vídeos de até 30 minutos usam o modelo mais preciso e levam cerca de 1/4 da duração. A transcrição fica em cache: rodar de novo não refaz.

Whisper runs on your NVIDIA card (or on the CPU), verbatim and punctuated, keeping the timing of every word. With NVIDIA, 1 hour of video takes about 3 minutes; videos up to 30 minutes use the most accurate model and take about 1/4 of their length. The transcript is cached: running again doesn't redo it.

Daí sai o takes_packed.md: frases agrupadas por pausa, com início e fim. É isso que o Claude lê, e é nesses tempos que ele escreve os cortes.

From that comes takes_packed.md: phrases grouped by pauses, with start and end times. That's what Claude reads, and those are the times it writes cuts in.

O vídeo não sai do seu computador. Para o Claude vai só o texto.

The video never leaves your computer. Only the text goes to Claude.

3 / 5 · Claude

O Claude lê tudo e escreve o roteiro.

Claude reads everything and writes the script.

Ele lê a transcrição inteira, levanta de 10 a 16 candidatos e dá nota a cada um. Um corte bom tem três partes: um gancho nos primeiros 3 segundos, um desenvolvimento curto e um payoff que recompensa quem ficou.

It reads the entire transcript, lists 10 to 16 candidates and scores each one. A good cut has three parts: a hook in the first 3 seconds, a short build-up, and a payoff that rewards whoever stayed.

GanchoHook×3
Payoff×2
AutossuficiênciaStands alone×2
Emoção/polêmicaEmotion/debate×1,5
RitmoPace×1
Visual×0,5

Os melhores (por padrão 6, com nota 7 ou mais) são produzidos. Os outros ficam no roteiro como reserva. Ele descarta trechos que dependem de algo dito antes, que terminam no meio de uma ideia ou que expõem alguém sem contexto.

The best ones (6 by default, scoring 7 or more) get produced. The rest stay in the script as reserva (reserve). It discards moments that depend on something said earlier, end mid-thought, or expose someone without context.

idiníciostartdurcategoriacategorynotascore
c011:08:1214shistoria-pessoal8,4produzir
c020:12:5139sopiniao-forte8,1produzir
c030:31:0547shumor7,9produzir
c041:22:3058sconselho-pratico7,6produzir
c051:47:1044sbastidor7,3produzir
c062:03:4436spergunta-rapida7,1produzir
c070:55:2062shumor6,4reserva
c081:58:0241sopiniao-forte6,1reserva

Exemplo ilustrativo. O c01 é curto de propósito, para caber na animação da página inicial.

Illustrative example. c01 is short on purpose, to fit the animation on the home page.

O roteiro é o único arquivo que o Claude escreve.

The script is the only file Claude writes.

Tudo o que precisa de critério mora nele: onde cada corte começa e termina (em vários trechos, para tirar enrolação), o título, as palavras em destaque, os nomes que o Whisper errou e cada motion, ancorado na palavra exata da fala.

Everything that needs judgment lives in it: where each cut starts and ends (in several takes, to drop filler), the title, the highlighted words, the names Whisper got wrong, and every motion, anchored to the exact spoken word.

Ele também escreve por que escolheu cada corte. Isso vira um resumo legível em edit/roteiros/<video>.md.

It also writes down why it chose each cut. That becomes a readable summary in edit/roteiros/<video>.md.

Se o assunto pede uma ilustração que ainda não existe, ele desenha uma cena nova em React/SVG e registra no projeto.

If the topic calls for an illustration that doesn't exist yet, it draws a new scene in React/SVG and registers it in the project.

// edit/roteiros/XXXX.json (trecho)
{
  "correcoes": {"Cloud": "Claude"},
  "cortes": [{
    "id": "c01",
    "nota": 8.4,
    "categoria": "historia-pessoal",
    "titulo": "A série que uniu a família",
    "gancho": "Minha família só conversa de verdade quando tem série passando",
    "payoff": "A série era desculpa. O assunto era a gente.",
    "porque": "Gancho com identificação imediata, imagem concreta (mesa × sofá), frase de efeito no fim",
    "trechos": [["1:08:12.3", "1:08:19.8"], ["1:08:41.0", "1:08:47.9"]],
    "enfase": ["série", "crítico", "desculpa", "gente"],
    "motions": [
      {"type": "keyword", "word": "passando", "text": "Maratona"},
      {"type": "scene", "name": "Comparacao", "layout": "card", "at": "1:08:16.2", …},
      {"type": "flash", "at": "1:08:41.0"},
      {"type": "counter", "word": "Noventa", "to": 96, "label": "episódios juntos"},
      {"type": "zoom", "word": "assunto", "scale": 1.18}
    ]
  }]
}
4 / 5 · video-use + Remotion

Validar, cortar, enquadrar, animar.

Validate, cut, frame, animate.

Antes de renderizar, o roteiro passa por uma validação. Se algo falha, o Claude corrige sozinho.

Before rendering, the script goes through validation. If something fails, Claude fixes it on its own.

  • os trechos existem no vídeo e são ajustados para não cortar palavra no meio;
  • cada motion encontra a palavra em que foi ancorado;
  • motions não se sobrepõem e as cenas usadas existem;
  • a duração cabe (ideal 35–60 s, máximo 90 s) e o corte termina numa frase completa.
  • the takes exist in the video and are snapped so no word gets cut in half;
  • every motion finds the word it's anchored to;
  • motions don't overlap and the scenes used exist;
  • the length fits (ideally 35–60 s, max 90 s) and the cut ends on a complete sentence.

Aí o video-use corta e trata a cor, o OpenCV (YuNet) acha o rosto de quem está falando em cada quadro e a janela 9:16 segue esse rosto. O Remotion monta as camadas e renderiza em 1080×1920, 30 fps. Os textos se posicionam sozinhos acima da cabeça ou entre a cabeça e a legenda, nunca sobre o rosto.

Then video-use cuts and grades the footage, OpenCV (YuNet) finds the speaker's face in every frame, and the 9:16 window follows it. Remotion stacks the layers and renders at 1080×1920, 30 fps. Text places itself above the head or between the head and the caption, never on the face.

Cada etapa tem cache. Mudou só um título? Só aquele reel é renderizado de novo, sem recortar o vídeo.

Each step is cached. Changed just a title? Only that reel is rendered again, without re-cutting the video.

  1. vídeo recortado no rostovideo cropped to the face
  2. cenas em tela cheiafull-screen scenes
  3. granuladofilm grain
  4. legenda palavra a palavra, com ênfasesword-by-word captions, with emphasis
  5. títulos, palavras, contadores, cards, flashtitles, keywords, counters, cards, flash
  6. saída suave (imagem escurece, áudio baixa)soft exit (picture darkens, audio dips)
5 / 5 · Claude

O Claude confere o próprio trabalho.

Claude checks its own work.

Para cada reel sai uma folha de revisão com até 12 quadros: o começo de cada motion e cada troca de câmera. O Claude olha as folhas e os avisos da produção e procura rosto cortado, texto mal colocado e final abrupto.

Each reel gets a review sheet with up to 12 frames: the start of every motion and every camera change. Claude looks at the sheets and the production warnings, hunting for cropped faces, badly placed text and abrupt endings.

Se acha algo, ajusta o roteiro (por exemplo, fixa o enquadramento num trecho ou estica o fim até a frase fechar) e a produção roda de novo, só para o que mudou. Por padrão é uma rodada; --revisoes 0 desliga.

If it finds something, it adjusts the script (for example, pins the framing on a stretch or extends the ending until the sentence closes) and production runs again, only for what changed. One round by default; --revisoes 0 turns it off.

== 5/5 Revisão do Claude (1/1)
  ⚠ c02: o corte termina em "exato", sem fim de frase
  → c02: trecho final estendido até "…e foi isso."
  → c04: pin 12-18:0.30 (rosto saía pela esquerda)
== Produzindo de novo com as correções
  ✓ c02  ✓ c04
== Pronto em 23 min

Saída resumida para caber aqui.

Output shortened to fit here.

edit/cortes/ep42-c04/revisao.png
0.2s
3.1s
6.9s
10.4s
12.0s
15.6s
19.2s
23.0s
27.5s
31.8s
36.4s
40.6s

No quadro marcado o rosto escapa do enquadramento. O Claude fixa o centro com pin e esse reel sai de novo.

In the marked frame the face slips out of frame. Claude pins the centre with pin and that reel is rendered again.

+

Depois: ajustes por pedido.

After that: tweaks on request.

Não gostou de algo? Peça do jeito que você falaria com um editor. O Claude muda o roteiro e você produz de novo.

Something you don't like? Ask the way you'd ask an editor. Claude changes the script and you produce again.

$ ./ae revisar --pedido "o c02 começa devagar; e use menos texto na tela"
$ ./ae produzir

Para ver antes de gastar tempo com render cheio, use --rapido: os reels saem em meia resolução em publicar/rapido/. Quando estiver bom, ./ae produzir gera a versão final sem chamar o Claude de novo.

To preview before spending time on a full render, use --rapido: reels come out at half resolution in publicar/rapido/. When it looks good, ./ae produzir renders the final version without calling Claude again.

Quer mexer com as mãos? ./ae studio abre o Remotion Studio no navegador, em localhost:3000, com cada reel como uma composição.

Want to get hands-on? ./ae studio opens Remotion Studio in your browser at localhost:3000, with each reel as a composition.

E o que você aprova vira regra: preferências de estilo, cor e ritmo ficam anotadas em skill/corte-viral/references/aprendizados.md e valem para os próximos vídeos.

And whatever you approve becomes a rule: style, colour and pacing preferences are written to skill/corte-viral/references/aprendizados.md and apply to future videos.

$ ./ae ajuda

Comandos e receitas.

Commands and recipes.

Tudo roda dentro da pasta do projeto: cd ~/claude-ai-shorts-editor. Coloque links sempre entre aspas.

Everything runs inside the project folder: cd ~/claude-ai-shorts-editor. Always put links in quotes.

Cortar só um trecho de um vídeo longoCut just one part of a long video

$ ./ae auto "URL" --trecho 30:00 1:15:00

Usar um vídeo do meu computadorUse a video from my computer

$ ./ae auto ~/Videos/meu-podcast.mp4

Mais (ou menos) reelsMore (or fewer) reels

$ ./ae auto "URL" --cortes 10

Prévia rápida antes da versão finalQuick preview before the final version

$ ./ae auto "URL" --rapido

Dar instruções ao ClaudeGive Claude instructions

$ ./ae auto "URL" --pedido "tom leve"

Corrigir algo depoisFix something afterwards

$ ./ae revisar --pedido "o c02 começa devagar"

Gerar a versão final (sem chamar o Claude)Render the final version (no Claude call)

$ ./ae produzir

Renderizar só alguns cortesRender only some cuts

$ ./ae produzir --so c01,c03

Refazer ignorando o cacheRedo everything, ignoring the cache

$ ./ae produzir --forcar

Só baixar um trecho, sem processarJust download a part, no processing

$ ./ae baixar "URL" 30:00 1:15:00

Ajudar a transcrição com nomes própriosHelp transcription with proper names

$ ./ae transcrever bruto/video.mp4 "Fulano, Empresa"

Apagar os reels gerados de um vídeoDelete the generated reels of a video

$ ./ae limpar abc1

Referência completa

Full reference

comandocommando que fazwhat it does
Tudo de uma vezAll at once
./ae auto <video|URL>Baixa, transcreve, o Claude escreve o roteiro, valida, produz e revisa.Downloads, transcribes, Claude writes the script, validates, produces and reviews.
  --cortes NQuantos reels produzir (padrão 6).How many reels to produce (default 6).
  --rapidoReels em meia resolução, para prévia, em publicar/rapido/.Half-resolution preview reels, in publicar/rapido/.
  --trecho INI FIM(link) Baixa só esse trecho. Ex.: --trecho 30:00 1:10:00.(link) Downloads only that part. E.g. --trecho 30:00 1:10:00.
  --pedido "…"Instrução extra para o Claude. Ex.: "foco em finanças, tom polêmico".Extra instruction for Claude. E.g. "focus on finance, provocative tone".
  --revisoes NRodadas de revisão depois de produzir (padrão 1; 0 desliga).Review rounds after producing (default 1; 0 turns off).
  --modelo MModelo do Claude (padrão: o seu padrão). Ex.: --modelo opus.Claude model (default: your default). E.g. --modelo opus.
Etapas separadasSeparate steps
./ae verificarConfere ferramentas, GPU, skills, login do Claude e permissões.Checks tools, GPU, skills, Claude login and permissions.
./ae baixar URL [INI FIM]Baixa para bruto/, inteiro ou só um trecho.Downloads into bruto/, whole or just a part.
./ae transcrever ARQUIVO ["nomes"]Transcrição local e edit/takes_packed.md. Os nomes ajudam o Whisper a acertar nomes próprios.Local transcription and edit/takes_packed.md. The names help Whisper get proper nouns right.
./ae roteirizar ARQUIVO [--cortes N] [--pedido "…"]O Claude escreve edit/roteiros/<video>.json, sem produzir.Claude writes edit/roteiros/<video>.json, without producing.
./ae validar [ROTEIRO]Confere o roteiro e gera o resumo .md.Checks the script and generates the .md summary.
./ae produzir [ROTEIRO] [--rapido] [--so c01,c02] [--forcar]Renderiza os reels em publicar/. --so escolhe cortes; --forcar ignora o cache e refaz tudo.Renders the reels into publicar/. --so picks cuts; --forcar ignores the cache and redoes everything.
./ae revisar [ROTEIRO] [--pedido "…"]O Claude revisa as folhas de revisão e ajusta o roteiro.Claude reviews the review sheets and adjusts the script.
UtilidadesUtilities
./ae studioRemotion Studio em localhost:3000.Remotion Studio at localhost:3000.
./ae still CHAVE SEGImagem de um instante de um reel, em remotion/out/.Still image of a moment in a reel, in remotion/out/.
./ae cena NOME SEG [card|full]Prévia de uma cena ilustrada.Preview of an illustrated scene.
./ae tscChecagem de tipos do Remotion.Remotion type check.
./ae limpar PREFIXOApaga reels e cortes gerados de um vídeo (mantém original, transcrição e roteiro).Deletes generated reels and cuts for a video (keeps source, transcript and script).
./ae demoReel de demonstração com todos os motions, em publicar/demo.mp4.Demo reel with every motion, in publicar/demo.mp4.
./ae ajudaMostra esta lista no terminal.Shows this list in the terminal.

ROTEIRO é opcional: o padrão é o mais recente em edit/roteiros/. Os logs do Claude ficam em edit/logs/.

ROTEIRO (script) is optional: the default is the latest in edit/roteiros/. Claude's logs are in edit/logs/.

?

Perguntas.

Questions.

Preciso saber programar?Do I need to know how to code?

Não. Você cola um comando e espera. A instalação tem um passo a passo para quem nunca abriu um terminal.

No. You paste one command and wait. The installation has a walkthrough for people who've never opened a terminal.

Preciso de placa de vídeo NVIDIA?Do I need an NVIDIA graphics card?

É recomendada. Sem ela, a transcrição roda no processador e fica bem mais lenta. O resto funciona igual. No Mac é sempre assim, porque Macs não têm NVIDIA: use --trecho para processar só a parte que interessa.

It's recommended. Without one, transcription runs on the CPU and is much slower. Everything else works the same. On a Mac that's always the case, since Macs have no NVIDIA: use --trecho to process only the part you need.

Quanto tempo leva?How long does it take?

No teste de referência (RTX 4090, trecho de 10 minutos, 2 cortes), 28 minutos do início ao fim. O roteiro leva de 5 a 15 min, cada reel de 1 a 3 min e a revisão de 3 a 8 min. Pode deixar rodando e fazer outra coisa.

In the reference test (RTX 4090, a 10-minute excerpt, 2 cuts), 28 minutes end to end. The script takes 5–15 min, each reel 1–3 min and the review 3–8 min. You can leave it running and do something else.

Quanto custa?What does it cost?

O projeto é gratuito. Você precisa de Claude Pro, Max, Team ou Enterprise (o uso entra na cota do plano) ou de uma chave de API (paga pelo uso). Cada vídeo usa duas sessões do Claude: no teste de 10 minutos com 2 cortes, o consumo equivaleu a uns US$ 4,60 em preço de API. Whisper, ffmpeg e yt-dlp são gratuitos. O Remotion é grátis para pessoas físicas e empresas pequenas; empresas maiores precisam de licença.

The project is free. You need Claude Pro, Max, Team or Enterprise (usage counts against your plan) or an API key (pay per use). Each video uses two Claude sessions: in the 10-minute, 2-cut test, usage came to about US$4.60 at API prices. Whisper, ffmpeg and yt-dlp are free. Remotion is free for individuals and small companies; larger companies need a license.

Que tipo de vídeo funciona melhor?What kind of video works best?

Gente falando para a câmera: podcast, entrevista, live, aula, palestra. Quanto mais visível o rosto, melhor o enquadramento.

People talking to camera: podcasts, interviews, livestreams, lectures, talks. The more visible the face, the better the framing.

Para onde vão os meus dados?Where does my data go?

Vídeo e áudio ficam no seu computador. O texto da transcrição vai para o Claude, pela sua conta, para ele escrever e revisar o roteiro, junto com as folhas de revisão.

Video and audio stay on your computer. The transcript text goes to Claude, through your account, so it can write and review the script, along with the review sheets.

O rosto saiu cortado. E agora?The face got cropped. Now what?

Rode ./ae revisar: o Claude fixa o enquadramento no trecho com problema. Depois, ./ae produzir.

Run ./ae revisar: Claude pins the framing on the problem stretch. Then ./ae produzir.

Pronto para o primeiro corte?

Ready for your first cut?

Prepare o computador uma vez e o instalar.sh faz o resto em 5 a 15 minutos.

Prepare your computer once and instalar.sh does the rest in 5 to 15 minutes.