API συμπίεσης εικόνων
Συμπιέστε JPG, PNG, WebP και AVIF με το API συμπίεσης εικόνων του Bitinz. Μικρότερες εικόνες στη ροή εργασίας σας, με δωρεάν μηνιαίο όριο.
Λήψη της προδιαγραφής OpenAPIΤαυτοποίηση
Δημιουργήστε κλειδί API στον πίνακα ελέγχου και χρησιμοποιήστε ταυτοποίηση HTTP Basic (χρήστης api, κωδικός = κλειδί) ή στείλτε Authorization: Bearer <key>.
curl --user api:YOUR_API_KEY ... # or curl -H "Authorization: Bearer YOUR_API_KEY" ...
Συμπίεση εικόνας
Στείλτε την εικόνα με POST ως σώμα του αιτήματος στο /api/v1/shrink. Προαιρετικές παράμετροι ερωτήματος: level (fast / default / best) και filename.
curl -i --user api:YOUR_API_KEY \ --data-binary @photo.jpg \ "https://bitinz.com/api/v1/shrink?level=default&filename=photo.jpg"
Απάντηση
Τα επιτυχή αιτήματα συνήθως επιστρέφουν 201 με status done. Η κεφαλίδα Location και το output.url δείχνουν τη λήψη. Το Compression-Count είναι η χρήση σας αυτόν τον μήνα.
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"
}Αποδεκτό και σε αναμονή: 202
Με μεγαλύτερη ουρά μπορεί να επιστραφεί 202 Accepted με status pending. Το Location δείχνει την κατάσταση της εργασίας, όχι τη λήψη. Κρατήστε αυτό το URL και ελέγχετέ το, αντί να στείλετε ξανά την εικόνα.
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"
}Έλεγχος κατάστασης εργασίας
Στείλτε GET /api/v1/results/{id} στο URL που επέστρεψε το Location κάθε 1–2 δευτερόλεπτα. Το pending σημαίνει σε αναμονή (το queuePosition δίνει την τρέχουσα θέση)· το processing σημαίνει ότι η συμπίεση βρίσκεται σε εξέλιξη. Όταν το status γίνει done, κατεβάστε από το downloadUrl. Το failed σημαίνει ότι η εργασία δεν ολοκληρώθηκε· το failure δίνει την κατηγορία και το note εξηγεί τον λόγο.
curl "https://bitinz.com/api/v1/results/<id>"
{
"id": "<id>",
"status": "done",
"available": true,
"downloadUrl": "/api/v1/results/<id>/download",
"outputSize": 992450,
"unchanged": false
}Λήψη του αποτελέσματος
Τα αποτελέσματα μπορούν να ληφθούν μέχρι να λήξουν· μετά το URL επιστρέφει 410.
curl -o photo.min.jpg "https://bitinz.com/api/v1/results/<id>/download"
Κωδικοί σφάλματος
{ "error": { "code": "...", "message": "..." } }
| 401 unauthorized / invalid_key | Κλειδί που λείπει, είναι άγνωστο ή έχει ανακληθεί |
| 413 too_large | Η εικόνα ξεπερνά το όριο μεγέθους |
| 415 unsupported_image | Σύγχρονη διαδρομή: δεν είναι υποστηριζόμενη εικόνα PNG, JPEG, WebP ή AVIF |
| 422 image_too_large | Σύγχρονη διαδρομή: η εικόνα έχει περισσότερα pixel από όσα μπορεί να επεξεργαστεί η υπηρεσία |
| failed / unsupported | Οι εργασίες σε ουρά αναφέρουν τις μη υποστηριζόμενες εικόνες στο αποτέλεσμα ως status: failed και failure: unsupported |
| failed / too_large | Οι εργασίες σε ουρά αναφέρουν τις εικόνες πάνω από το όριο επεξεργασίας ως status: failed και failure: too_large |
| 429 quota_exceeded | Το μηνιαίο όριο εξαντλήθηκε |
| 503 busy | Ο διακομιστής είναι απασχολημένος, δοκιμάστε ξανά σε λίγο |