Pembangun

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 OpenAPI
Dapatkan kunci API

Pengesahan

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_keyKunci tiada, tidak dikenali atau dibatalkan
413 too_largeImej melebihi had saiz
415 unsupported_imageLaluan segerak: bukan imej PNG, JPEG, WebP atau AVIF yang disokong
422 image_too_largeLaluan segerak: imej mempunyai lebih banyak piksel daripada yang boleh diproses
failed / unsupportedKerja dalam baris gilir melaporkan imej yang tidak disokong dalam hasil sebagai status: failed dan failure: unsupported
failed / too_largeKerja dalam baris gilir melaporkan imej melebihi had pemprosesan sebagai status: failed dan failure: too_large
429 quota_exceededKuota bulanan telah habis
503 busyPelayan sibuk, cuba lagi sebentar