ゼロ依存
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フラグパイプネイティブ。stdinから読み込み、stdoutに書き込み。任意のShellコマンドやAIツールチェーンと組み合わせ可能。
パイプフレンドリー1コマンドで1000枚の画像を処理。ファイルごとの結果を含む1つの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%削減。getwebpはJSON返却の1コマンドでバッチ全体を処理。
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
依存関係との戦いをやめましょう。
1コマンド。ゼロセットアップ。JSON出力。あなたのAIスタックに足りなかった画像ツール。
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.