v1.0 maintenant disponible

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.

npx getwebp@latest ./images

Arrêtez de lutter avec les dépendances natives.

PackageX

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.

Box

Binaire unique / WASM pur

Moteur WASM de ~5 Mo sans dépendances natives. Fonctionne sur Docker Alpine, runners CI et fonctions serverless.

Braces

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

Mode humain
# 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
Mode IA (sortie JSON)
// $ 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.ndjson

Free est idéal pour l'ad-hoc. Pro est fait pour les pipelines.

FonctionnalitéGratuitPro
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.