API Pemampatan Imej
Mampatkan JPG, PNG, WebP dan AVIF dengan API pemampatan imej Bitinz. Imej lebih kecil dalam aliran kerja anda, dengan kuota bulanan percuma.
Muat turun spesifikasi OpenAPIPengesahan
Cipta kunci API dalam papan pemuka anda, kemudian gunakan pengesahan HTTP Basic (pengguna api, kata laluan = kunci) atau hantar Authorization: Bearer <key>.
curl --user api:YOUR_API_KEY ... # or curl -H "Authorization: Bearer YOUR_API_KEY" ...
Mampatkan imej
Hantar imej dengan POST sebagai badan permintaan ke /api/v1/shrink. Parameter pertanyaan pilihan: level (fast / default / best) dan filename.
curl -i --user api:YOUR_API_KEY \ --data-binary @photo.jpg \ "https://bitinz.com/api/v1/shrink?level=default&filename=photo.jpg"
Respons
Permintaan yang berjaya biasanya memulangkan 201 dengan status done. Pengepala Location dan output.url menunjuk ke muat turun. Compression-Count ialah penggunaan anda bulan ini.
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"
}Diterima dan menunggu: 202
Baris gilir yang lebih panjang boleh memulangkan 202 Accepted dengan status pending. Location menunjuk ke status kerja, bukan ke muat turun. Simpan URL ini dan tinjaunya, bukannya menghantar imej sekali lagi.
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"
}Tinjau status kerja
Hantar GET /api/v1/results/{id} ke URL yang dipulangkan dalam Location setiap 1–2 saat. pending bermaksud dalam baris gilir (queuePosition memberi kedudukan semasanya); processing bermaksud pemampatan sedang berjalan. Apabila status ialah done, muat turun daripada downloadUrl. failed bermaksud kerja tidak dapat diselesaikan; failure mengenal pasti kategori dan note menerangkan sebabnya.
curl "https://bitinz.com/api/v1/results/<id>"
{
"id": "<id>",
"status": "done",
"available": true,
"downloadUrl": "/api/v1/results/<id>/download",
"outputSize": 992450,
"unchanged": false
}Muat turun hasil
Hasil boleh dimuat turun sehingga tamat tempoh; selepas itu URL memulangkan 410.
curl -o photo.min.jpg "https://bitinz.com/api/v1/results/<id>/download"
Kod ralat
{ "error": { "code": "...", "message": "..." } }
| 401 unauthorized / invalid_key | Kunci tiada, tidak dikenali atau dibatalkan |
| 413 too_large | Imej melebihi had saiz |
| 415 unsupported_image | Laluan segerak: bukan imej PNG, JPEG, WebP atau AVIF yang disokong |
| 422 image_too_large | Laluan segerak: imej mempunyai lebih banyak piksel daripada yang boleh diproses |
| failed / unsupported | Kerja dalam baris gilir melaporkan imej yang tidak disokong dalam hasil sebagai status: failed dan failure: unsupported |
| failed / too_large | Kerja dalam baris gilir melaporkan imej melebihi had pemprosesan sebagai status: failed dan failure: too_large |
| 429 quota_exceeded | Kuota bulanan telah habis |
| 503 busy | Pelayan sibuk, cuba lagi sebentar |