Sviluppatori

API di compressione immagini

Comprimi JPG, PNG, WebP e AVIF con l’API di compressione immagini di Bitinz. Immagini più leggere nel tuo flusso di lavoro, con quota mensile gratuita.

Scarica la specifica OpenAPI
Ottieni una chiave API

Autenticazione

Crea una chiave API nella dashboard, poi usa l’autenticazione HTTP Basic (utente api, password = chiave) oppure invia Authorization: Bearer <key>.

curl --user api:YOUR_API_KEY ...
# or
curl -H "Authorization: Bearer YOUR_API_KEY" ...

Comprimere un’immagine

Invia l’immagine con POST come corpo della richiesta a /api/v1/shrink. Parametri di query facoltativi: level (fast / default / best) e filename.

curl -i --user api:YOUR_API_KEY \
  --data-binary @photo.jpg \
  "https://bitinz.com/api/v1/shrink?level=default&filename=photo.jpg"

Risposta

Le richieste riuscite di solito restituiscono 201 con status done. L’intestazione Location e output.url puntano al download. Compression-Count è il tuo utilizzo del mese.

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"
}

Accettata e in attesa: 202

Con una coda più lunga può essere restituito 202 Accepted con status pending. Location punta allo stato del lavoro, non al download. Conserva questo URL e interrogalo invece di inviare di nuovo l’immagine.

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"
}

Interrogare lo stato del lavoro

Invia GET /api/v1/results/{id} all’URL restituito in Location ogni 1–2 secondi. pending significa in coda (queuePosition indica la posizione attuale); processing significa che la compressione è in corso. Quando status è done, scarica da downloadUrl. failed significa che il lavoro non è stato completato; failure ne indica la categoria e note spiega il motivo.

curl "https://bitinz.com/api/v1/results/<id>"

{
  "id": "<id>",
  "status": "done",
  "available": true,
  "downloadUrl": "/api/v1/results/<id>/download",
  "outputSize": 992450,
  "unchanged": false
}

Scaricare il risultato

I risultati si possono scaricare fino alla scadenza; dopo, l’URL restituisce 410.

curl -o photo.min.jpg "https://bitinz.com/api/v1/results/<id>/download"

Codici di errore

{ "error": { "code": "...", "message": "..." } }

401 unauthorized / invalid_keyChiave mancante, sconosciuta o revocata
413 too_largeL’immagine supera il limite di dimensione
415 unsupported_imagePercorso sincrono: non è un’immagine PNG, JPEG, WebP o AVIF supportata
422 image_too_largePercorso sincrono: l’immagine ha più pixel di quanti il servizio possa elaborarne
failed / unsupportedI lavori in coda segnalano le immagini non supportate nel risultato con status: failed e failure: unsupported
failed / too_largeI lavori in coda segnalano le immagini oltre il limite di elaborazione con status: failed e failure: too_large
429 quota_exceededLa quota mensile è esaurita
503 busyIl server è occupato, riprova tra poco