OpenClip: edição de vídeo
edit_video realiza uma operação por chamada em um arquivo de vídeo: cortar, aparar, girar, redimensionar, comprimir ou remover áudio. É GRÁTIS, precisa de uma conta OpenClip, mas não requer assinatura nem créditos.
Encadeie chamadas para combinar operações: alimente a saída de uma chamada na próxima.
Configuração (uma vez)
OpenClip é um servidor MCP remoto em https://openclip.app/mcp. Faça login com sua conta OpenClip quando o prompt OAuth aparecer, não há chave de API para copiar.
- Claude Code:
claude mcp add --transport http openclip https://openclip.app/mcp, depois/mcppara autorizar. - Claude Desktop / web: Configurações, Conectores, "Adicionar conector personalizado", cole a URL, faça login.
- Cursor (
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } } - Clientes apenas com cabeçalho: gere um token MCP em
openclip.app/settings/connecte conecte-se ahttps://openclip.app/mcp/keycomAuthorization: Bearer <token>.
Teste rápido: chame get_account.
Obtendo o arquivo
create_upload(filename, content_type)retorna umide umupload_url.- Faça PUT dos bytes brutos para
upload_url. - Passe o
idretornado como argumentovideo.
NÃO chame complete_upload. Isso inicia o pipeline de corte pago. As ferramentas gratuitas leem o arquivo enviado diretamente. Um vídeo já em list_videos também funciona como entrada.
Operações
Cada chamada é edit_video(video, operation, ...params).
- crop - ou
aspect("1:1","9:16","16:9","4:5") oux,y,width,heightexplícitos. Useaspect: "9:16"para reenquadrar vídeos paisagem para TikTok, Reels e Shorts. - trim -
start_mseend_ms, ambos obrigatórios. Os tempos estão em milissegundos. - rotate -
degrees(90,180,270) e/ouflip(none,horizontal,vertical). - resize -
widtheheightem pixels. - compress - ou
target_mb(visa um tamanho de arquivo) oucrf(18 a 32, menor é melhor qualidade e arquivo maior). Usetarget_mbquando o usuário mencionar um limite de tamanho. - mute - sem parâmetros, remove a trilha de áudio.
Polling
edit_video retorna um hashid tool_job com status: "queued". Consulte get_tool_job_status(tool_job) a cada 5 a 10 segundos:
queued/processing- ainda processando, continue consultando.completed- retorna URLs CDN permanentesoutputsmaisresult_meta.failed- retornaerror.
Nunca presuma que uma chamada terminou de forma síncrona.
Regras
- Uma operação por chamada. Para aparar e depois reenquadrar, execute o aparar primeiro, depois passe sua saída para uma chamada de corte.
- Tempos estão em milissegundos em todos os lugares, não em segundos.
- URLs de saída são links CDN permanentes, não assinados nem expirados.
- O uso gratuito é limitado por taxa diária com um limite de tamanho por arquivo. O texto do erro explica como remover um limite.
Exemplos de prompts para ações
- "Corte isso para os primeiros 30 segundos" -
create_upload, PUT bytes,edit_video(video, operation="trim", start_ms=0, end_ms=30000), consulte. - "Deixe isso vertical para TikTok" -
edit_video(video, operation="crop", aspect="9:16"), consulte. - "Este arquivo tem 400 MB, deixe abaixo de 50" -
edit_video(video, operation="compress", target_mb=50), consulte. - "Remova o áudio" -
edit_video(video, operation="mute"), consulte. - "Apara para o minuto do meio e deixe quadrado" - aparar, consultar, depois cortar a saída com
aspect="1:1", consultar novamente.
Relacionados
Converter entre formatos (mp4, gif, mp3) é convert_media, veja a skill openclip-convert. Transformar um vídeo longo em clipes curtos ranqueados é o pipeline pago, veja openclip-clipping.