Premiere Clean Edit
Pegue um ou mais arquivos de vídeo brutos e transforme-os em vídeos finalizados e exportáveis:
corte os silêncios e palavras de preenchimento, corrija a cor, adicione legendas prontas para uso
e exporte tanto uma versão horizontal quanto vertical — tudo isso acionando diretamente o
Adobe Premiere Pro através das ferramentas MCP premiere-pro, com o claude-video-vision
realizando a análise de áudio que o Premiere não consegue fazer sem cabeça.
O Premiere Pro já deve estar aberto na máquina com o servidor MCP premiere-pro
conectado e o painel MCP Bridge (CEP) iniciado (Janela → Extensões)
— este skill não pode abrir o aplicativo. Execute o skill setup do kit se o servidor
não estiver instalado. Se ferramentas como create_sequence não estiverem listadas diretamente, o servidor
as está escondendo atrás de search_tools / invoke_tool: use essas, ou registre novamente o
servidor com PREMIERE_MCP_TOOLSET=full. Se alguma chamada de ferramenta mcp__premiere-pro__*
falhar com um erro de conexão, diga ao usuário para abrir o Premiere Pro e
tentar novamente, em vez de contornar o problema.
Por que são dois MCPs, não um
O premiere-pro pode cortar, corrigir e exportar — mas não tem como decidir onde
cortar. Não há detecção de silêncio ou ferramenta de transcrição nesse servidor.
O video_analyze do claude-video-vision preenche essa lacuna: ele executa detecção de silêncio
com ffmpeg e transcrição local com whisper (timestamps a nível de palavra) no arquivo bruto
antes de tocar no Premiere. A lista de cortes é calculada uma vez, em
dados simples, e então executada como uma sequência de chamadas MCP. Não tente
estimar pontos de corte manualmente percorrendo a linha do tempo do Premiere — você não tem
audição precisa de quadro, a análise faz isso.
Dois tipos de edição — escolha antes de começar
- Orientado por fala (talking-head, gravação de tela, narração): siga o Pipeline abaixo — cortes de silêncio/preenchimento e legendas são o trabalho principal.
- Montagem / B-roll (tour de ambiente, walkthrough, filmagens de viagem — sem diálogo guiando o corte): pule as etapas de silêncio/preenchimento e siga o pipeline de Montagem mais abaixo. Legendas opcionais; música e ritmo são o trabalho principal.
Ambos os tipos terminam no Estilo Padrão abaixo. Quando estiver em dúvida sobre qual tipo é: se o áudio não carrega a história, é uma montagem.
Estilo padrão (aparência padrão para redes sociais)
Esses padrões vieram da comparação de uma montagem automatizada com um corte final feito à mão. Um primeiro corte que os ignora geralmente é refeito manualmente. Se o usuário tiver seu próprio estilo ou um vídeo de referência de que goste, a preferência dele vence: pergunte e ajuste essas regras para corresponder.
- Abra e feche com a imagem mais forte de marca/establishing shot — comece com ela como um cartão de título E termine com ela. A ordem da história supera a ordem cronológica; uma placa com a marca ou um take principal tem prioridade sobre "o clipe que aconteceu primeiro."
- Corte impiedosamente. Um take por cena, ~3–6 segundos cada, apenas o melhor momento — nunca o clipe inteiro. Um bom corte de referência manteve 46s de 80s de material utilizável. Mire em ~45–60s no total para entregáveis de redes sociais.
- Descarte material fraco completamente — entradas com câmera tremendo, inícios hesitantes. Se um clipe precisa de desculpas, não entra no corte.
- Alterne planos gerais com close-ups de detalhes — sala geral → botões do fogão, quarto geral → textura da cabeceira. Detalhes entre planos gerais.
- Cross-dissolves entre cenas, não cortes secos. Cortes secos apenas para ênfase deliberada (um bom corte de referência tem um, talvez dois).
- Áudio com música primeiro para montagens. Faixa de música contínua (~-11 LUFS), sem silêncio; áudio original da câmera/ambiente removido ou totalmente enterrado, não apenas atenuado. Se nenhuma faixa for fornecida, peça uma ou deixe uma linha do tempo silenciada e sinalize — nunca envie áudio ambiente bruto.
- Entrega vertical primeiro: 1080×1920, 30fps, H.264 ~12 Mbps é o entregável principal, mesmo de fonte 4K60. O horizontal é o extra opcional, não o contrário.
Para clipes storytime/UGC (um momento real com diálogo — um encontro, uma reação, uma interação espontânea), adicione quatro regras além das acima:
- Comece com o momento viral. Coloque o close-up único mais arrebatador de 2–4s do meio do encontro em 0:00, depois volte e conte a história desde o início. Ordem cronológica é o modo de falha básico aqui — nunca comece com configuração/contexto.
- Deixe espaço para um gancho narrado. Os criadores geralmente gravam uma linha de narração direta sobre a abertura fria ("Eu sei que vocês devem estar se perguntando por que…"). O editor não pode gerar isso — construa a abertura fria e sinalize que o gancho VO precisa ser gravado (ou peça por ele) em vez de enviar sem um.
- Termine com o cartão da marca. Se o usuário tem uma marca, produto ou identificador para promover, feche com um pequeno cartão final (~3–5s) com ele. Peça o logotipo ou identificador dela; nunca invente um.
- Nivele o diálogo (~-16 LUFS, faixa estreita) em vez de colocar uma faixa de música — para storytime, a fala carrega; para montagem, a música carrega.
Pipeline
Execute estas etapas em ordem. Para um lote de clipes (por exemplo, uma semana de gravações), repita as etapas 2–8 por clipe dentro de um único projeto compartilhado do Premiere.
1. Confirmar entradas
Pergunte (ou infira do contexto) por: o(s) caminho(s) do(s) arquivo(s) bruto(s) e se isso é um único entregável ou precisa tanto de uma exportação horizontal (estilo LinkedIn, 16:9) quanto vertical (Threads/TikTok/Reels, 9:16). Se o usuário não disser, padrão para exportar ambos — o reenquadramento é barato uma vez que a edição está travada.
2. Obter fatos da fonte com ffprobe
ffprobe -v error -select_streams v:0 -show_entries stream=width,height,r_frame_rate \
-show_entries format=duration -of json "<arquivo-bruto>"
Você precisa de width, height, r_frame_rate (analise a fração, por exemplo 30000/1001 ≈ 29,97)
e duration. A sequência que você criar no Premiere deve corresponder a esses valores —
configurações de sequência incompatíveis causam redimensionamento/conformidade de taxa de quadros silenciosa que
degrada a qualidade.
3. Analisar áudio — silêncio + transcrição
Chame mcp__claude-video-vision__video_analyze no arquivo bruto com
filters: {silence: true, transcription: true}. Isso retorna intervalos de silêncio
e uma transcrição a nível de palavra (whisper executa localmente via whisper.cpp —
nenhuma chave de API necessária, a primeira execução pode levar um minuto para carregar o modelo).
Salve o resultado em um arquivo JSON — você o alimentará para o script de lista de cortes em seguida.
4. Calcular a lista de cortes
Execute scripts/build_cutlist.py no JSON da análise:
python3 "<caminho-do-skill>/scripts/build_cutlist.py" analysis.json \
--duration <duracao-ffprobe> --srt-out captions.srt
Este script existe porque fazer isso manualmente é propenso a erros de uma forma específica: cada timestamp de legenda após um corte precisa ser deslocado pela duração cumulativa de tudo removido antes dele, ou as legendas ficam dessincronizadas. O script lida com isso mais a lógica de mesclagem/preenchimento para lacunas de silêncio, para que um corte nunca caia no meio de uma palavra.
Ele corta automaticamente três coisas: lacunas de silêncio ≥0,35s (com preenchimento de 0,08s para que a fala não seja
cortada), palavras de preenchimento duras (um, uh, er e variantes) e gagueiras/falsos
começos (repetições imediatas de palavras como "o o"). Ele deliberadamente não
corta automaticamente preenchimentos suaves (tipo, então, certo, sabe, na verdade)
— essas são geralmente a voz real de alguém, não ruído. Feedback real de edições UGC passadas: um improviso como "sabe o que estou dizendo?" foi sinalizado como o mais
autêntico do lote e explicitamente mantido, não cortado. O
script exibe esses em flagged_for_review com contexto — revise rapidamente essa lista
e só escale para o usuário se algo parecer preenchimento genuíno em vez de
voz/personalidade; em caso de dúvida, mantenha.
5. Construir o projeto Premiere e o corte bruto
create_project(ouopen_projectse reutilizar um) ecreate_sequencecom configurações correspondentes à saída do ffprobe (etapa 2).import_mediado arquivo bruto,add_to_timelineno tempo 0 na faixa 0.- Percorra o array
cutsda lista de cortes em ordem decrescente destarte para cada um:razor_timeline_at_timeno início e fim do corte, entãoremove_from_timelineno clipe do meio resultante comdeleteMode: "ripple". A ordem decrescente é importante — deletar com ripple um corte anterior desloca todos os timestamps posteriores, então se você for para frente, os pontos de corte restantes da etapa 4 não se alinham mais com nada. - Confirme que a duração da sequência agora corresponde aproximadamente a
new_durationdo JSON da lista de cortes.
6. Corrigir cor
Aparência padrão (o usuário pediu limpo/natural, não uma correção estilizada): corrigir
balanço de branco, suavizar realces agressivos, levantar sombras esmagadas ligeiramente,
saturação modesta. Você não pode fazer isso cegamente — os parâmetros de color_correct são
controles deslizantes manuais sem detecção automática por trás deles. Então:
export_framede um quadro representativo (alguns segundos após o início do clipe, passando de qualquer introdução).- Olhe para ele. Julgue o balanço de branco (tons de pele não devem parecer laranja ou azul), exposição (algo está estourado/esmagado) e contraste.
- Aplique ajustes modestos de
color_correctno clipe da linha do tempo — pequenos ajustes (valores de um dígito), não mudanças drásticas. A correção natural deve ser quase imperceptível como "correção", apenas como "isso parece certo". export_framenovamente e compare. Itere uma ou duas vezes se algo ainda estiver errado; não entre em loop indefinidamente perseguindo a perfeição em um único quadro.
Se o usuário tem um LUT .cube/.3dl que deseja aplicar em vez de/além da
correção manual, use apply_lut com uma intensity baixa a moderada
(0,5–0,8) sobre a correção base, em vez de substituí-la — um LUT
sozinho não corrigirá um problema real de balanço de branco, ele apenas o recolorirá.
7. Legendas
import_mediado arquivocaptions.srtescrito na etapa 4.create_caption_trackna sequência, apontandoprojectItemIdpara o SRT importado.
Isso só funciona porque a etapa 4 já reajustou o tempo do SRT para a linha do tempo pós-corte — se você regenerar legendas a partir dos timestamps originais da transcrição (pré-corte) aqui, elas ficarão dessincronizadas com o vídeo editado.
8. Reenquadrar para a segunda proporção de aspecto
O reenquadramento corta dentro do quadro existente usando rastreamento de movimento — funciona bem indo de mais largo para mais estreito (16:9 → 9:16), mas não há dados de quadro reais para inventar indo de mais estreito para mais largo (9:16 → 16:9 exigiria expansão generativa que o auto-reframe do Premiere não faz). Então:
- Filmado horizontal →
auto_reframe_sequencecomnumerator: 9, denominator: 16para a exportação vertical. Este é o caso comum e funciona bem. - Filmado vertical → se uma versão horizontal for realmente necessária, diga isso ao usuário em vez de silenciosamente preencher/desfocar as laterais; uma regravação ou uma exportação com letterbox/pillarbox geralmente é a melhor opção do que um reenquadramento de IA ruim.
9. Exportar
Os entregáveis finais para redes sociais são H.264 1080p, não ProRes — esta é uma
exportação finalizada, não uma transferência Premiere-para-Premiere. export_sequence para cada versão:
- Horizontal:
format: "h264"(ou"mp4"),resolutioncorrespondendo à fonte,quality: "high". - Vertical (da sequência reenquadrada): mesmas configurações, 1080×1920.
Convenção de saída quando o usuário não especificou um caminho: crie uma pasta edited/
próxima ao(s) arquivo(s) de origem brutos e nomeie as saídas
<nome-da-fonte>-final.mp4 (horizontal) e <nome-da-fonte>-vertical.mp4.
save_project antes de finalizar.
10. Relatar
Diga ao usuário: o que foi cortado (contagens por motivo — silêncio/preenchimento/gagueira),
qualquer coisa de flagged_for_review que você manteve e por quê, o que a correção
de cor mudou e onde os arquivos exportados foram parar. Não diga apenas "pronto"
— esta é a filmagem deles; eles devem saber o que foi alterado.
Pipeline de montagem (filmagem sem diálogo)
- Assista a cada clipe de origem antes de tocar na linha do tempo —
video_watcha 1fps no mínimo. Não infira o conteúdo de nomes de arquivos, miniaturas ou resumos anteriores de pastas: um clipe "só do ambiente" pode terminar com a pessoa visível em um espelho (isso aconteceu — dois clipes de banheiro estavam limpos até os segundos finais). Ao assistir, observe o melhor take de 3–6s de cada clipe e os pontos de corte exatos. - ffprobe em todos os clipes (etapa 2 do Pipeline). Crie a sequência para corresponder ao fps da fonte — clipes de 60fps recebem uma sequência de 60fps. As configurações da sequência não podem ser alteradas após a criação (veja bugs do MCP), então acerte isso primeiro.
- Monte em ordem de história de acordo com o Estilo Padrão: imagem da marca → planos gerais alternando com detalhes → takes principais → imagem da marca novamente.
- Corte cada clipe para o seu take anotado: adicione o clipe completo em seu lugar, faça o razor
no limite de manutenção, delete com ripple o restante — passando tanto
videoTrackIndicesquantoaudioTrackIndices, depoislist_sequence_trackspara confirmar que os comprimentos das faixas de vídeo e áudio ainda correspondem. Caudas de áudio órfãs dessincronizam silenciosamente tudo depois delas. - Adicione cross-dissolves em cada limite de cena (
add_transition_to_clip). - Faixa de música de acordo com o Estilo Padrão; mate o áudio da câmera.
- Exporte vertical primeiro (1080×1920, 30fps, h264, alta qualidade). Só faça uma versão horizontal se for solicitado.
Bugs conhecidos do MCP do premiere-pro (verificado em agosto de 2026)
trim_clipsilenciosamente não faz nada — retorna sucesso, não muda nada (com ou semduration). Nunca use; use razor + delete com ripple.export_frameignoratime— sempre retorna o primeiro quadro da sequência, independentemente do timecode solicitado. Inútil para verificar um momento específico ou corrigir um clipe no meio da sequência; em vez disso, extraia quadros do arquivo fonte com claude-video-vision. Ele também anexa sua própria extensão (x.png→x.png.png), então passe umoutputPathsem extensão.razor_timeline_at_timecom apenasvideoTrackIndicesainda corta todas as faixas de áudio — e exclusões com ripple apenas de vídeo deixam áudio órfão para trás. Sempre passeaudioTrackIndicesexplicitamente e verifique a sincronia depois.set_sequence_settingsnão pode alterar fps/tamanho após a criação — crie uma nova sequência com as configurações corretas e exclua a antiga.- Chamadas MCP podem expirar e ainda assim ter sucesso (
create_sequencefez isso). Em um timeout, verifiqueget_project_info/list_sequencesantes de tentar novamente — tentativas cegas criam duplicatas. export_sequencepode relatar sucesso e não escrever nada — confirmado duas vezes (com e sem extensão de arquivo emoutputPath); ele também ecoaformat: "Pro...
[truncado para tradução]