Mochify - Automate Image Workflows

Execute compressão, redimensionamento, corte e conversão de imagens com linguagem natural.

Documentação

mochify-cli

MCP Badge License: MIT

Uma ferramenta de linha de comando e servidor MCP para mochify.app — uma API de compressão e conversão de imagens rápida e focada em privacidade, alimentada por um motor nativo em C++.

Comprima e converta imagens para formatos modernos (AVIF, JXL, WebP, Jpegli) a partir do seu terminal, ou dê a assistentes de IA como o Claude acesso direto ao processamento de imagens via Model Context Protocol.

Instalação

macOS (Homebrew):

brew tap getmochify/mochify
brew install mochify

Windows (Scoop):

scoop bucket add mochify https://github.com/getmochify/scoop-mochify
scoop install mochify

Linux / WSL:

# x86_64
curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-x86_64 -o mochify
chmod +x mochify
sudo mv mochify /usr/local/bin/

# arm64
curl -L https://github.com/getmochify/mochify-cli/releases/latest/download/mochify-linux-arm64 -o mochify
chmod +x mochify
sudo mv mochify /usr/local/bin/

Cargo (todas as plataformas):

cargo install mochify

Requer Rust. Opção mais fácil no Linux/WSL se você já tiver o toolchain.

Manual: Todos os binários em Releases.

A partir do código-fonte:

cargo install --path .

Autenticação

Entre com sua conta mochify.app para desbloquear sua cota completa:

mochify auth login

Isso abre seu navegador, onde você faz login e autoriza a CLI. As credenciais são salvas automaticamente em ~/.config/mochify/credentials.toml — não são necessárias variáveis de ambiente ou cópia manual de chaves. Tanto a CLI quanto o servidor MCP as detectam automaticamente.

mochify auth status   # check whether you're signed in
mochify auth logout   # remove saved credentials

Sem conta, você obtém 3 imagens por lote (baseado em IP). Com uma conta gratuita: 25 imagens/mês. Cadastre-se em mochify.app.

Uso da CLI

mochify [OPTIONS] <FILES>...

Opções

FlagDescrição
-t, --type <FORMAT>Formato de saída: jpg, png, webp, avif, jxl
-w, --width <N>Largura alvo em pixels
-H, --height <N>Altura alvo em pixels
--cropCortar para dimensões exatas (guiado por saliência)
-r, --rotation <DEG>Rotação: 0, 90, 180, 270
-o, --output <DIR>Diretório de saída (padrão: mesmo da entrada)
-n, --name <NAME>Nome base para o arquivo de saída (sem extensão)
--clarityAplicar clareza (realce de contraste de tons médios — aparência mais nítida e detalhada)
-p, --prompt <TEXT>Prompt em linguagem natural — resolve todos os parâmetros automaticamente
-k, --api-key <KEY>Substituição de chave de API (ou defina a variável de ambiente MOCHIFY_API_KEY)

Exemplos

# Convert to AVIF
mochify photo.jpg -t avif

# Resize and convert to WebP
mochify photo.jpg -t webp -w 800

# Batch convert a folder to AVIF at 1200px wide
mochify ./images/*.jpg -t avif -w 1200 -o ./compressed

# Natural-language prompt — let the AI pick the right params
mochify photo.jpg -p "convert to avif, 1200px wide"
mochify photo.jpg -p "optimise for eBay"
mochify photo.jpg -p "remove background and convert to WebP"
mochify photo.jpg -p "resize to 50%, strip EXIF, keep as WebP"

# Custom output name
mochify photo.jpg -t webp -n hero
mochify product.jpg -p "optimise for Shopify" -n product-main

# Pipe file paths from stdin
find . -name "*.jpg" | mochify -t webp -o ./out
cat images.txt | mochify -p "convert to avif 1200px wide" -o ./compressed
ls *.heic | mochify -t jpg

Nomenclatura do arquivo de saída

Por padrão, quando o formato e o diretório de saída correspondem à entrada, o resultado é salvo como {name}_mochified.{ext} para que fique sempre claro que algo aconteceu. Se esse arquivo já existir, um sufixo numérico é adicionado (_1, _2, etc.). Quando o formato muda (por exemplo, .jpg.webp), a mudança de extensão já é inequívoca, então nenhum sufixo é adicionado.

Use -n, --name para definir um nome base explícito: mochify photo.jpg -t webp -n hero salva hero.webp. O caminho de prompt também suporta isso: mochify *.jpg -p "optimise for Shopify, name them product" produzirá product.webp, product_1.webp, etc.

Processamento de PDF

PDFs são detectados automaticamente pela extensão .pdf. Você pode dividir um PDF em um arquivo por página, ou rasterizar suas páginas em imagens. O resultado é salvo como .zip ao lado da entrada. (PDFs e imagens não podem ser misturados em um único comando — execute-os separadamente.)

FlagDescrição
--op <OP>split (um PDF por página) ou rasterize (páginas → imagens)
-t, --type <FORMAT>Formato de saída da rasterização: png, jpg, webp (padrão png)
--dpi <N>Resolução da rasterização em DPI (padrão 150)
-q, --quality <N>Qualidade da rasterização 1–100 para formatos com perda (jpg/webp)
# Split a PDF into per-page PDFs
mochify document.pdf --op split

# Rasterize pages to PNG at 150 DPI
mochify document.pdf --op rasterize -t png --dpi 150

# High-res JPEGs for print
mochify document.pdf --op rasterize -t jpg --dpi 300 -q 90

# Or describe it in natural language
mochify document.pdf -p "split into pngs"
mochify report.pdf -p "rasterize to high-res jpegs"

Servidor MCP (Claude Desktop)

mochify pode ser executado como um servidor MCP, permitindo que o Claude processe imagens em seu nome diretamente da conversa.

Configuração

Execute mochify auth login primeiro, depois adicione o seguinte à configuração do Claude Desktop em ~/Library/Application Support/Claude/claude_desktop_config.json:

{
  "mcpServers": {
    "mochify": {
      "command": "mochify",
      "args": ["serve"]
    }
  }
}

Reinicie o Claude Desktop. O servidor mochify aparecerá em suas conexões e usará suas credenciais salvas automaticamente.

Uso

Descreva o que você deseja em linguagem natural com o caminho completo para sua imagem:

"Converta /Users/me/Desktop/photo.jpg para AVIF com 1000px de largura"

"Comprima todos os JPEGs em /Users/me/projects/blog/images/ para WebP e salve em /Users/me/projects/blog/compressed/"

"Otimize /Users/me/Desktop/product.jpg para o eBay"

"Remova o fundo de /Users/me/Desktop/shirt.png e salve como WebP"

"Rasterize /Users/me/Desktop/report.pdf para PNGs a 200 DPI"

O Claude chama a ferramenta squish para imagens e a ferramenta pdf para PDFs automaticamente, e informa o caminho salvo e o tamanho do arquivo.

API

Alimentado por https://api.mochify.app/v1/squish para imagens e /v1/pdf para divisão/rasterização de PDF. Os arquivos são processados em memória e nunca gravados em disco.

PlanoOps/mêsTamanho máximo de arquivo
Free (sem conta)3/lote20 MB
Free (com conta)2520 MB
Seller ($7.99/mo)30075 MB
Pro ($24.99/mo)1.20075 MB

Visite mochify.app para a interface web, preços e documentação da API.