Utvecklare

API för bildkomprimering

Komprimera JPG, PNG, WebP och AVIF med API:t för bildkomprimering från Bitinz. Mindre bilder i ditt arbetsflöde, med en gratis månadskvot för alla konton.

Ladda ner OpenAPI-specifikationen
Skaffa en API-nyckel

Autentisering

Skapa en API-nyckel i översikten och använd sedan HTTP Basic-autentisering (användare api, lösenord = nyckel) eller skicka Authorization: Bearer <key>.

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

Komprimera en bild

Skicka bilden med POST som anropets innehåll till /api/v1/shrink. Valfria frågeparametrar: level (fast / default / best) och filename.

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

Svar

Lyckade anrop returnerar oftast 201 med status done. Headern Location och output.url pekar på nedladdningen. Compression-Count är din användning den här månaden.

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

Mottaget och väntar: 202

Vid längre kö kan 202 Accepted med status pending returneras. Location pekar på jobbets status, inte på nedladdningen. Spara URL:en och polla den i stället för att skicka bilden igen.

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

Polla jobbets status

Skicka GET /api/v1/results/{id} till URL:en från Location var 1–2 sekund. pending betyder i kö (queuePosition anger aktuell plats); processing betyder att komprimering pågår. När status är done laddar du ner från downloadUrl. failed betyder att jobbet inte kunde slutföras; failure anger kategorin och note förklarar varför.

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

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

Ladda ner resultatet

Resultat kan laddas ner tills de löper ut; därefter returnerar URL:en 410.

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

Felkoder

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

401 unauthorized / invalid_keyNyckel saknas, är okänd eller återkallad
413 too_largeBilden överskrider storleksgränsen
415 unsupported_imageSynkron väg: ingen PNG-, JPEG-, WebP- eller AVIF-bild som stöds
422 image_too_largeSynkron väg: bilden har fler pixlar än tjänsten kan bearbeta
failed / unsupportedKöade jobb rapporterar bilder som inte stöds i resultatet som status: failed och failure: unsupported
failed / too_largeKöade jobb rapporterar bilder över bearbetningsgränsen som status: failed och failure: too_large
429 quota_exceededMånadskvoten är slut
503 busyServern är upptagen, försök igen strax