API nén ảnh
Nén JPG, PNG, WebP và AVIF với API nén ảnh của Bitinz. Đưa ảnh nhỏ hơn vào quy trình làm việc, kèm hạn mức miễn phí hằng tháng cho mọi tài khoản.
Tải đặc tả OpenAPIXác thực
Tạo khóa API trong bảng điều khiển, rồi dùng xác thực HTTP Basic (người dùng api, mật khẩu = khóa) hoặc gửi Authorization: Bearer <key>.
curl --user api:YOUR_API_KEY ... # or curl -H "Authorization: Bearer YOUR_API_KEY" ...
Nén một ảnh
Gửi ảnh bằng POST làm nội dung yêu cầu tới /api/v1/shrink. Tham số truy vấn tùy chọn: level (fast / default / best) và filename.
curl -i --user api:YOUR_API_KEY \ --data-binary @photo.jpg \ "https://bitinz.com/api/v1/shrink?level=default&filename=photo.jpg"
Phản hồi
Yêu cầu thành công thường trả về 201 với status là done. Header Location và output.url trỏ đến bản tải về. Compression-Count là mức sử dụng của bạn trong tháng này.
HTTP/1.1 201 Created
Location: https://bitinz.com/api/v1/results/<id>/download
Compression-Count: 1
{
"id": "<id>",
"status": "done",
"input": { "size": 2277375, "type": "image/jpeg" },
"output": { "size": 992450, "type": "image/jpeg", "ratio": 0.436,
"url": "https://bitinz.com/api/v1/results/<id>/download" },
"unchanged": false,
"expiresAt": "2026-10-02T12:00:00Z"
}Đã nhận và đang chờ: 202
Khi hàng đợi dài hơn, có thể trả về 202 Accepted với status là pending. Location trỏ đến trạng thái tác vụ, không phải bản tải về. Hãy giữ URL này và truy vấn nó thay vì gửi lại ảnh.
HTTP/1.1 202 Accepted
Location: https://bitinz.com/api/v1/results/<id>
{
"id": "<id>",
"status": "pending",
"input": { "size": 2277375 },
"expiresAt": "2026-10-02T12:00:00Z"
}Truy vấn trạng thái tác vụ
Gửi GET /api/v1/results/{id} tới URL trả về trong Location mỗi 1–2 giây. pending nghĩa là đang chờ (queuePosition cho biết vị trí hiện tại); processing nghĩa là đang nén. Khi status là done, tải về từ downloadUrl. failed nghĩa là tác vụ không thể hoàn tất; failure cho biết loại lỗi và note giải thích lý do.
curl "https://bitinz.com/api/v1/results/<id>"
{
"id": "<id>",
"status": "done",
"available": true,
"downloadUrl": "/api/v1/results/<id>/download",
"outputSize": 992450,
"unchanged": false
}Tải kết quả về
Có thể tải kết quả về cho đến khi hết hạn; sau đó URL trả về 410.
curl -o photo.min.jpg "https://bitinz.com/api/v1/results/<id>/download"
Mã lỗi
{ "error": { "code": "...", "message": "..." } }
| 401 unauthorized / invalid_key | Thiếu khóa, khóa không xác định hoặc đã bị thu hồi |
| 413 too_large | Ảnh vượt quá giới hạn dung lượng |
| 415 unsupported_image | Đường đồng bộ: không phải ảnh PNG, JPEG, WebP hoặc AVIF được hỗ trợ |
| 422 image_too_large | Đường đồng bộ: ảnh có nhiều điểm ảnh hơn mức dịch vụ có thể xử lý |
| failed / unsupported | Tác vụ trong hàng đợi báo ảnh không được hỗ trợ trong kết quả là status: failed và failure: unsupported |
| failed / too_large | Tác vụ trong hàng đợi báo ảnh vượt giới hạn xử lý là status: failed và failure: too_large |
| 429 quota_exceeded | Đã dùng hết hạn mức hằng tháng |
| 503 busy | Máy chủ đang bận, vui lòng thử lại sau ít phút |