This page was machine-translated. Spotted a mistake?Help improve it.
Skip to content

OCR / Text Extraction

สกัดข้อความจากรูปภาพด้วยการรู้จำอักขระด้วยแสง (OCR) ที่ขับเคลื่อนด้วย AI รองรับหลายภาษาและหลายระดับคุณภาพ

API Endpoint

POST /api/v1/tools/image/ocr

Processing: การตอบกลับ JSON แบบซิงโครนัส หากระบุ clientJobId ความคืบหน้าจะถูกรายงานผ่าน SSE ด้วย

Model bundle: ocr (5-6 GB)

Parameters

ParameterTypeRequiredDefaultDescription
filefileYes-ไฟล์รูปภาพ (multipart)
qualitystringNo"balanced"ระดับคุณภาพ: fast (Tesseract), balanced (PaddleOCR v5), best (PaddleOCR VL)
languagestringNo"auto"คำใบ้ภาษา: auto, en, de, fr, es, zh, ja, ko
enhancebooleanNotrueประมวลผลรูปภาพล่วงหน้าเพื่อความแม่นยำ OCR ที่ดีขึ้น
enginestringNo-เลิกใช้แล้ว ให้ใช้ quality แทน แมป tesseract เป็น fast, paddleocr เป็น balanced

Example Request

bash
curl -X POST http://localhost:1349/api/v1/tools/image/ocr \
  -F "[email protected]" \
  -F 'settings={"quality":"best","language":"en","enhance":true}'

Response (200 OK)

json
{
  "jobId": "a1b2c3d4-e5f6-7890-abcd-ef1234567890",
  "filename": "document.png",
  "text": "Extracted text content from the image...",
  "engine": "paddleocr-vl"
}

Progress (SSE, optional)

หากระบุฟิลด์ฟอร์ม clientJobId เหตุการณ์ความคืบหน้าจะถูกสตรีม:

event: progress
data: {"phase":"processing","stage":"Recognizing text...","percent":50}

Notes

  • ต้องติดตั้ง model bundle ocr (5-6 GB)
  • OCR คืนค่าข้อความที่สกัดได้โดยตรง แทนที่จะเป็น URL ดาวน์โหลดรูปภาพ
  • ใช้ลำดับสำรอง (fallback chain): หากระดับคุณภาพที่สูงกว่าล่ม (เช่น PaddleOCR segfault) ระบบจะลองใหม่โดยอัตโนมัติด้วยระดับที่ต่ำกว่าถัดไป
  • หากระดับหนึ่งคืนค่าข้อความว่างโดยไม่ล่ม ระบบก็จะย้อนกลับไปยังระดับถัดไปเช่นกัน
  • ระดับคุณภาพแมปกับเอนจิน: fast = Tesseract, balanced = PaddleOCR v5, best = PaddleOCR VL
  • รองรับรูปแบบอินพุต HEIC/HEIF, RAW, TGA, PSD, EXR และ HDR ผ่านการถอดรหัสอัตโนมัติ