제로 의존성
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에 씁니다. 모든 쉘 명령 또는 AI 도구 체인과 조합 가능.
파이프 친화적한 명령어로 1000개의 이미지 처리. 파일별 결과가 담긴 하나의 JSON 배열 반환. 루프 불필요.
1000 파일, 1 명령어0 = 성공, 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" }
커스텀 어댑터 불필요. 쉘 명령을 실행할 수 있으면 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을 반환하는 단 하나의 명령으로 전체 배치를 처리합니다.
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
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.