零依賴
無需 npm install,無需 apt-get。直接執行,無原生綁定,無系統程式庫,無意外。
$ getwebp ./images
getwebp 是全球最 AI 友好的本地圖像處理節點。單一二進位,零依賴,JSON 輸出,在代理執行的任何地方都能運作。
GetWebP 是一款為 AI 代理工作流打造的零依賴、WASM 驅動影像最佳化工具。它支援 JSON 結構化輸出、可從 stdin/stdout 讀寫,並將 PNG、JPG、GIF、TIFF 和 BMP 轉換為 WebP 和 AVIF — 全部在本地完成,無需雲端上傳、也無需 API 金鑰。一條 npx 指令即可安裝 AI 代理在 CI/CD 流水線、程式設計助理或自主工作流中處理影像所需的全部能力。
問題所在
每個依賴都是 AI 工作流程的潛在故障點。
Pillow 需要編譯 C 擴充功能。沙盒代理和受限 Docker 容器無法執行。
v6 與 v7 API 差異,缺失委派程式庫,系統套件衝突。你的流水線在凌晨 3 點崩潰。
將圖像發送到外部 API 意味著合規風險、延遲、速率限制和按圖計費。
當環境配置不穩定時,你的代理無法區分工具故障和實際錯誤。
解決方案
getwebp 從底層專為程式化使用而設計。
無執行環境,無依賴,無需 pip、brew、apt-get。直接下載執行,支援 Docker FROM scratch。
每次操作都回傳機器可解析的 JSON。你的代理無需解析人類文字即可讀取成功狀態、統計資料和錯誤。
同一二進位,同一行為,處處如此。macOS、Linux、Windows、ARM、x86。你的代理完全清楚該期待什麼。
AI 友好功能
無需 npm install,無需 apt-get。直接執行,無原生綁定,無系統程式庫,無意外。
$ getwebp ./images
每次操作都回傳結構化 JSON。解析、記錄、響應。完美適配 LLM 工具呼叫模式。
--json 旗標原生支援管道。從標準輸入讀取,寫入標準輸出。與任何 Shell 命令或 AI 工具鏈組合使用。
管道友好一條命令處理 1000 張圖像,回傳包含每個檔案結果的 JSON 陣列。無需迴圈。
1000 檔案,1 條命令0 = 成功,非零 = 失敗。代理無需解析輸出即可立即判斷結果。
代理可讀同一二進位在 macOS、Linux、Windows、ARM、x86 上行為一致。CI 與本地永遠匹配。
通用程式碼範例
#!/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'傳入 --json 時,每次操作都回傳代理可推理的結構化資料。
{ "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" }
無需自訂轉接器。只要能執行 Shell 命令,就能與 getwebp 配合使用。
Works with any tool that can run a shell command
與其他程式化工作流程圖像處理工具的比較。
| Features | getwebpBest for AI | ImageMagick | Pillow | Cloudinary API | sharp (Node) |
|---|---|---|---|---|---|
| 零依賴 | |||||
| JSON 輸出 | |||||
| 100% 離線/本地 | |||||
| 單一二進位 | |||||
| 可預測退出碼 | |||||
| 批次 JSON 陣列輸出 | |||||
| 跨平台一致 | |||||
| AI 代理就緒 |
在將圖像發送到視覺模型之前,調整大小並壓縮以降低高達 80% 的 token 成本。getwebp 用一條回傳 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 photos常見問題
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.