Cero dependencias
npm install nada. apt-get nada. Ejecútalo sin más. Sin bindings nativos, sin bibliotecas del sistema, sin sorpresas.
$ getwebp ./images
getwebp es el nodo de procesamiento de imágenes local más amigable para IA del mundo. Un binario. Cero dependencias. Salida JSON. Funciona donde sea que corra tu agente.
GetWebP es un optimizador de imágenes sin dependencias e impulsado por WASM, diseñado para flujos de trabajo con agentes de IA. Acepta salida estructurada en JSON, lee desde stdin/stdout y convierte PNG, JPG, GIF, TIFF y BMP a WebP y AVIF — todo localmente, sin subidas a la nube y sin claves de API. Un único comando npx instala todo lo que un agente de IA necesita para procesar imágenes en pipelines de CI/CD, asistentes de programación o flujos de trabajo autónomos.
El problema
Cada dependencia es un punto de fallo potencial para tus flujos IA.
Pillow requiere extensiones C compiladas. Los agentes aislados y contenedores Docker restringidos lo rechazan.
Diferencias API v6 vs v7. Delegates faltantes. Conflictos de paquetes del sistema. Tu pipeline falla a las 3am.
Enviar imágenes a APIs externas significa riesgo de cumplimiento, latencia, límites de velocidad y coste por imagen.
Cuando el entorno es frágil, tu agente no puede distinguir fallos de herramientas de errores reales.
La solución
getwebp está diseñado desde cero para uso programático.
Sin runtime. Sin dependencias. Sin pip, brew, apt-get. Descarga y ejecuta. Funciona en Docker FROM scratch.
Cada operación devuelve JSON analizable por máquina. Tu agente lee éxito, estadísticas y errores sin parsear texto humano.
Mismo binario, mismo comportamiento, en todas partes. macOS, Linux, Windows, ARM, x86. Tu agente sabe exactamente qué esperar.
Funciones amigables para IA
npm install nada. apt-get nada. Ejecútalo sin más. Sin bindings nativos, sin bibliotecas del sistema, sin sorpresas.
$ getwebp ./images
Cada operación devuelve JSON estructurado. Analízalo, regístralo, actúa. Perfecto para patrones de uso de herramientas LLM.
Flag --jsonNativo para pipes. Lee de stdin, escribe a stdout. Combínalo con cualquier comando shell o cadena de herramientas IA.
Pipe-friendlyProcesa 1000 imágenes en un comando. Recibe un array JSON con resultados por archivo. Sin bucles.
1000 archivos, 1 comando0 = éxito, distinto de cero = error. Tu agente sabe de inmediato sin parsear la salida.
Legible por agenteMismo binario, mismo comportamiento en macOS, Linux, Windows, ARM, x86. CI y local siempre coinciden.
UniversalEjemplos de código
#!/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, cada operación devuelve datos estructurados sobre los que tu agente puede razonar.
{ "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" }
No se necesitan adaptadores personalizados. Si puede ejecutar un comando shell, funciona con getwebp.
Works with any tool that can run a shell command
Comparado con otras herramientas de procesamiento de imágenes para flujos programáticos.
| Features | getwebpBest for AI | ImageMagick | Pillow | Cloudinary API | sharp (Node) |
|---|---|---|---|---|---|
| Cero dependencias | |||||
| Salida JSON | |||||
| 100 % offline / local | |||||
| Binario único | |||||
| Códigos de salida previsibles | |||||
| Salida batch JSON array | |||||
| Idéntico multiplataforma | |||||
| Listo para agentes IA |
Redimensiona y comprime imágenes antes de enviarlas a modelos de visión para reducir costes de tokens hasta un 80%. getwebp maneja todo el lote con un solo comando que devuelve 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
Deja de luchar contra las dependencias.
Un comando. Sin configuración. Salida JSON. La herramienta de imágenes que faltaba en tu 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.