v1.0 ora disponibile

Ottimizzazione delle immagini che funziona. Ovunque.

Nessun binding C++. Nessuna dipendenza nativa. Installa e avvia — nel terminale, nella pipeline CI o nel kit degli strumenti del tuo agente IA.

GetWebP CLI è un ottimizzatore di immagini da riga di comando senza dipendenze, basato su WASM, che converte PNG, JPG, GIF, TIFF e BMP in WebP e AVIF. Viene eseguito interamente sulla tua macchina senza caricamenti sul cloud, senza binding nativi e senza compromessi sulla privacy. Un unico comando npx installa tutto — pronto per terminali, pipeline CI/CD e utilizzo come strumento da parte di agenti IA.

npx getwebp@latest ./images

Smettila di lottare con le dipendenze native.

PackageX

Zero binding C++

Non servono python, make o g++. Installa con un unico comando npx ed esegui ovunque Node.js funzioni.

Box

Binario unico / WASM puro

Motore WASM da ~5 MB senza dipendenze native. Funziona su Docker Alpine, runner CI e funzioni serverless.

Braces

Output JSON prevedibile

Progettato per pipeline e agenti IA. Usa --json per ottenere risultati strutturati perfetti per scripting e automazione.

Output strutturato per uso programmatico

Passa alla modalità IA con --json e ottieni un output leggibile dalla macchina. Ogni file, il suo rapporto di compressione, dimensioni e stato — tutto in un payload JSON strutturato.

Esempi di output CLI: modalità umana e IA

Modalità umana
# 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
Modalità IA (output 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"
    }
  ]
}}

Integralo nel tuo 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 è ottimo per l'ad-hoc. Pro è fatto per le pipeline.

FunzionalitàGratuitoPro
Conversione di directory singola
Controllo con/senza perdita
Ricorsivo illimitato (-r)
Concorrenza multi-thread
Output JSON illimitato (--json)
Modalità watch (--watch)

FAQ per sviluppatori

Sì, completamente offline dopo l'installazione. Il motore WASM gira interamente sul tuo computer. La validazione della licenza effettua un'unica chiamata di rete all'attivazione, ma la conversione delle immagini non tocca mai internet.

Sì. Poiché gira su WASM puro tramite Node.js, funziona in modo identico su macOS (Intel + Apple Silicon), Linux (x64 + ARM64) e Windows (x64). Non sono necessari binari specifici per piattaforma.

Sharp è una libreria fantastica ma richiede la compilazione di binding nativi libvips, che fallisce in Docker Alpine e ambienti serverless. getwebp usa un motore WASM puro — nessuna compilazione, nessun gyp, nessuna dipendenza nativa.

ImageMagick è uno strumento di sistema che deve essere installato separatamente (apt-get, brew), varia in base alla versione del SO e non ha output strutturato. getwebp è un pacchetto Node.js autonomo con comportamento coerente ovunque.

Sì. Una singola licenza Pro può essere attivata su fino a 5 dispositivi (CLI) e copre fino a 3 siti WordPress. Ne hai bisogno di più? Contattaci.