Otimização de imagens que simplesmente funciona. Em qualquer lugar.
Sem bindings C++. Sem dependências nativas. Instale e execute — no terminal, pipeline CI ou caixa de ferramentas do agente de IA.
A GetWebP CLI é um otimizador de imagens de linha de comando, sem dependências e baseado em WASM, que converte PNG, JPG, GIF, TIFF e BMP para WebP e AVIF. Ela roda inteiramente na sua máquina, sem uploads para a nuvem, sem bindings nativos e sem concessões de privacidade. Um único comando npx instala tudo — pronta para terminais, pipelines CI/CD e uso por ferramentas de agentes de IA.
Pare de lutar com dependências nativas.
Zero bindings C++
Sem necessidade de python, make ou g++. Instale com um único comando npx e execute onde o Node.js funcionar.
Binário único / WASM puro
Motor WASM de ~5 MB sem dependências nativas. Funciona no Docker Alpine, runners CI e funções serverless.
Saída JSON previsível
Construído para pipelines e agentes de IA. Use --json para obter resultados estruturados perfeitos para scripting e automação.
Saída estruturada para uso programático
Mude para o modo IA com --json e obtenha saída legível por máquina. Cada arquivo, sua taxa de compressão, dimensões e status — tudo em um payload JSON estruturado.
Exemplos de saída CLI: modos humano e IA
# Activate Pro license
$ getwebp auth XXXX-XXXX-XXXX-ABCD
Verifying license...
✓ Activated! Pro plan unlocked.
# Convert a directory of images (Pro: recursive, concurrent)
$ getwebp ./images -o ./images/webp -q 85
✓ hero.jpg
✓ banner.png
✓ product-shot.jpg
Done: 3 succeeded, 0 failed
Avg saved: 34.2%
# Check current license status
$ getwebp status
Version : 1.0.1
Mode : Pro
License : xxxx-xxxx-xxxx-ABCD
Expires : 2026-12-31
Devices : 1 / 3 used# Activate Pro license
$ getwebp auth XXXX-XXXX-XXXX-ABCD
Verifying license...
✓ Activated! Pro plan unlocked.
# Convert a directory of images (Pro: recursive, concurrent)
$ getwebp ./images -o ./images/webp -q 85
✓ hero.jpg
✓ banner.png
✓ product-shot.jpg
Done: 3 succeeded, 0 failed
Avg saved: 34.2%
# Check current license status
$ getwebp status
Version : 1.0.1
Mode : Pro
License : xxxx-xxxx-xxxx-ABCD
Expires : 2026-12-31
Devices : 1 / 3 used// $ getwebp ./images -o ./images/webp -q 85 --json
// One JSON object per line (NDJSON). First line: version preamble.
{"@timestamp":"2026-04-12T10:00:00.000Z","@level":"info","@message":"GetWebP CLI 1.3.0","@module":"getwebp.cli","type":"version","data":{"getwebp":"1.3.0","ui":"1"}}
// Last line: convert.completed summary with all results.
{"@timestamp":"2026-04-12T10:00:01.234Z","@level":"info","@message":"Converted 3/3 files","@module":"getwebp.convert","type":"convert.completed","data":{
"processed": 3,
"successCount": 3,
"failedCount": 0,
"results": [
{
"file": "images/hero.jpg",
"outputPath": "/abs/images/webp/hero.webp",
"originalSize": 204800,
"newSize": 134144,
"savedRatio": 0.345,
"saved": "34.5%",
"quality": 82,
"qualityMode": "auto",
"status": "success"
},
{
"file": "images/banner.png",
"outputPath": "/abs/images/webp/banner.webp",
"originalSize": 512000,
"newSize": 327680,
"savedRatio": 0.36,
"saved": "36.0%",
"quality": 85,
"qualityMode": "auto",
"status": "success"
},
{
"file": "images/product-shot.jpg",
"outputPath": "/abs/images/webp/product-shot.webp",
"originalSize": 163840,
"newSize": 102400,
"savedRatio": 0.375,
"saved": "37.5%",
"quality": 80,
"qualityMode": "auto",
"status": "success"
}
]
}}Integre ao seu fluxo de trabalho
name: Optimize Images
on:
push:
paths:
- 'public/images/**'
jobs:
optimize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install getwebp CLI
run: npm install -g getwebp
- name: Convert images to WebP
run: |
getwebp ./public/images --json > report.ndjson
# Check for failures: extract convert.completed and assert failedCount == 0
grep '"convert.completed"' report.ndjson | jq -e '.data.failedCount == 0'
- name: Upload NDJSON report
uses: actions/upload-artifact@v4
with:
name: webp-report
path: report.ndjsonFree é ótimo para uso pontual. Pro é feito para pipelines.
| Funcionalidade | Grátis | Pro |
|---|---|---|
| Conversão de diretório único | ✓ | ✓ |
| Controle com/sem perdas | ✓ | ✓ |
| Recursivo ilimitado (-r) | — | ✓ |
| Concorrência multithread | — | ✓ |
| Saída JSON ilimitada (--json) | — | ✓ |
| Modo watch (--watch) | — | ✓ |
FAQ para desenvolvedores
Sim, completamente offline após a instalação. O motor WASM roda inteiramente na sua máquina. A validação de licença faz uma única chamada de rede na ativação, mas a conversão de imagens nunca toca a internet.
Sim. Como roda em WASM puro via Node.js, funciona de forma idêntica no macOS (Intel + Apple Silicon), Linux (x64 + ARM64) e Windows (x64). Não são necessários binários específicos de plataforma.
Sharp é uma biblioteca fantástica, mas requer compilar bindings nativos libvips, que falham no Alpine Docker e em ambientes serverless. getwebp usa um motor WASM puro — sem compilação, sem gyp, sem dependências nativas.
ImageMagick é uma ferramenta de sistema que deve ser instalada separadamente (apt-get, brew), varia conforme a versão do SO e não tem saída estruturada. getwebp é um pacote Node.js autossuficiente com comportamento consistente em qualquer lugar.
Sim. Uma única licença Pro pode ser ativada em até 5 dispositivos (CLI) e cobre até 3 sites WordPress. Precisa de mais? Entre em contato conosco.
Related GetWebP tools
Every GetWebP product runs on the same WASM converter - pick the surface that fits your workflow.
MCP Server
Model Context Protocol server that gives Claude, Cursor, and Windsurf local image conversion.
For AI Agents
JSON-structured output, stdin/stdout I/O, exit codes - designed for autonomous agent tool-use.
WordPress Plugin
Convert your full media library to WebP and AVIF on your own server. No third-party API.