API voor afbeeldingscompressie
Comprimeer JPG, PNG, WebP en AVIF met de API voor afbeeldingscompressie van Bitinz. Kleinere afbeeldingen in je workflow, met een gratis maandquotum.
OpenAPI-specificatie downloadenAuthenticatie
Maak een API-sleutel aan in je dashboard en gebruik HTTP Basic-authenticatie (gebruiker api, wachtwoord = sleutel) of stuur Authorization: Bearer <key>.
curl --user api:YOUR_API_KEY ... # or curl -H "Authorization: Bearer YOUR_API_KEY" ...
Een afbeelding comprimeren
Stuur de afbeelding met POST als body van het verzoek naar /api/v1/shrink. Optionele queryparameters: level (fast / default / best) en filename.
curl -i --user api:YOUR_API_KEY \ --data-binary @photo.jpg \ "https://bitinz.com/api/v1/shrink?level=default&filename=photo.jpg"
Antwoord
Geslaagde verzoeken geven meestal 201 terug met status done. De header Location en output.url verwijzen naar de download. Compression-Count is je gebruik deze maand.
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"
}Geaccepteerd en wachtend: 202
Bij een langere wachtrij kan 202 Accepted met status pending terugkomen. Location verwijst naar de taakstatus, niet naar de download. Bewaar deze URL en vraag die op in plaats van de afbeelding opnieuw te sturen.
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"
}Taakstatus opvragen
Stuur elke 1–2 seconden GET /api/v1/results/{id} naar de URL uit Location. pending betekent in de wachtrij (queuePosition geeft de huidige plek); processing betekent dat er gecomprimeerd wordt. Is status done, download dan via downloadUrl. failed betekent dat de taak niet kon worden afgerond; failure geeft de categorie en note de reden.
curl "https://bitinz.com/api/v1/results/<id>"
{
"id": "<id>",
"status": "done",
"available": true,
"downloadUrl": "/api/v1/results/<id>/download",
"outputSize": 992450,
"unchanged": false
}Het resultaat downloaden
Resultaten kun je downloaden tot ze verlopen; daarna geeft de URL 410 terug.
curl -o photo.min.jpg "https://bitinz.com/api/v1/results/<id>/download"
Foutcodes
{ "error": { "code": "...", "message": "..." } }
| 401 unauthorized / invalid_key | Sleutel ontbreekt, is onbekend of ingetrokken |
| 413 too_large | De afbeelding overschrijdt de groottelimiet |
| 415 unsupported_image | Synchroon pad: geen ondersteunde PNG-, JPEG-, WebP- of AVIF-afbeelding |
| 422 image_too_large | Synchroon pad: de afbeelding heeft meer pixels dan de dienst kan verwerken |
| failed / unsupported | Taken in de wachtrij melden niet-ondersteunde afbeeldingen in het resultaat als status: failed en failure: unsupported |
| failed / too_large | Taken in de wachtrij melden afbeeldingen boven de verwerkingslimiet als status: failed en failure: too_large |
| 429 quota_exceeded | Het maandquotum is op |
| 503 busy | De server is druk, probeer het zo opnieuw |