Edição de Vídeo
Filmagens reais, edições determinísticas, saída verificada. Cada operação é uma ferramenta MCP video-tools;
use-as em vez de escrever ffmpeg manualmente para que caminhos, codificações e loudness estejam sempre corretos.
Regras básicas
- Nunca toque nos originais. Escreva em
video-out/<slug>/com etapas numeradas (01_trim.mp4,02_jumpcut.mp4, ...). As ferramentas recusam sobrescrever a menos queoverwrite=true. - Veja antes de cortar. Comece com
probeecontact_sheetem cada fonte. Usedetectpara cortes de cena e silêncios. Se uma transcrição for necessária e o pluginwatchestiver instalado, use-o; caso contrário,extract_audiopara.wave transcreva com o que estiver disponível (whisper, uma API de nuvem que o usuário tenha), e informe qual. - Uma alteração por etapa, depois veja o resultado (
contact_sheet) antes da próxima. - Imagem primeiro, som depois, entrega por último: corte → legendas → música → loudness → exportação.
Passos padrão
| Objetivo | Chamada de ferramenta |
|---|---|
| Inspecionar | probe(path, measure_loudness=true), contact_sheet(input), detect(input) |
| Selecionar um intervalo | trim(input, output, start, end) (preciso por padrão) |
| Aperto de fala | remove_silence(input, output, threshold_db=-35, min_silence=0.45, padding=0.12); aumente threshold_db para -30 em salas barulhentas, aumente padding se palavras forem cortadas |
| Montar | concat(inputs, output, crossfade=0); clipes com tamanhos/fps/sem áudio misturados são conformados automaticamente |
| Legendas | escreva um .srt a partir da transcrição (máx. ~32 caracteres/linha, 2 linhas, 1-6 s cada), depois `burn_captions(style=clean |
| Música | add_music(input, music, output, music_db=-16, duck=true); a música é repetida, cortada, com fade e ducking sidechain sob a fala |
| Vertical / quadrado | `reframe(aspect="9:16", fit=blur |
| Rampa de velocidade | speed(factor) em um segmento cortado, depois concat |
| Candidatos a miniatura | frame(time) em 3-5 pontos fortes da contact sheet |
| Apenas loudness | normalize_audio(target_lufs=-14) |
| Entrega | `export(preset=youtube |
Curto a partir de longo
detect+ transcrição → escolha 15-60 s com um gancho nos primeiros 2 s e uma ideia completa.trim→remove_silence→reframe 9:16→burn_captions style=bold→export shorts.- Se o usuário quiser uma abertura mais forte e a skill
viral-hookestiver instalada, ofereça-a.
Finalização
Sempre termine com a skill video-qa no arquivo final com o destino correspondente.