Communitygithub.com

F0rger123/claude-video-editing-god-mode

Agente 1 do pipeline de edição de vídeo. Remove silêncios e espaços vazios de uma gravação de cabeça falante. Use quando solicitado a cortar silêncios, aparar pausas, remover espaços vazios ou apertar o ritmo de um vídeo bruto, dado um transcrição em nível de palavra. Produz uma lista de edição (EDL), um transcrição reajustada para agentes downstream e, opcionalmente, o vídeo cortado via ffmpeg. NÃO corta erros, repetições ou falsos começos — essa é a função do agente de corte de erros.

O que é claude-video-editing-god-mode?

Este agente, parte de um pipeline multiplataforma de edição de vídeo, é especializado em remover silêncios e pausas mortas de gravações com cabeça falante. Ele atua como primeiro passo de um fluxo automatizado, processando uma gravação bruta e sua transcrição em nível de palavra para eliminar exclusivamente silêncio, incluindo espaços vazios antes e depois do discurso e pausas entre palavras superiores a um limite configurável (por padrão, reduzidas a uma respiração natural). O agente não altera as palavras do falante, deixando a correção de erros, repetições e gaguejos para o agente downstream de corte de erros. Isso garante um comportamento determinístico, gerando artefatos como um EDL, uma transcrição com tempos reajustados para a linha do tempo editada e, opcionalmente, o vídeo cortado via ffmpeg. Suporta múltiplas plataformas (CLI, Node.js) e é ativado no início do fluxo de edição mestre, tornando-o ideal para produtores de conteúdo que buscam acelerar o processo de pós-produção.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/F0rger123/claude-video-editing-god-mode/tree/HEAD/.agents/skills/cut-silences

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Cortar Silêncios (Agente 1 do Pipeline)

Primeiro passo da edição automatizada. Pega uma gravação bruta e sua transcrição em nível de palavra e remove apenas silêncio: espaços vazios antes da primeira palavra e após a última palavra, mais pausas entre palavras maiores que um limite (reduzidas a uma respiração natural, nunca a uma lacuna zero). Deixa as palavras do falante intactas — falsos começos, retomadas e gaguejos são trabalho do agente cortar-erros (Agente 2).

Este agente é determinístico e orientado por transcrição, portanto sua saída (*.silence-transcript.json) alimenta-se de forma limpa nos próximos agentes e no validador de sincronização de batidas.

Quando usar

  • "cortar os silêncios", "aparar as pausas", "remover espaços vazios", "apertar o ritmo"
  • Como o primeiro estágio do fluxo de edição mestre, logo após a transcrição.

Pré-requisitos

Um JSON de transcrição em nível de palavra. Ou o formato ElevenLabs Scribe ({ words: [{ text, start, end, type }], audio_duration_secs }) ou um genérico { words: [{ text, start, end }] }. Gere um com o transcritor do space de trabalho:

node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4    # -> path/to/raw.json

Uso

# 1) Apenas planejamento — calcula o corte, escreve EDL + transcrição reajustada (nenhum vídeo tocado)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --out-dir video-projects/<slug>/assets

# 2) Com um vídeo — também escreve o comando ffmpeg (ainda não renderiza)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets

# 3) Renderizar o vídeo cortado (ffmpeg local, re-codificar, A/V mantidos sincronizados)
#    adicione --apply para realmente executar o ffmpeg
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --apply \
  --output video-projects/<slug>/assets/edited-silenced.mp4

Opções

FlagPadrãoSignificado
--video <caminho>—Vídeo de origem; habilita o comando ffmpeg / renderização
--out-dir <dir>próximo ao transcriçãoOnde as saídas são escritas
--output <caminho><video-stem>.silenced.mp4Caminho do vídeo cortado
--gap <s>0.55Pausa mínima tratada como silêncio cortável
--head-pad <s>0.22Silêncio mantido antes da primeira palavra
--tail-pad <s>0.34Silêncio mantido após a última palavra
--applydesligadoRealmente executar ffmpeg para renderizar o corte

Como decide (as regras de silêncio)

  • Pausas abaixo de --gap (0,55s) são deixadas em paz — ritmo de fala natural.
  • Para uma pausa aparada, uma respiração natural é mantida, escalada por contexto: 0,24s para pausas longas (≥2s), 0,20s após um finalizador de frase (. ! ?), 0,14s caso contrário. A respiração mantida é ligeiramente tendenciosa para o final da frase anterior.
  • Espaços vazios de cabeça/cauda são aparados para --head-pad / --tail-pad.
  • Os intervalos de exclusão são mesclados; os intervalos de manutenção são o complemento. O corte é renderizado com um graph de filtro trim/atrim + concat do ffmpeg (gravado em um script *.silence-filter.txt e passado via -/filter_complex), assim o vídeo e o áudio permanecem sincronizados.

Saídas (escritas em --out-dir)

ArquivoProposta
<stem>.silence-edl.jsonIntervalos de manutenção/exclusão, durações, parâmetros — a lista de edição
<stem>.silence-transcript.jsonPalavras com tempos reajustados para a linha do tempo editada (alimenta Agente 2 + batidas)
<stem>.silence-decisions.mdResumo legível por humanos + maiores pausas aparadas
<stem>.silence-filter.txtO graph de filtro do ffmpeg (apenas com --video)
<video-stem>.silenced.mp4O vídeo cortado (apenas com --apply)

O resumo JSON impresso no stdout inclui removed, removedPct, contagens de intervalos e caminhos de saída — útil para o fluxo de trabalho mestre registrar e encadear.

Notas de ajuste

  • Padrão YouTube de cabeça falante (--gap 0,55) remove aproximadamente 15-20% de uma tomada bruta típica como puro silêncio. Abaixe --gap para um corte mais rápido e incisivo; aumente para preservar mais espaço natural para respirar.
  • Se um corte parecer muito agressivo nos limites de frases, aumente a respiração de quebra de frase ou aumente --gap.

Transferência para o próximo agente

Passe <stem>.silence-transcript.json (e o silenced.mp4, se renderizado) para o agente cortar-erros. Como os carimbos de tempo já estão na linha do tempo editada, o tempo das batidas downstream e scripts/validate-beat-sync.mjs funcionam sem ajustes adicionais.

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

Habilidades Relacionadas