告别原生依赖的烦恼。
无需 C++ 绑定
无需 python、make 或 g++。一条 npx 命令即可安装,在任何运行 Node.js 的环境中均可使用。
单文件 / 纯 WASM
约 5MB 的 WASM 引擎,零原生依赖。可在 Docker Alpine、CI Runner 和无服务器函数中运行。
结构化 JSON 输出
专为流水线和 AI Agent 设计。添加 --json 参数即可获得结构化结果,完美适配脚本和自动化场景。
面向程序化使用的结构化输出
使用 --json 切换到 AI 模式,获取机器可读的输出。每个文件的压缩比、尺寸和状态——全部以结构化 JSON 格式呈现,你的脚本和 Agent 无需解析界面文本即可直接使用。
CLI 输出示例:普通模式与 AI 模式
# Activate Pro license
$ getwebp auth XXXX-XXXX-XXXX-ABCD
Verifying license...
✓ Activated! Pro plan unlocked.
# Convert a directory of images (Pro: recursive, concurrent)
$ getwebp ./images -o ./images/webp -q 85
✓ hero.jpg
✓ banner.png
✓ product-shot.jpg
Done: 3 succeeded, 0 failed
Avg saved: 34.2%
# Check current license status
$ getwebp status
Version : 1.0.1
Mode : Pro
License : xxxx-xxxx-xxxx-ABCD
Expires : 2026-12-31
Devices : 1 / 3 used# Activate Pro license
$ getwebp auth XXXX-XXXX-XXXX-ABCD
Verifying license...
✓ Activated! Pro plan unlocked.
# Convert a directory of images (Pro: recursive, concurrent)
$ getwebp ./images -o ./images/webp -q 85
✓ hero.jpg
✓ banner.png
✓ product-shot.jpg
Done: 3 succeeded, 0 failed
Avg saved: 34.2%
# Check current license status
$ getwebp status
Version : 1.0.1
Mode : Pro
License : xxxx-xxxx-xxxx-ABCD
Expires : 2026-12-31
Devices : 1 / 3 used// $ getwebp ./images -o ./images/webp -q 85 --json
// One JSON object per line (NDJSON). First line: version preamble.
{"@timestamp":"2026-04-12T10:00:00.000Z","@level":"info","@message":"GetWebP CLI 1.3.0","@module":"getwebp.cli","type":"version","data":{"getwebp":"1.3.0","ui":"1"}}
// Last line: convert.completed summary with all results.
{"@timestamp":"2026-04-12T10:00:01.234Z","@level":"info","@message":"Converted 3/3 files","@module":"getwebp.convert","type":"convert.completed","data":{
"processed": 3,
"successCount": 3,
"failedCount": 0,
"results": [
{
"file": "images/hero.jpg",
"outputPath": "/abs/images/webp/hero.webp",
"originalSize": 204800,
"newSize": 134144,
"savedRatio": 0.345,
"saved": "34.5%",
"quality": 82,
"qualityMode": "auto",
"status": "success"
},
{
"file": "images/banner.png",
"outputPath": "/abs/images/webp/banner.webp",
"originalSize": 512000,
"newSize": 327680,
"savedRatio": 0.36,
"saved": "36.0%",
"quality": 85,
"qualityMode": "auto",
"status": "success"
},
{
"file": "images/product-shot.jpg",
"outputPath": "/abs/images/webp/product-shot.webp",
"originalSize": 163840,
"newSize": 102400,
"savedRatio": 0.375,
"saved": "37.5%",
"quality": 80,
"qualityMode": "auto",
"status": "success"
}
]
}}无缝融入你的工作流
name: Optimize Images
on:
push:
paths:
- 'public/images/**'
jobs:
optimize:
runs-on: ubuntu-latest
steps:
- uses: actions/checkout@v4
- name: Install getwebp CLI
run: npm install -g getwebp
- name: Convert images to WebP
run: |
getwebp ./public/images --json > report.ndjson
# Check for failures: extract convert.completed and assert failedCount == 0
grep '"convert.completed"' report.ndjson | jq -e '.data.failedCount == 0'
- name: Upload NDJSON report
uses: actions/upload-artifact@v4
with:
name: webp-report
path: report.ndjson免费版适合临时使用,专业版专为流水线而生。
| 功能 | 免费版 | 专业版 |
|---|---|---|
| 单目录转换 | ✓ | ✓ |
| 有损 / 无损控制 | ✓ | ✓ |
| 无限量递归处理(-r) | — | ✓ |
| 多线程并发 | — | ✓ |
| 无限量 JSON 输出(--json) | — | ✓ |
| 监听模式(--watch) | — | ✓ |
开发者常见问题
是的,安装后完全离线运行。WASM 引擎完全在本机执行。许可证验证在激活时会发起一次网络请求,但图片转换本身从不接触互联网。
支持。由于基于 Node.js 上的纯 WASM 运行,在 macOS(Intel + Apple Silicon)、Linux(x64 + ARM64)和 Windows(x64)上表现完全一致,无需平台专属二进制文件。
Sharp 是一个优秀的库,但需要编译原生的 libvips 绑定,在 Alpine Docker 和无服务器环境中常常失败。getwebp 使用纯 WASM 引擎——无需编译、无需 gyp、无原生依赖。它也以 CLI 为主,在 Shell 脚本和 CI 中使用极为简便,无需编写 Node.js 代码。
ImageMagick 是系统级工具,需要单独安装(apt-get、brew),随操作系统版本而异,且没有结构化输出。getwebp 是自包含的 Node.js 包,在任何环境中行为一致,并原生支持 JSON 输出,便于自动化。
可以。单个 Pro 许可证最多可在 5 台设备上激活(CLI),并覆盖最多 3 个 WordPress 站点。如需更多授权,欢迎联系我们,我们会为您提供解决方案。
相关 GetWebP 工具
所有 GetWebP 产品都运行在同一个 WASM 转换引擎上,选择最适合你工作流的入口。