Optimisation d'images qui fonctionne. Partout.
Aucun binding C++. Aucune dépendance native. Installez et exécutez — dans votre terminal, pipeline CI ou boîte à outils d'agent IA.
GetWebP CLI est un optimiseur d'images en ligne de commande sans dépendances, propulsé par WASM, qui convertit PNG, JPG, GIF, TIFF et BMP en WebP et AVIF. Il s'exécute entièrement sur votre machine, sans envoi vers le cloud, sans bindings natifs et sans compromis sur la confidentialité. Une seule commande npx installe tout — prêt pour les terminaux, les pipelines CI/CD et l'utilisation par les agents IA.
Arrêtez de lutter avec les dépendances natives.
Zéro binding C++
Pas besoin de python, make ou g++. Installez avec une seule commande npx et exécutez partout où Node.js fonctionne.
Binaire unique / WASM pur
Moteur WASM de ~5 Mo sans dépendances natives. Fonctionne sur Docker Alpine, runners CI et fonctions serverless.
Sortie JSON prévisible
Conçu pour les pipelines et agents IA. Utilisez --json pour obtenir des résultats structurés parfaits pour le scripting et l'automatisation.
Sortie structurée pour usage programmatique
Passez en mode IA avec --json et obtenez une sortie lisible par machine. Chaque fichier, son taux de compression, ses dimensions et son état — tout dans un payload JSON structuré.
Exemples de sortie CLI : modes humain et 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"
}
]
}}Intégrez-le dans votre workflow
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 est idéal pour l'ad-hoc. Pro est fait pour les pipelines.
| Fonctionnalité | Gratuit | Pro |
|---|---|---|
| Conversion de répertoire unique | ✓ | ✓ |
| Contrôle avec/sans perte | ✓ | ✓ |
| Récursif illimité (-r) | — | ✓ |
| Concurrence multithreadée | — | ✓ |
| Sortie JSON illimitée (--json) | — | ✓ |
| Mode watch (--watch) | — | ✓ |
FAQ développeur
Oui, entièrement hors ligne après installation. Le moteur WASM tourne entièrement sur votre machine. La validation de licence effectue un seul appel réseau lors de l'activation, mais la conversion d'images ne touche jamais à internet.
Oui. Comme il tourne sur du WASM pur via Node.js, il fonctionne de manière identique sur macOS (Intel + Apple Silicon), Linux (x64 + ARM64) et Windows (x64). Aucun binaire spécifique à la plateforme requis.
Sharp est une excellente bibliothèque mais nécessite de compiler des bindings natifs libvips, ce qui échoue dans Docker Alpine et les environnements serverless. getwebp utilise un moteur WASM pur — pas de compilation, pas de gyp, pas de dépendances natives.
ImageMagick est un outil système à installer séparément (apt-get, brew), varie selon la version de l'OS et n'a pas de sortie structurée. getwebp est un package Node.js autonome avec un comportement cohérent partout.
Oui. Une licence Pro peut être activée sur jusqu'à 5 appareils (CLI) et couvre jusqu'à 3 sites WordPress. Besoin de plus ? Contactez-nous.
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.