v1.0 Đã ra mắt

Tối ưu hóa ảnh hoạt động mượt mà. Ở bất kỳ đâu.

Không có C++ binding. Không có phụ thuộc native. Chỉ cần cài đặt và chạy — trong terminal, CI pipeline, hoặc hộp công cụ AI agent.

GetWebP CLI là một công cụ tối ưu hóa hình ảnh dòng lệnh không phụ thuộc, được hỗ trợ bởi WASM, chuyển đổi PNG, JPG, GIF, TIFF và BMP sang WebP và AVIF. Nó chạy hoàn toàn trên máy của bạn mà không tải lên đám mây, không có native binding và không đánh đổi quyền riêng tư. Một lệnh npx duy nhất cài đặt mọi thứ — sẵn sàng cho terminal, pipeline CI/CD và tool-use của AI agent.

npx getwebp@latest ./images

Ngừng chiến đấu với phụ thuộc native.

PackageX

Không có C++ binding

Không cần python, make hay g++. Cài đặt bằng một lệnh npx duy nhất và chạy ở bất kỳ đâu Node.js hoạt động.

Box

Nhị phân đơn / WASM thuần

Engine WASM ~5MB không có phụ thuộc native. Chạy trên Docker Alpine, CI runner và hàm serverless.

Braces

Đầu ra JSON có thể dự đoán

Được xây dựng cho pipeline và AI agent. Dùng --json để nhận kết quả có cấu trúc hoàn hảo cho scripting và tự động hóa.

Đầu ra có cấu trúc cho sử dụng lập trình

Chuyển sang Chế độ AI với --json để nhận đầu ra có thể đọc bằng máy. Mỗi tệp, tỷ lệ nén, kích thước và trạng thái — tất cả trong một payload JSON có cấu trúc.

Ví dụ đầu ra CLI: Chế độ Human & AI

Chế độ Human
# 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
Chế độ AI (Đầu ra JSON)
// $ 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"
    }
  ]
}}

Tích hợp vào quy trình của bạn

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

Free tuyệt vời cho ad-hoc. Pro được xây dựng cho pipeline.

Tính năngMiễn phíPro
Chuyển đổi thư mục đơn
Kiểm soát có/không tổn hao
Đệ quy không giới hạn (-r)
Đồng thời đa luồng
Đầu ra JSON không giới hạn (--json)
Chế độ watch (--watch)

FAQ cho Developer

Có, hoàn toàn offline sau khi cài đặt. Engine WASM chạy hoàn toàn trên máy của bạn. Xác thực giấy phép thực hiện một cuộc gọi mạng duy nhất khi kích hoạt, nhưng việc chuyển đổi ảnh không bao giờ kết nối internet.

Có. Vì chạy trên WASM thuần qua Node.js, nó hoạt động giống hệt trên macOS (Intel + Apple Silicon), Linux (x64 + ARM64) và Windows (x64). Không cần nhị phân đặc thù cho từng nền tảng.

Sharp là thư viện tuyệt vời nhưng cần biên dịch binding libvips native, thất bại trong Alpine Docker và môi trường serverless. getwebp sử dụng engine WASM thuần — không biên dịch, không gyp, không phụ thuộc native.

ImageMagick là công cụ cấp hệ thống phải được cài đặt riêng (apt-get, brew), thay đổi theo phiên bản OS và không có đầu ra có cấu trúc. getwebp là package Node.js độc lập với hành vi nhất quán ở mọi nơi.

Có. Một giấy phép Pro duy nhất có thể được kích hoạt trên tối đa 5 thiết bị (CLI) và bao gồm tối đa 3 trang WordPress. Cần nhiều hơn? Liên hệ với chúng tôi.