Files
SnapOtter/apps/docs/vi/tools/image/optimize-for-web.md
T
SnapOtterandGitHub 4963ab3bbd feat(docs-i18n): translate all documentation into 20 languages
All 181 docs markdown files translated into 20 languages (apps/docs/<locale>/**). Companion to the i18n code PR; admin-merged because the file count exceeds GitHub's per-PR CI trigger limit. Validated by pnpm i18n:check (all surfaces, 0 stale/missing) and a clean all-locale docs build.
2026-07-11 13:52:47 +08:00

3.8 KiB

description, i18n_source_hash, i18n_provenance, i18n_output_hash
description i18n_source_hash i18n_provenance i18n_output_hash
Tối ưu ảnh cho phân phối web với chuyển đổi định dạng, kiểm soát chất lượng, thay đổi kích thước và loại bỏ metadata. c327bbbce768 human 2bb8d1313e7f

Optimize for Web

Tối ưu ảnh cho phân phối web trong một bước duy nhất. Kết hợp chuyển đổi định dạng, điều chỉnh chất lượng, thay đổi kích thước tùy chọn, mã hóa lũy tiến và loại bỏ metadata.

API Endpoint

POST /api/v1/tools/image/optimize-for-web

Chấp nhận multipart form data với một tệp ảnh và một trường JSON settings.

Cũng có sẵn một endpoint xem trước trực tiếp tại POST /api/v1/tools/image/optimize-for-web/preview, trả về ảnh đã xử lý trực tiếp dưới dạng nhị phân (không tạo workspace) để tinh chỉnh tham số theo thời gian thực.

Parameters

Parameter Type Required Default Description
format string No "webp" Định dạng đầu ra: webp, jpeg, avif, png, jxl
quality number No 80 Chất lượng đầu ra (1-100)
maxWidth number No - Chiều rộng tối đa tính bằng pixel. Ảnh sẽ được thu nhỏ nếu rộng hơn.
maxHeight number No - Chiều cao tối đa tính bằng pixel. Ảnh sẽ được thu nhỏ nếu cao hơn.
progressive boolean No true Bật mã hóa lũy tiến/xen kẽ
stripMetadata boolean No true Loại bỏ metadata EXIF, GPS, ICC và XMP

Example Request

curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"format": "webp", "quality": 75, "maxWidth": 1920}'

Tối ưu cho AVIF với nén mạnh:

curl -X POST http://localhost:1349/api/v1/tools/image/optimize-for-web \
  -H "Authorization: Bearer si_your-api-key" \
  -F "file=@photo.jpg" \
  -F 'settings={"format": "avif", "quality": 50, "maxWidth": 1200, "maxHeight": 800}'

Example Response

{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.webp",
  "originalSize": 4500000,
  "processedSize": 320000
}

Preview Endpoint Response

Endpoint xem trước (/api/v1/tools/image/optimize-for-web/preview) trả về ảnh nhị phân trực tiếp cùng với các header thông tin:

  • X-Original-Size - Kích thước tệp gốc tính bằng byte
  • X-Processed-Size - Kích thước tệp đã xử lý tính bằng byte
  • X-Output-Filename - Tên tệp đầu ra đã mã hóa URL

Notes

  • Công cụ này được thiết kế như một pipeline tối ưu một cửa cho tài nguyên web. Nó xử lý chuyển đổi định dạng, tinh chỉnh chất lượng, giới hạn kích thước tối đa và loại bỏ metadata trong một lượt duy nhất.
  • Phần mở rộng tên tệp đầu ra được cập nhật để khớp với định dạng đã chọn.
  • Mã hóa JXL (JPEG XL) sử dụng một bộ mã hóa CLI chuyên biệt. Ảnh trước tiên được xử lý dưới dạng PNG, sau đó mã hóa sang JXL.
  • Mã hóa lũy tiến cải thiện thời gian tải cảm nhận cho JPEG và PNG bằng cách cho phép trình duyệt kết xuất bản xem trước chất lượng thấp trước khi ảnh đầy đủ tải xong.
  • Endpoint xem trước nhẹ hơn (không tạo workspace/job) và dành cho giao diện tinh chỉnh tham số trực tiếp của frontend.