PSS Face API

PSS Face API ให้บริการตรวจจับและยืนยันใบหน้าผ่าน REST interface ที่เรียบง่าย ทุกคำขอต้องยืนยันด้วย API key ที่สร้างจาก dashboard ซึ่งผูกกับบัญชี PSS Identity ของคุณ

Base URL
https://face.pssgroup.co.th

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

ส่ง API key เป็น bearer token สร้างและเพิกถอนคีย์ได้ที่ API Keys

http
Authorization: Bearer pssf_live_xxxxxxxxxxxxxxxx
javascript
const res = await fetch(`${BASE}/api/v1/detect`, {
  method: "POST",
  headers: {
    "Authorization": `Bearer ${process.env.PSS_FACE_KEY}`,
    "Content-Type": "application/json",
  },
  body: JSON.stringify({ image: base64Image }),
});
const { faces } = await res.json();
python
import requests, base64

img = base64.b64encode(open("face.jpg","rb").read()).decode()
r = requests.post(
    f"{BASE}/api/v1/compare",
    headers={"Authorization": f"Bearer {KEY}"},
    json={"a": img, "b": img},
)
print(r.json())  # {'similarity': 1.0, 'match': True, ...}

GET/v1/health

ตรวจสอบสถานะระบบ ไม่ต้องยืนยันตัวตน

json
{ "status": "ok", "service": "pss-face", "engine": "pss-mock-v1" }

POST/v1/detect

ตรวจจับทุกใบหน้าในรูปภาพ รับค่า image เป็น base64 / data URL (JSON) หรืออัปโหลดไฟล์ (multipart/form-data)

คำขอ (Request)

bash
curl -X POST $BASE/api/v1/detect \
  -H "Authorization: Bearer $PSS_FACE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "image": "<base64-or-data-url>" }'

การตอบกลับ (Response)

json
{
  "faces": [
    {
      "box": { "x": 118, "y": 50, "width": 164, "height": 200 },
      "confidence": 0.992,
      "attributes": { "age": 34, "gender": "male", "glasses": false }
    }
  ],
  "width": 1024,
  "height": 768,
  "model": "pss-mock-v1",
  "processingMs": 41.2
}

POST/v1/compare

เปรียบเทียบใบหน้าสองรูป (ยืนยันแบบ 1:1) คืนคะแนนความเหมือนและค่า match (true/false) ตามเกณฑ์ที่ตั้งไว้

คำขอ (Request)

bash
curl -X POST $BASE/api/v1/compare \
  -H "Authorization: Bearer $PSS_FACE_KEY" \
  -H "Content-Type: application/json" \
  -d '{ "a": "<base64-image-a>", "b": "<base64-image-b>" }'

การตอบกลับ (Response)

json
{
  "similarity": 0.94,
  "match": true,
  "threshold": 0.62,
  "model": "pss-mock-v1",
  "processingMs": 38.7
}

ข้อผิดพลาด

ข้อผิดพลาดจะคืน JSON ในรูปแบบ { "error": { "code", "message" } }

HTTPรหัสความหมาย
400missing_image / missing_imagesไม่ได้ส่งรูปภาพที่จำเป็นมา
401missing_api_keyไม่ได้ส่ง Authorization header มา
401invalid_api_keyคีย์ไม่ถูกต้องหรือถูกเพิกถอนแล้ว
502engine_errorface engine ประมวลผลคำขอไม่สำเร็จ