This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

Nén

Giảm kích thước tệp ảnh bằng cách chỉ định mức chất lượng hoặc kích thước tệp mục tiêu tính bằng kilobyte. Công cụ dùng tìm kiếm nhị phân lặp để đạt mục tiêu kích thước một cách chính xác.

API Endpoint

POST /api/v1/tools/image/compress

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

Tham số

Tham sốKiểuBắt buộcMặc địnhMô tả
modestringKhông"quality"Chế độ nén: quality hoặc targetSize
qualitynumberKhông80Mức chất lượng (1-100). Dùng khi chế độ là quality.
targetSizeKbnumberKhông-Kích thước tệp mục tiêu tính bằng kilobyte. Dùng khi chế độ là targetSize.

Ví dụ yêu cầu

Nén về chất lượng 60:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"mode": "quality", "quality": 60}'

Nén về kích thước mục tiêu 200 KB:

bash
curl -X POST http://localhost:1349/api/v1/tools/image/compress \
  -H "Authorization: Bearer si_your-api-key" \
  -F "[email protected]" \
  -F 'settings={"mode": "targetSize", "targetSizeKb": 200}'

Ví dụ phản hồi

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "downloadUrl": "/api/v1/download/a1b2c3d4-e5f6-7890-abcd-ef1234567890/photo.jpg",
  "originalSize": 2450000,
  "processedSize": 204800
}

Ghi chú

  • Ở chế độ quality, giá trị thấp hơn tạo tệp nhỏ hơn với nhiều nhiễu nén hơn. Giá trị 80 là mặc định tốt cho dùng trên web.
  • Ở chế độ targetSize, engine thực hiện nén lặp để đạt gần mục tiêu nhất có thể mà không vượt quá.
  • Định dạng đầu ra khớp với định dạng đầu vào. Việc nén áp dụng cho mã hóa gốc của định dạng (ví dụ chất lượng JPEG cho tệp JPEG, chất lượng WebP cho tệp WebP).
  • Nếu chất lượng mặc định (80) chấp nhận được, bạn có thể bỏ hoàn toàn tham số quality.