OCR และสกัดข้อมูลสำหรับเอกสารภาษาไทยตัวจริง
เริ่มต้นด้วย 100 เครดิตฟรี ไม่ต้องผูกบัตร
Paxa OCR Lite อ่านใบเสร็จ ใบกำกับภาษี แบบฟอร์ม และรายงานจากไฟล์ PDF หรือรูปภาพ ออกมาเป็น Markdown หรือบล็อกโครงสร้าง Paxa Document Extraction อ่านหน้าเดียวกันลงฟิลด์ตามชนิดที่สคีมาของคุณกำหนด
- รูปแบบไฟล์
- PDF, PNG, JPEG, WebP
- ต่อคำขอ
- สูงสุด 50 หน้า 10 MiB
- ต่อหน้า
- 6.5 เครดิต
- โมเดล
- paxa-ocr-lite-v1
บริษัท ศตวรรษการค้าd จำกัด (สำนักงานใหญ่)
๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐
เลขประจำตัวผู้เสียภาษีอากร 0 1055 64078 12 7
- ชื่อผู้ซื้อ
- บริษัท กรุณาไทยe จำกัด
- ที่อยู่
- ๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐
- เลขประจำตัวผู้เสียภาษี
- 0 1055 61045 67 8
| ลำดับ | รายการ | จำนวนc | หน่วยละ | จำนวนเงิน |
|---|---|---|---|---|
| ๑ | เสื้อbโปโลพนักงานปักโลโก้ | ๑๒ | 120.00 | 1,440.00 |
| ๒ | แก้วเซรามิกพิมพ์ลาย | ๕ | 30.00 | 150.00 |
| ๓ | กล่องบรรจุภัณฑ์ | ๓ | 20.00 | 60.00 |
( หนึ่งพันเจ็ดร้อยหกสิบห้าบาทห้าสิบสตางค์ )a
อะไรทำให้ใบกำกับภาษีใบนี้อ่านยาก#
ตัวอย่างนี้จัดพิมพ์ขึ้นจากรายการบังคับทั้งแปดข้อของใบกำกับภาษีแบบเต็มตามมาตรา 86/4 แห่งประมวลรัษฎากร โดยไม่ได้ใช้ภาพถ่าย ชื่อและจำนวนเงินสมมุติขึ้น แต่ช่องรายการคือของกฎหมาย
ที่มา:Revenue Code s.86/4(เปิดในแท็บใหม่)rd.go.th(เปิดในแท็บใหม่)
ไม่มีขอบเขตคำ
จำนวนเงินตัวอักษรคือสายอักขระต่อเนื่องไม่เว้นวรรค การตัดคำกับการอ่านจึงต้องเกิดพร้อมกัน
ซ้อนกันได้ถึงสี่ชั้น
เสื้ ซ้อนพยัญชนะ สระบน และวรรณยุกต์ไว้ในคอลัมน์เดียว และลำดับของเครื่องหมายคือความหมาย
ตัวเลขสองระบบ
กฎหมายอนุญาตทั้งเลขไทยและเลขอารบิก และใบกำกับภาษีจริงก็ผสมทั้งสองระบบในหน้าเดียว
อักษรหน้าคล้าย
เมื่อภาพมัว แม้ผู้อ่านเองยังแยก ฅ ค ต ศ ด ไม่ออก และฟอนต์ไม่มีหัวที่ใบเสร็จส่วนใหญ่ใช้ยิ่งทำให้กลุ่มอักษรใกล้กันขึ้น
ณ ไร้หัว
พอถอดหัวออก มันอ่านคล้ายตัว u ละติน และโมเดลก็เริ่มตอบกลับมาผิดอักษร
สองศักราช
๒๕๖๙ คือปีพุทธศักราช ฟิลด์เดียวกันต้องออกจากหน้ากระดาษเป็น 2026
สิ่งที่โมเดลอ่านออกมา#
ผลการอ่านทั้งสองแบบคือคำตอบจริงของโมเดลต่อเอกสารตัวอย่างด้านบน แสดงโดยไม่แก้ไข และภาพในลิงก์นี้คือภาพที่โมเดลอ่านจริง
ภาพที่โมเดลอ่านจริง# บริษัท ศตวรรษการค้า จำกัด (สำนักงานใหญ่)
๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐
เลขประจำตัวผู้เสียภาษี 0 1055 64078 12 7
# ใบกำกับภาษี
TAX INVOICE
ต้นฉบับ
เล่มที่ 001 เลขที่ 0042
วันที่ ๓๐ มิถุนายน ๒๕๖๙
ชื่อผู้ซื้อ | บริษัท กรุณาไทย จำกัด
--- | ---
ที่อยู่ | ๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐
เลขประจำตัวผู้เสียภาษี | 0 1055 61045 67 8
| ลำดับ | รายการ | จำนวน | หน่วยละ | จำนวนเงิน |
| --- | --- | --- | --- | --- |
| ๑ | เสื้อโปโลพนักงานปักโลโก้ | ๑๒ | 120.00 | 1,440.00 |
| ๒ | แก้วเซรามิกพิมพ์ลาย | ๕ | 30.00 | 150.00 |
| ๓ | กล่องบรรจุภัณฑ์ | ๓ | 20.00 | 60.00 |
| | | | รวมเงิน | 1,650.00 |
| --- | --- | --- | --- | --- |
| | | | ภาษีมูลค่าเพิ่ม 7% | 115.50 |
| | | | จำนวนเงินรวมทั้งสิ้น | 1,765.50 |
( หนึ่งพันเจ็ดร้อยหกสิบห้าบาทห้าสิบสตางค์ )- headingL1
บริษัท ศตวรรษการค้า จำกัด (สำนักงานใหญ่)
- paragraph
๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐
- paragraph
เลขประจำตัวผู้เสียภาษีอากร 0 1055 64078 12 7
- headingL1
ใบกำกับภาษี
- paragraph
TAX INVOICE
- paragraph
ต้นฉบับ
- paragraph
เล่มที่ 001 เลขที่ 0042
- paragraph
วันที่ ๓๐ มิถุนายน ๒๕๖๙
- paragraph
ชื่อผู้ซื้อ บริษัท กรุณาไทย จำกัด
- paragraph
ที่อยู่ ๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐
- paragraph
เลขประจำตัวผู้เสียภาษี 0 1055 61045 67 8
- table
ตารางที่โมเดลอ่านกลับมาได้ ลำดับ รายการ จำนวน หน่วยละ จำนวนเงิน ๑ เสื้อโปโลพนักงานปักโลโก้ ๑๒ 120.00 1,440.00 ๒ แก้วเซรามิกพิมพ์ลาย ๕ 30.00 150.00 ๓ กล่องบรรจุภัณฑ์ ๓ 20.00 60.00 - table
ตารางที่โมเดลอ่านกลับมาได้ รวมเงิน 1,650.00 ภาษีมูลค่าเพิ่ม 7% 115.50 จำนวนเงินรวมทั้งสิ้น 1,765.50 - paragraph
( หนึ่งพันเจ็ดร้อยหกสิบห้าบาทห้าสิบสตางค์ )
paxa-ocr-lite-v1 · บันทึกเมื่อ 12 ก.ย. 2569 · ไม่มีการแก้ไข
เครื่องกวาดหน้าอย่างไร และอ่านอย่างไร#
ลำดับการกวาดภาพต่างจากลำดับการอ่าน ความล้มเหลวที่ชุดทดสอบระดับเอกสารบันทึกไว้คือเรื่องนี้ตรง ๆ ค่าถูกพบ แต่โครงสร้างหายไป
หน้าเดียวกัน อ่านออกมาเป็นฟิลด์#
Paxa Document Extraction รับตัวอย่างเอกสารกับสคีมาของฟิลด์ที่ระบุชนิดไว้ แล้วคืนสคีมาที่เติมค่าครบ ทุกค่าคือข้อความที่พิมพ์อยู่บนหน้ากระดาษ อ่านตามชนิดของฟิลด์ หรือเป็น null พร้อมเหตุผล เลขผู้เสียภาษีของผู้ขายผ่านการตรวจเลขตรวจสอบ วันที่เป็นรูปแบบ ISO และจำนวนเงินที่เขียนเป็นตัวหนังสือกลับมาเป็นตัวเลข
คุณส่งเอกสารพร้อมสคีมา ได้แก่ชื่อฟิลด์ ชนิดของแต่ละฟิลด์ ฟิลด์ที่บังคับ และตัวเลือกของฟิลด์จำแนกประเภท thai_id คือเลขสิบสามหลักที่ตรวจเลขตรวจสอบแล้ว วันที่เป็น ISO ไม่ว่าหน้ากระดาษจะพิมพ์ศักราชใด จำนวนเงินตัวอักษรเป็นตัวเลข ฟิลด์บังคับที่ไม่มีสิ่งใดบนหน้ารองรับจะกลับมาเป็น null พร้อมเหตุผลตายตัว และผลลัพธ์ทั้งชุดถูกระบุว่าไม่ครบ หากขอหลักฐาน ทุกค่าจะมาพร้อมข้อความที่พิมพ์ซึ่งอ่านค่านั้นมา
{
"fields": {
"seller": {
"type": "object",
"fields": {
"name": {
"type": "string",
"required": true
},
"tax_id": {
"type": "thai_id",
"required": true
},
"address": {
"type": "string"
}
}
},
"buyer": {
"type": "object",
"fields": {
"name": {
"type": "string",
"required": true
},
"tax_id": {
"type": "thai_id"
},
"address": {
"type": "string"
}
}
},
"book_number": {
"type": "string"
},
"invoice_number": {
"type": "string",
"required": true
},
"issue_date": {
"type": "date",
"required": true
},
"items": {
"type": "array",
"max_items": 9,
"items": {
"type": "object",
"fields": {
"description": {
"type": "string",
"required": true
},
"quantity": {
"type": "number"
},
"unit_price": {
"type": "number"
},
"amount": {
"type": "number",
"required": true
}
}
}
},
"subtotal": {
"type": "number"
},
"vat": {
"type": "number",
"required": true
},
"total": {
"type": "number",
"required": true
},
"total_in_words": {
"type": "amount_words"
}
}
}{
"status": "complete",
"fields": {
"seller": {
"name": "บริษัท ศตวรรษการค้า จำกัด",
"tax_id": "0105564078127",
"address": "๙๙ ถนนพระราม ๙ แขวงห้วยขวาง เขตห้วยขวาง กรุงเทพมหานคร ๑๐๓๑๐"
},
"buyer": {
"name": "บริษัท กรุณาไทย จำกัด",
"tax_id": "0105561045678",
"address": "๑๒๓ ซอยสุขุมวิท ๖๓ แขวงคลองตันเหนือ เขตวัฒนา กรุงเทพมหานคร ๑๐๑๑๐"
},
"book_number": "001",
"invoice_number": "0042",
"issue_date": "2026-06-30",
"items": [
{
"description": "เสื้อโปโลพนักงานปักโลโก้",
"quantity": 12,
"unit_price": 120,
"amount": 1440
},
{
"description": "แก้วเซรามิกพิมพ์ลาย",
"quantity": 5,
"unit_price": 30,
"amount": 150
},
{
"description": "กล่องบรรจุภัณฑ์",
"quantity": 3,
"unit_price": 20,
"amount": 60
}
],
"subtotal": 1650,
"vat": 115.5,
"total": 1765.5,
"total_in_words": 1765.5
},
"missing": [],
"unverified": [],
"truncated": [],
"assumed": [],
"usage": {
"pages": 1,
"leaves": 49,
"credits": 13
}
}paxa-doc-extract-v1 · บันทึกเมื่อ 12 ก.ย. 2569 · ไม่มีการแก้ไข
ทั้งสองการ์ดคือคำขอและคำตอบจริงของตัวอย่างนี้ ไม่มีการแก้ไข สคีมาที่นับได้ไม่เกิน 50 ฟิลด์ย่อยคิด 13 เครดิตต่อหน้า สคีมา 51 ถึง 100 ฟิลด์ย่อยคิด 19.5 เครดิต รวมการอ่านเอกสารแล้ว
ลงบัญชีจากใบเสร็จและใบกำกับภาษี
ผู้ขาย เลขผู้เสียภาษี วันที่ รายการสินค้า ภาษีมูลค่าเพิ่ม และยอดรวม เข้าระบบบัญชีเป็นค่าที่ระบุชนิดแล้ว เลขตรวจสอบถูกตรวจก่อนบันทึกแถว
หนังสือรับรองการหักภาษี ณ ที่จ่าย ตอนยื่นแบบ
ผู้จ่าย ผู้รับ ประเภทเงินได้ จำนวนภาษีที่หัก และวันที่ออก อ่านจากแบบฟอร์มที่พิมพ์ลงฟิลด์ที่แบบยื่นต้องใช้ เลขที่ผิดจะตรวจไม่ผ่านและกลับมาเป็น null
แบบฟอร์มและบัตรตอนเปิดบัญชี
ชื่อ ที่อยู่ เลขสิบสามหลัก และวันที่จากใบสมัครหรือบัตร ตรวจสอบขณะอ่าน ผลลัพธ์บอกว่าฟิลด์บังคับใดไม่พบ เคสนั้นจึงส่งต่อให้คนดูได้
ฟอร์มที่เติมค่าครบทีละฟิลด์ และทุกชนิดข้อมูลที่สคีมาเลือกใช้ได้ อยู่ในหน้าการสกัดข้อมูลจากเอกสาร
การสกัดข้อมูลจากเอกสารทำงานอย่างไรทำไม OCR ภาษาไทยจึงยาก#
หน้ากระดาษภาษาไทยคือชั้นที่ซ้อนกันหลายชั้น
เสื้อ
base ส · vowel ◌ื · tone ◌้
ชั้นที่ซ้อนกัน
อักษรไทยซ้อนได้ถึงสี่ชั้นในแนวตั้ง และยูนิโค้ดกำหนดให้แสดงเครื่องหมายไล่ออกจากฐานตามลำดับที่จัดเก็บ ลำดับนั้นคือความหมาย และไม่ได้เป็นเรื่องของการจัดรูป
ฅ ค ต ศ ด
อักษรหน้าคล้าย
ในการทดลองที่ผ่านการตรวจทาน ผู้อ่าน 35 คนที่เห็นตัวอักษรผ่านภาพมัวแยกอักษรกลุ่มนี้จากกันไม่ออก ฟอนต์ไม่มีหัวครองงานพิมพ์ไทยยุคปัจจุบัน ทั้งที่หัวอักษรคือสิ่งที่ใช้แยกพวกมัน
ณ
vs u
ตัว u ละติน
ข้อสังเกตจากตัวชุดทดสอบเอง รูปไร้หัวของ ณ คล้ายตัว u ละตินอย่างยิ่ง และการอ่านก็เริ่มไหลไปผิดอักษร
ที่มา:ADR (2017)(เปิดในแท็บใหม่)Typotheque(เปิดในแท็บใหม่)ThaiOCRBench (2025)(เปิดในแท็บใหม่)Unicode 16.0 ch.16(เปิดในแท็บใหม่)
เป้าหมายงานวิจัยของเรา: OCR ที่แม่นยำที่สุดสำหรับเอกสารไทย#
Typhoon OCR V1.5 แสดงให้เห็นว่างานวิจัยที่โฟกัสภาษาไทยสร้างโอกาสอะไรได้ บนชุดทดสอบที่งานวิจัยกันไว้ครอบคลุมเอกสารไทย 6 หมวด โมเดลขนาด 2B รายงาน ROUGE-L เฉลี่ย 0.774 สูงกว่า Gemini 2.5 Pro ที่ได้ 0.743 ในการประเมินเดียวกัน Typhoon นำในหนังสือ แบบฟอร์มราชการ และรายงานการเงิน ขณะที่ Gemini ยังนำในอินโฟกราฟิกและแบบฟอร์มลายมือ
ThaiOCRBench วัดช่องว่างที่กว้างกว่า จากตัวอย่าง 2,808 ชิ้นที่มนุษย์กำกับ ครอบคลุม 13 งาน Gemini 2.5 Pro ได้คะแนนรวม 0.777 ส่วนโมเดลเปิดที่ดีที่สุดในงานวิจัยคือ Qwen2.5-VL 72B ได้ 0.615 งานอ่านอักษรไทยระดับละเอียดและลายมือมีคะแนนลดลงมากที่สุด Typhoon OCR ยังไม่ได้เผยแพร่คะแนนบน ThaiOCRBench และตัวงานวิจัยเองระบุการประเมินนี้เป็นงานในอนาคต
Paxa Labs กำลังต่อยอดโอกาสนั้นด้วยเป้าหมายงานวิจัยหนึ่งเดียว คือทำให้ Paxa OCR Lite เป็นระบบ OCR ที่แม่นยำที่สุดสำหรับเอกสารไทยที่ใช้จริง เรากำลังขยายชุดประเมินให้ครอบคลุมช่องลายมือ อักษรไทยระดับละเอียด ตารางหนาแน่น ลำดับการอ่าน และเนื้อหาที่หายหรือถูกสร้างเกินจริง เราจะเผยแพร่คะแนนพร้อมวิธีประเมินและรายละเอียดความผิดพลาดควบคู่กัน
ที่มา:ThaiOCRBench (2025)(เปิดในแท็บใหม่)arXiv (2026)(เปิดในแท็บใหม่)
เอกสารที่เราใช้ทดสอบ#
- ใบกำกับภาษี
- รายการบังคับแปดข้อตามมาตรา 86/4 เป็นภาษาไทย สกุลเงินไทย และใช้เลขไทยหรืออารบิกได้ ตัวอย่างด้านบนจัดพิมพ์ขึ้นจากรายการนั้น
- หนังสือรับรองการหักภาษี ณ ที่จ่าย (ใบ 50 ทวิ)
- ออกเป็นคู่ฉบับตามมาตรา 50 ทวิ แบบฟอร์มช่องถี่ที่เต็มไปด้วยป้ายกับค่า และตัว ณ ในชื่อของมันเองคืออักษรที่โมเดลอ่านเป็น u
- บัตรประจำตัวประชาชน
- บัตรเดียว สองอักษร และเลขอารบิกกับเลขไทยอยู่เคียงกัน
อ่านรายละเอียดของเอกสารแต่ละชนิด พร้อมผลการอ่านจริงของโมเดล
ทำไม OCR ยังสำคัญในปี 2569 แม้กับเอกสารดิจิทัล#
งานเอกสารไทยแทบไม่เริ่มจากข้อความสะอาด แต่มาจากไฟล์สแกน รูปถ่ายในโทรศัพท์ PDF ที่สร้างจากแบบฟอร์มกระดาษ หรือเอกสารดิจิทัลที่ไม่มีชั้นข้อความ ชั้นข้อความพัง หรือข้อความถูกล็อกอยู่ในเลย์เอาต์จนเลือกและคัดลอกไม่ได้
OCR เปลี่ยนทั้งกระดาษและไฟล์ดิจิทัลที่คัดลอกเป็นข้อความไม่ได้ ให้กลายเป็นเนื้อหาและโครงสร้างที่ใช้ค้นหา ตรวจสอบ แปล และทำงานอัตโนมัติต่อได้
สิ่งที่แล็บสร้างขึ้น
โมเดลที่อ่านหน้ากระดาษภาษาไทยตามที่หน้ากระดาษตั้งใจให้อ่าน ช่องรายการ ตาราง และยอดรวม ไม่ว่าจะพิมพ์ด้วยอักษรหรือตัวเลขระบบใด
การตัดคำโดยไม่มีขอบเขตให้เห็นคือโจทย์เดียวกับที่สายงานเสียงของแล็บทำอยู่แล้ว สายงานเสียงเจอโจทย์นี้ในเสียง ส่วน OCR เจอบนกระดาษ จำนวนเงินตัวอักษรบนเอกสารด้านบนคือสายอักขระต่อเนื่องหนึ่งเส้น จนกว่าผู้อ่านจะตัดสินว่าคำอยู่ตรงไหน
Paxa OCR Lite อ่านได้ทั้งงานพิมพ์และภาพสแกนหลายระดับคุณภาพ เลย์เอาต์หนาแน่น และหน้าที่ผสมภาษาไทยกับอังกฤษ ทดสอบกับเอกสารชุดด้านบน
แพลตฟอร์มเบื้องหลัง#
- เครดิตเดียว
- เครดิตใช้ร่วมกันได้ทุก API ของ Paxa เสียงพูด ถอดเสียง OCR และแปลภาษา ใช้จากกระเป๋าเดียวกัน ภายใต้ API key เดียว
- ไม่คิดค่าบริการซ้ำ
- ถ้าคำขอล้มเหลว ระบบคืนเครดิตให้อัตโนมัติ และหากต้องส่งคำขอเดิมซ้ำเพราะการเชื่อมต่อหลุด ระบบจะไม่คิดค่าบริการซ้ำ
- โจทย์เดียวกัน
- การอ่านภาษาไทยที่ไม่มีเว้นวรรคคือโจทย์การตัดคำที่งานวิจัยด้านเสียงของแล็บทำอยู่แล้ว งานเสียงเจอโจทย์นี้ในเสียง ส่วน OCR เจอโจทย์เดียวกันบนหน้ากระดาษ
หนึ่งคำขอ หนึ่งอัตราต่อหน้า#
อ่านเอกสารประกอบ- ส่ง base64 รับกลับทุกหน้า
- ส่งไฟล์เป็น base64 แล้วรับแต่ละหน้ากลับเป็น Markdown หรือบล็อกโครงสร้างตามชนิด
- output: "markdown" | "structured"
- นับหน้าก่อนตัดเครดิต
- ระบบนับจำนวนหน้าจากตัวเอกสารเอง และคืนเครดิตให้อัตโนมัติเมื่ออ่านไม่สำเร็จ
- model: "paxa-ocr-lite-v1"
- ฟิลด์จากหน้าเดียวกัน
- ส่งเอกสารเดียวกันพร้อมสคีมา แล้วรับฟิลด์ที่สคีมาตั้งชื่อไว้กลับมาเป็นค่าที่ระบุชนิด
- /v1/extract
# Encode without line wrapping: wrapped base64 breaks the JSON string. DOC=$(base64 < invoice.pdf | tr -d '\n') # --max-time covers a multi-page document; curl defaults to no limit. curl -X POST https://api.paxalabs.com/v1/ocr \ --max-time 300 \ -H "Authorization: Bearer $PAXA_API_KEY" \ -H "Content-Type: application/json" \ -d "{\"document\": \"$DOC\", \"model\": \"paxa-ocr-lite-v1\"}"
import { readFile } from "node:fs/promises"; const document = (await readFile("invoice.pdf")).toString("base64"); const response = await fetch("https://api.paxalabs.com/v1/ocr", { method: "POST", headers: { Authorization: `Bearer ${process.env.PAXA_API_KEY}`, "Content-Type": "application/json", }, body: JSON.stringify({ document, model: "paxa-ocr-lite-v1" }), // A multi-page document can run for minutes; give it room. signal: AbortSignal.timeout(300_000), }); if (!response.ok) throw new Error(`OCR failed: ${response.status}`); const { pages, usage } = await response.json(); console.log(pages[0].markdown, `${usage.credits} credits`);
import base64 import os import requests with open("invoice.pdf", "rb") as file: document = base64.b64encode(file.read()).decode() response = requests.post( "https://api.paxalabs.com/v1/ocr", headers={"Authorization": f"Bearer {os.environ['PAXA_API_KEY']}"}, json={"document": document, "model": "paxa-ocr-lite-v1"}, # A multi-page document can run for minutes; give it room. timeout=300, ) response.raise_for_status() body = response.json() print(body["pages"][0]["markdown"], body["usage"]["credits"], "credits")
อ่านหนึ่งหน้าเสียเท่าไร#
ทุกหน้าคิด 6.5 เครดิตเท่ากัน ไม่ว่าบนหน้านั้นจะมีอะไร หนึ่งหน้าคือหนึ่งหน้าของ PDF หรือรูปภาพหนึ่งไฟล์ นับจากตัวเอกสารก่อนตัดเครดิต
- เครดิตต่อหน้า
- 6.5
- หนึ่งคำขอเต็ม 50 หน้า
- $0.33325 เครดิต
- 1,000 หน้า
- $6.506,500 เครดิต
เครดิตใช้ร่วมกันได้ทุก API ของ Paxa
เริ่มด้วยเครดิตฟรี 100 เครดิต อ่านได้ 15 หน้า ไม่ต้องผูกบัตร
ดูแพ็กเกจและการเติมเครดิตคำถามที่พบบ่อย ตอบตรง ๆ#
อ่านไฟล์อะไรได้บ้าง
PDF, PNG, JPEG และ WebP โดยตรวจรูปแบบจากไบต์ของไฟล์เอง หนึ่งคำขอรับได้สูงสุด 50 หน้าและ 10 MiB หลังถอดรหัส รูปภาพนับเป็นหนึ่งหน้า PDF ที่เข้ารหัสจะถูกปฏิเสธก่อนตัดเครดิต
คิดค่าบริการอย่างไร
6.5 เครดิตต่อหน้า ตรงตัว ระบบอ่านจำนวนหน้าจากตัวเอกสารก่อนตัดเครดิต ตัดเครดิตก่อนเริ่มอ่าน และคืนให้อัตโนมัติเมื่ออ่านไม่สำเร็จ
ผลลัพธ์สองแบบต่างกันอย่างไร
ทั้งสองแบบให้เนื้อหาการอ่านเดียวกัน "markdown" ซึ่งเป็นค่าเริ่มต้น คืนแต่ละหน้าเป็น Markdown แบบ GitHub ส่วน "structured" คืนบล็อกตามชนิด (heading, paragraph, list, table, figure) สำหรับงานที่ส่งผลการอ่านเข้าไปป์ไลน์ต่อ
ความแม่นยำเป็นอย่างไร
เราไม่เผยแพร่ตัวเลขความแม่นยำของตัวเองจนกว่าผลทดสอบของแล็บจะเปิดเผยต่อสาธารณะ Playground อ่านเอกสารของคุณเองได้โดยไม่ต้องตั้งค่า ซึ่งตอบคำถามนี้ได้ดีกว่าตัวเลขเดี่ยว ๆ
อ่านภาษาอะไรได้
ภาษาไทยเป็นหลัก และภาษาอื่นอ่านตามที่พิมพ์ รวมถึงหน้าที่ผสมไทยกับอังกฤษและผสมตัวเลขไทยกับอารบิก ส่วนผสมแบบนี้คือสิ่งที่โมเดลถูกสร้างมาเพื่ออ่าน
บันทึกการเปลี่ยนแปลง#
Document Extraction เติมสคีมาจากหน้าเอกสาร
Paxa Document Extraction (paxa-doc-extract-v1) อ่านไฟล์ PDF หรือรูปภาพผ่าน POST /v1/extract แล้วคืนสคีมาของฟิลด์ที่ระบุชนิดซึ่งคุณส่งมาโดยเติมค่าครบ ทุกค่าคือข้อความที่พิมพ์อยู่บนหน้ากระดาษ หรือ null พร้อมเหตุผล คิด 13 เครดิตต่อหน้าสำหรับสคีมาไม่เกิน 50 ฟิลด์ย่อย และ 19.5 เครดิตสำหรับสคีมาที่ใหญ่กว่า รวมการอ่านเอกสารแล้ว ตัดเครดิตก่อนอ่าน และคืนให้อัตโนมัติเมื่อคำขอล้มเหลว
เปิดให้บริการ API OCR
Paxa OCR Lite (paxa-ocr-lite-v1) อ่านไฟล์ PDF และรูปภาพผ่าน POST /v1/ocr คืนผลเป็น Markdown หรือบล็อกโครงสร้าง คิด 6.5 เครดิตต่อหน้า ตัดเครดิตก่อนอ่าน และคืนให้อัตโนมัติเมื่อคำขอล้มเหลว
ลอง OCR กับเอกสารแรกของคุณ
เริ่มด้วยเครดิตฟรี 100 เครดิต เพียงพอสำหรับอ่าน 15 หน้า ไม่ต้องผูกบัตร
เริ่มใช้ฟรีบทความที่เกี่ยวข้อง
งานวิจัยเบื้องหลัง
ผลิตภัณฑ์อื่นจากแล็บ