API ya kubana picha
Bana JPG, PNG, WebP na AVIF kwa API ya kubana picha ya Bitinz. Picha ndogo zaidi katika mtiririko wako wa kazi, na kiwango cha bure cha kila mwezi.
Pakua vipimo vya OpenAPIUthibitishaji
Unda ufunguo wa API kwenye dashibodi yako, kisha tumia uthibitishaji wa HTTP Basic (mtumiaji api, nenosiri = ufunguo) au tuma Authorization: Bearer <key>.
curl --user api:YOUR_API_KEY ... # or curl -H "Authorization: Bearer YOUR_API_KEY" ...
Kubana picha
Tuma picha kwa POST kama mwili wa ombi kwenda /api/v1/shrink. Vigezo vya hiari vya hoja: level (fast / default / best) na filename.
curl -i --user api:YOUR_API_KEY \ --data-binary @photo.jpg \ "https://bitinz.com/api/v1/shrink?level=default&filename=photo.jpg"
Jibu
Maombi yaliyofaulu kwa kawaida hurudisha 201 yenye status done. Kichwa cha Location na output.url huelekeza kwenye upakuaji. Compression-Count ni matumizi yako mwezi huu.
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"
}Limekubaliwa na linasubiri: 202
Foleni ikiwa ndefu, 202 Accepted yenye status pending inaweza kurudishwa. Location huelekeza kwenye hali ya kazi, si kwenye upakuaji. Hifadhi URL hii na uiulize hali badala ya kutuma picha tena.
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"
}Uliza hali ya kazi
Tuma GET /api/v1/results/{id} kwa URL iliyorudishwa kwenye Location kila sekunde 1–2. pending inamaanisha iko kwenye foleni (queuePosition hutoa nafasi yake ya sasa); processing inamaanisha ubanaji unaendelea. status ikiwa done, pakua kutoka downloadUrl. failed inamaanisha kazi haikuweza kukamilika; failure hutaja aina na note hueleza sababu.
curl "https://bitinz.com/api/v1/results/<id>"
{
"id": "<id>",
"status": "done",
"available": true,
"downloadUrl": "/api/v1/results/<id>/download",
"outputSize": 992450,
"unchanged": false
}Pakua matokeo
Matokeo yanaweza kupakuliwa hadi muda wake uishe; baada ya hapo URL hurudisha 410.
curl -o photo.min.jpg "https://bitinz.com/api/v1/results/<id>/download"
Misimbo ya hitilafu
{ "error": { "code": "...", "message": "..." } }
| 401 unauthorized / invalid_key | Ufunguo haupo, haujulikani au umebatilishwa |
| 413 too_large | Picha inazidi kikomo cha ukubwa |
| 415 unsupported_image | Njia ya moja kwa moja: si picha ya PNG, JPEG, WebP au AVIF inayotumika |
| 422 image_too_large | Njia ya moja kwa moja: picha ina pikseli nyingi kuliko huduma inavyoweza kuchakata |
| failed / unsupported | Kazi za foleni huripoti picha zisizotumika katika matokeo kama status: failed na failure: unsupported |
| failed / too_large | Kazi za foleni huripoti picha zinazozidi kikomo cha uchakataji kama status: failed na failure: too_large |
| 429 quota_exceeded | Kiwango cha kila mwezi kimeisha |
| 503 busy | Seva ina shughuli nyingi, jaribu tena baada ya muda mfupi |