Entwickler

Bildkomprimierungs-API

Komprimieren Sie JPG, PNG, WebP und AVIF mit der Bildkomprimierungs-API von Bitinz. Kleinere Bilder im Workflow, mit kostenlosem Monatskontingent.

OpenAPI-Spezifikation herunterladen
API-Schlüssel erhalten

Authentifizierung

Erstellen Sie im Dashboard einen API-Schlüssel und nutzen Sie dann HTTP-Basic-Authentifizierung (Benutzer api, Passwort = Schlüssel) oder senden Sie Authorization: Bearer <key>.

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

Ein Bild komprimieren

Senden Sie das Bild per POST als Anfragetext an /api/v1/shrink. Optionale Abfrageparameter: level (fast / default / best) und filename.

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

Antwort

Erfolgreiche Anfragen liefern in der Regel 201 mit status done. Der Location-Header und output.url verweisen auf den Download. Compression-Count ist Ihre Nutzung in diesem Monat.

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

Angenommen und wartend: 202

Bei längerer Warteschlange kann 202 Accepted mit status pending zurückkommen. Location verweist auf den Auftragsstatus, nicht auf den Download. Merken Sie sich diese URL und fragen Sie sie ab, statt das Bild erneut zu senden.

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

Auftragsstatus abfragen

Senden Sie alle 1–2 Sekunden GET /api/v1/results/{id} an die in Location zurückgegebene URL. pending bedeutet wartend (queuePosition nennt den aktuellen Platz); processing bedeutet, dass komprimiert wird. Ist status done, laden Sie über downloadUrl herunter. failed bedeutet, dass der Auftrag nicht abgeschlossen werden konnte; failure nennt die Kategorie und note den Grund.

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

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

Ergebnis herunterladen

Ergebnisse lassen sich bis zu ihrem Ablauf herunterladen; danach liefert die URL 410.

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

Fehlercodes

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

401 unauthorized / invalid_keySchlüssel fehlt, ist unbekannt oder widerrufen
413 too_largeDas Bild überschreitet die Größengrenze
415 unsupported_imageSynchroner Pfad: kein unterstütztes PNG-, JPEG-, WebP- oder AVIF-Bild
422 image_too_largeSynchroner Pfad: Das Bild hat mehr Pixel, als der Dienst verarbeiten kann
failed / unsupportedAufträge aus der Warteschlange melden nicht unterstützte Bilder im Ergebnis als status: failed und failure: unsupported
failed / too_largeAufträge aus der Warteschlange melden Bilder über der Verarbeitungsgrenze als status: failed und failure: too_large
429 quota_exceededDas Monatskontingent ist aufgebraucht
503 busyDer Server ist ausgelastet, bitte gleich erneut versuchen