นักพัฒนา

API บีบอัดรูปภาพ

บีบอัด JPG, PNG, WebP และ AVIF ด้วย API บีบอัดรูปภาพของ Bitinz ได้รูปที่เล็กลงในเวิร์กโฟลว์ พร้อมโควตารายเดือนฟรีสำหรับทุกบัญชี

ดาวน์โหลดข้อกำหนด OpenAPI
รับคีย์ API

การยืนยันตัวตน

สร้างคีย์ 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เส้นทางแบบซิงโครนัส: รูปมีพิกเซลมากเกินกว่าที่บริการประมวลผลได้
failed / unsupportedงานในคิวจะรายงานรูปที่ไม่รองรับในผลลัพธ์เป็น status: failed และ failure: unsupported
failed / too_largeงานในคิวจะรายงานรูปที่เกินขีดจำกัดการประมวลผลเป็น status: failed และ failure: too_large
429 quota_exceededใช้โควตารายเดือนหมดแล้ว
503 busyเซิร์ฟเวอร์ไม่ว่าง โปรดลองอีกครั้งในอีกสักครู่