Zero dipendenze
npm install niente. apt-get niente. Eseguilo e basta. Nessun binding nativo, nessuna libreria di sistema, nessuna sorpresa.
$ getwebp ./images
getwebp è il nodo di elaborazione immagini locale più compatibile con l'IA al mondo. Un binario. Zero dipendenze. Output JSON. Funziona ovunque giri il tuo agente.
GetWebP è un ottimizzatore di immagini senza dipendenze, basato su WASM, pensato per i flussi di lavoro degli agenti IA. Accetta output strutturato JSON, legge da stdin/stdout e converte PNG, JPG, GIF, TIFF e BMP in WebP e AVIF — tutto in locale, senza caricamenti sul cloud e senza chiavi API. Un unico comando npx installa tutto ciò di cui un agente IA ha bisogno per elaborare immagini in pipeline CI/CD, assistenti di codifica o flussi di lavoro autonomi.
Il problema
Ogni dipendenza è un potenziale punto di guasto per i tuoi workflow IA.
Pillow richiede estensioni C compilate. Gli agenti sandbox e i container Docker ristretti le rifiutano.
Differenze API v6 vs v7. Delegate mancanti. Conflitti di pacchetti di sistema. La tua pipeline cade alle 3 di notte.
Inviare immagini ad API esterne significa rischio di conformità, latenza, limiti di frequenza e costo per immagine.
Quando l'ambiente è fragile, il tuo agente non riesce a distinguere i guasti degli strumenti dagli errori reali.
La soluzione
getwebp è progettato da zero per l'uso programmatico.
Nessun runtime. Nessuna dipendenza. Nessun pip, brew, apt-get. Scarica ed esegui. Funziona in Docker FROM scratch.
Ogni operazione restituisce JSON analizzabile dalla macchina. Il tuo agente legge successo, statistiche ed errori senza analizzare testo umano.
Stesso binario, stesso comportamento, ovunque. macOS, Linux, Windows, ARM, x86. Il tuo agente sa esattamente cosa aspettarsi.
Funzionalità compatibili IA
npm install niente. apt-get niente. Eseguilo e basta. Nessun binding nativo, nessuna libreria di sistema, nessuna sorpresa.
$ getwebp ./images
Ogni operazione restituisce JSON strutturato. Analizzalo, registralo, agisci. Perfetto per i pattern di utilizzo strumenti LLM.
Flag --jsonNativo per le pipe. Legge da stdin, scrive su stdout. Componi con qualsiasi comando shell o catena di strumenti IA.
Pipe-friendlyElabora 1000 immagini in un comando. Ricevi un array JSON con i risultati per file. Nessun loop.
1000 file, 1 comando0 = successo, non-zero = errore. Il tuo agente lo sa immediatamente senza analizzare l'output.
Leggibile dall'agenteStesso binario, stesso comportamento su macOS, Linux, Windows, ARM, x86. CI e locale coincidono sempre.
UniversaleEsempi di codice
#!/bin/bash# Process images and parse JSON outputRESULT=$(getwebp ./images/*.jpg --json)if [ $? -eq 0 ]; then SAVED=$(echo $RESULT | jq -r '.compressionRatio') COUNT=$(echo $RESULT | jq -r '.processed') echo "✓ Processed $COUNT files, saved $SAVED"else echo "✗ Error: $(echo $RESULT | jq -r '.error')" exit 1fiimport subprocessimport jsonresult = subprocess.run( ["getwebp", "./images", "--json"], capture_output=True, text=True)if result.returncode == 0: data = json.loads(result.stdout) print(f"✓ Processed {data['processed']} files") print(f" Saved {data['compressionRatio']} ({data['totalInputSize']} → {data['totalOutputSize']})")else: error = json.loads(result.stderr) raise RuntimeError(f"getwebp failed: {error['error']}")- name: Optimize images run: | npx getwebp@latest ./public/images \ --json > optimization-report.json SAVED=$(cat optimization-report.json | jq -r '.compressionRatio') echo "Images optimized: $SAVED smaller"- name: Upload report uses: actions/upload-artifact@v4 with: name: image-optimization-report path: optimization-report.jsonFROM node:20-alpine# getwebp is a single binary — no system deps neededRUN npx getwebp@latest --install-binary /usr/local/bin/getwebpCOPY ./images /app/imagesRUN getwebp /app/images --json > /app/result.json \ && cat /app/result.json | jq '.compressionRatio'Con --json, ogni operazione restituisce dati strutturati su cui il tuo agente può ragionare.
{ "success": true, "operation": "convert", "input": { "file": "hero.jpg", "size": "1.2 MB", "format": "JPEG" }, "output": { "file": "hero.webp", "size": "142 KB", "format": "WebP" }, "saved": "88%", "duration": "0.3s" }
Nessun adattatore personalizzato. Se riesce a eseguire un comando shell, funziona con getwebp.
Works with any tool that can run a shell command
Rispetto ad altri strumenti di elaborazione immagini per workflow programmatici.
| Features | getwebpBest for AI | ImageMagick | Pillow | Cloudinary API | sharp (Node) |
|---|---|---|---|---|---|
| Zero dipendenze | |||||
| Output JSON | |||||
| 100% offline/locale | |||||
| Binario unico | |||||
| Codici di uscita prevedibili | |||||
| Output array JSON batch | |||||
| Identico multipiattaforma | |||||
| Pronto per agenti IA |
Ridimensiona e comprimi le immagini prima di inviarle ai modelli visivi per ridurre i costi in token fino all'80%. getwebp gestisce l'intero batch con un comando che restituisce JSON.
Workflow
Example
# Reduce image size before sending to GPT-4V
result = subprocess.run([
"getwebp", image_path,
"--resize", "1024x1024",
"--json"
], capture_output=True, text=True)
data = json.loads(result.stdout)
# Tokens saved: ~80% for typical product photosFAQ
Smetti di combattere le dipendenze.
Un comando. Zero configurazione. Output JSON. Lo strumento immagini che mancava al tuo stack IA.
No signup. No credit card. Works offline.
Every GetWebP product runs on the same WASM converter — pick the surface that fits your workflow.
Model Context Protocol server that gives Claude, Cursor, and Windsurf local image conversion.
Zero-dependency command-line converter. One npx command, runs in any terminal or CI pipeline.
Local-first integration surfaces — CLI in your shell, MCP in your agent. Zero AWS bill.