OpenClip: miniaturas e edição de imagens
Duas ferramentas gratuitas, geralmente usadas juntas:
extract_thumbnails– extrai quadros de um vídeo.edit_image– comprime, redimensiona, corta ou reformata uma imagem.
Ambas são GRATUITAS, exigem uma conta OpenClip, mas não precisam de assinatura nem créditos.
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 é necessário copiar chave de API.
- 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 somente com cabeçalho: gere um token MCP em
openclip.app/settings/connecte conecte-se ahttps://openclip.app/mcp/keycomAuthorization: Bearer <token>.
Teste: chame get_account.
Obtendo o arquivo
create_upload(nome_arquivo, tipo_conteudo)retorna umide umaupload_url.- faça PUT dos bytes brutos em
upload_url. - Passe o
idretornado como argumentovideo(miniaturas) oufile(edição de imagem).
NÃO chame complete_upload. Isso inicia o pipeline de corte pago. As ferramentas gratuitas leem o arquivo enviado diretamente. Vídeos já presentes em list_videos também funcionam como entrada.
extract_thumbnails
extract_thumbnails(video, count?, width?).
count– de 1 a 10, padrão 1. Os quadros são distribuídos uniformemente ao longo do vídeo; portanto,count: 5fornece uma folha de contato aproximada para escolher.width– largura em pixels opcional para os quadros de saída.
A saída é um zip de quadros, não URLs individuais de imagem. Entregue ao usuário a URL do zip, ou descompacte-o se precisar de um quadro específico.
Quando o usuário quiser um quadro de um momento exato em vez de uma distribuição uniforme, primeiro corte o vídeo naquele momento com edit_video (operation="trim", veja openclip-video-editing) e depois extraia uma miniatura do clipe cortado.
edit_image
edit_image(file, operation, ...params), uma operação por chamada:
- compress –
qualityde 1 a 100 (padrão 80),formatopcional (jpg,png,webp). - resize –
widtheheightem pixels,formatopcional. - crop – ou
aspect("1:1","9:16","16:9","4:5") oux,y,width,heightexplícitos,formatopcional.
Use webp quando a imagem for para uma página web e jpg quando precisar funcionar em todos os lugares.
Polling
Ambas as ferramentas retornam 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 URLsoutputspermanentes do CDN além deresult_meta.failed– retornaerror.
Regras
- Sempre faça polling; ambas as ferramentas são assíncronas.
- Uma operação
edit_imagepor chamada. Para redimensionar e depois comprimir, execute duas chamadas em sequência. extract_thumbnailssempre retorna um zip. Não prometa ao usuário URLs individuais de quadros.- As URLs de saída são links permanentes do CDN, não assinados nem expirados.
- O uso gratuito tem limite de taxa diário e um limite de tamanho por arquivo.
Exemplos de prompts para ações
- "Pegue uma miniatura deste vídeo" –
create_upload, PUT bytes,extract_thumbnails(video), polling, retorne a URL do zip. - "Me dê 5 quadros para escolher" –
extract_thumbnails(video, count=5), polling. - "Quero o quadro em 1:30" –
edit_video(video, operation="trim", start_ms=90000, end_ms=91000), polling, depoisextract_thumbnailsnessa saída, polling. - "Transforme esta imagem em um quadrado webp" –
edit_image(file, operation="crop", aspect="1:1", format="webp"), polling. - "Este PNG é enorme, reduza-o" –
edit_image(file, operation="compress", quality=75, format="webp"), polling.
Relacionados
Recortar o assunto para um PNG transparente é openclip-remove-background. Corte e redimensionamento de vídeo é openclip-video-editing.