Optymalizacja obrazów, która po prostu działa. Wszędzie.
Brak bindingów C++. Brak natywnych zależności. Zainstaluj i uruchom — w terminalu, pipeline CI lub skrzynce narzędziowej agenta AI.
GetWebP CLI to oparty na WASM, pozbawiony zależności optymalizator obrazów z wiersza poleceń, który konwertuje PNG, JPG, GIF, TIFF i BMP do WebP oraz AVIF. Działa w całości na Twojej maszynie, bez wysyłki do chmury, bez natywnych bindings i bez kompromisów w zakresie prywatności. Jedno polecenie npx instaluje wszystko — gotowe do użycia w terminalu, pipeline'ach CI/CD oraz jako tool-use dla agentów AI.
Przestań walczyć z natywnymi zależnościami.
Zero bindingów C++
Nie potrzebujesz python, make ani g++. Zainstaluj jednym poleceniem npx i uruchom wszędzie tam, gdzie działa Node.js.
Pojedynczy plik / czyste WASM
Silnik WASM ~5 MB bez natywnych zależności. Działa na Docker Alpine, runnerach CI i funkcjach serverless.
Przewidywalne wyjście JSON
Zbudowane dla pipeline i agentów AI. Użyj --json, aby uzyskać strukturalne wyniki idealne do skryptów i automatyzacji.
Strukturalne wyjście do użytku programistycznego
Przełącz się na tryb AI za pomocą --json i otrzymaj maszynowo czytelne wyjście. Każdy plik, współczynnik kompresji, wymiary i status — wszystko w strukturalnym ładunku JSON.
Przykłady wyjścia CLI: tryby Human i AI
# 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"
}
]
}}Wbuduj go w swój przepływ pracy
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 jest świetny do jednorazowych zadań. Pro jest stworzony do pipeline.
| Funkcja | Darmowy | Pro |
|---|---|---|
| Konwersja pojedynczego katalogu | ✓ | ✓ |
| Kontrola stratna/bezstratna | ✓ | ✓ |
| Nieograniczona rekurencja (-r) | — | ✓ |
| Wielowątkowa współbieżność | — | ✓ |
| Nieograniczone wyjście JSON (--json) | — | ✓ |
| Tryb watch (--watch) | — | ✓ |
FAQ dla deweloperów
Tak, całkowicie offline po instalacji. Silnik WASM działa wyłącznie na Twoim komputerze. Weryfikacja licencji wykonuje jedno połączenie sieciowe przy aktywacji, ale sama konwersja obrazów nigdy nie łączy się z internetem.
Tak. Ponieważ działa na czystym WASM przez Node.js, działa identycznie na macOS (Intel + Apple Silicon), Linux (x64 + ARM64) i Windows (x64). Nie są wymagane pliki binarne specyficzne dla platformy.
Sharp to fantastyczna biblioteka, ale wymaga kompilacji natywnych bindingów libvips, co nie działa w Alpine Docker i środowiskach serverless. getwebp używa czystego silnika WASM — brak kompilacji, brak gyp, brak natywnych zależności.
ImageMagick to narzędzie systemowe, które musi być instalowane oddzielnie (apt-get, brew), różni się w zależności od wersji systemu operacyjnego i nie ma strukturalnego wyjścia. getwebp to samodzielny pakiet Node.js z spójnym zachowaniem wszędzie.
Tak. Jedna licencja Pro może być aktywowana na maksymalnie 3 maszynach jednocześnie. Potrzebujesz więcej? Skontaktuj się z nami.
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.