在找 Amazon Textract 的替代方案嗎?
公允、經過事實查核地探討何時該選擇 Amazon Textract 的替代方案——可驗證的逐值座標、CJK(日文/韓文/中文)支援、可查詢的表格、單一固定定價、免設定 AWS——並以即時 Demo 加以證明。
Amazon Textract 是一個能力出色、相當成熟的 OCR 服務,對於一條以 AWS 為核心、大規模處理英文文件的流水線來說,把它當作預設選擇是合理的。但「能力出色」和「適合你這份工作」並不是同一件事,而有幾個實際的限制,會讓人開始尋找 Amazon Textract 的替代方案:
- 不支援 CJK。 Textract 的印刷文字、表單和表格功能涵蓋一組拉丁字母語言(英文、法文、德文、義大利文、葡萄牙文、西班牙文);手寫、發票/收據(AnalyzeExpense)、證件(AnalyzeID)和 Queries 則僅限英文。日文、韓文和中文都不在清單上。
- AWS 的引力。 用它就意味著要有一個 AWS 帳號、IAM、SDK、一個有支援的區域,通常還有 S3——如果你只是想送一張影像、拿回欄位,這就是一筆實實在在的設定成本。
- 按功能堆疊的單頁計價。 你按頁付費,費率取決於你呼叫的是哪個功能(純文字 vs. 表單 vs. 表格 vs. queries vs. expense),而把多個功能組合起來會讓成本疊加。
- 沒有內建的逐值審核 UI。 Textract 回傳信心分數;人在環中的審核是一個另外的服務(Amazon Augmented AI/A2I),要你自己接起來。
這份指南是一份公允的比較——Textract 強在哪、以及像 space-ocr 這樣的替代方案適合用在哪——而且它一開頭就用一個你真的能親自核對的即時 Demo,而不是一張要你照單全收的功能對照表。
先看證據:一個你可以核對的擷取結果
大多數 OCR 廠商最不願意攤在你面前的一件事,就是一個每個值都能指回它在頁面上原始位置的擷取結果。把滑鼠移到下方任一欄位上——收據上框起來的地方,就是這個值被讀出來的位置,而每個值都帶著一個比對命中率(match ratio),說明它有多少真的在頁面上被找到了。

Every value carries a verified on-page location — bbox + 4-point vertices + match_ratio — on a 0–1000 normalized grid (0,0 top-left → 1000,1000 bottom-right), the same shape the live API returns. Hover a field to trace it back to the pixels it came from.
評估 Textract 替代方案時該比較什麼
這兩個工具都會讀文件,並回傳帶座標的結構化資料。差別在於:你如何驗證一個值、哪些語言被涵蓋、資料如何離開工具,以及起步要花多少成本。下表為兩者列出經過驗證的事實——把它當成衡量你自己工作負載的檢查清單。
| 能力 | Amazon Textract | space-ocr |
|---|---|---|
| 定界框 | 有——每個 block 一個正規化 0–1 的 BoundingBox 加一個 Polygon | 有——每個值一個 0–1000 正規化的 bbox 加有方向的 vertices |
| 逐值信心 | 每個 block 一個辨識信心(%) | match_ratio——該值的字元真正在頁面上被定位到的比例——再加一個 bbox_source 標籤 |
| 內建逐值審核 UI | Textract 本身沒有;人工審核是另一個服務(Amazon A2I) | 內建於 App——點一個儲存格,它在原圖上的確切區域就會亮起來 |
| 收據/發票欄位 | AnalyzeExpense(另一個 API),僅限英文 | templateId receipt/invoice 或你自訂的 fields,任何支援的語言皆可 |
| 明細項目 | AnalyzeExpense 的明細項目(ITEM/QUANTITY/PRICE) | 一個帶 children 的 array 欄位,每個儲存格各自定位 |
| 日文/韓文/中文 | 未列入(6 種拉丁字母語言;Expense/ID/手寫僅限英文) | 一個引擎自動偵測日文、韓文、中文、英文等等 |
| 可查詢的儲存 | 結果由你自己儲存與查詢 | 已儲存的表格可透過 GET /view(where、sort、select)在伺服器端查詢——不重跑 OCR,也不另外收費 |
| CSV 匯出 | 你自己從 JSON 兜出來 | 一鍵——UTF-8 BOM,明細項目已展開 |
| 計價模式 | 按頁、按功能計費;組合功能會疊加成本;還要再加上一個 AWS 帳號 | 單一固定 每張影像 ¥10(約 $0.05);免費方案每月 100 次掃描、免綁卡;Pro 每月 $39 |
| 設定 | AWS 帳號 + IAM + SDK,區域性服務,通常還有 S3 | 一個帶 Bearer 金鑰的 HTTPS 呼叫;另有 Claude Code 外掛 |
關於「可驗證」:這些座標不是聽模型一面之詞得來的。 語言模型只回傳每個欄位的文字——外加它用到了哪些 word token 的提示——但從不自己給出那些框。引擎接著拿這段文字,去跟視覺 OCR 在頁面上實際偵測到的符號做字元層級的比對,於是框會落在這些字元真正被找到的像素上,而每個值也會得到一個 match_ratio,代表它被定位到的程度(一個欄位在 ≥ 0.85 時被視為高信心命中)。模型給的 token 提示可能有雜訊——它有時會在重複的列之間把提示張冠李戴——所以系統用欄一致性與列一致性檢查來驗證它們,而不是盲目相信。重點不在於 AI 不會出錯——而在於每個值都被拿回頁面上重新核對過,並附上一個分數說明它比對得有多好。
Textract 在哪些情況下是更好的選擇
一場公允的比較,會點名既有者勝出的地方。以下情況請選 Textract:
- 你已經深耕 AWS,想要一個能直接接進 S3 → Lambda → Textract、搭配你既有的 IAM 和 SNS 的 OCR。
- 你的文件是英文/拉丁字母,而且你需要在極大規模下處理表單、表格和 queries。
- 你想要針對自己文件類型訓練的自訂轉接器(adapter),或是 AWS 原生的合規與資料落地保證。
如果這就是你,Textract 非常合適,換成替代方案能帶給你的好處有限。
space-ocr 反而適合用在哪
當下列其中一項或多項對你很重要時,Textract 的替代方案就有了用武之地:
- 你要處理日文、韓文或中文文件。 space-ocr 用同一個引擎跑 CJK 和拉丁字母,並自動偵測語言——不必設定任何語言參數。
- 你想驗證,而不只是相信。 每個值都連同它在頁面上的框和一個
match_ratio一起回傳,點一個儲存格就會精確高亮它被讀出來的位置——稽核是內建的,而不是另一個要你自己接起來的服務。 - 你不想自己架設儲存。 結果落在一張你可以在伺服器端查詢(
GET /view)並一鍵匯出成 CSV 的表格裡——不用資料庫,也不用 AWS 帳號。 - 你想要可預估的定價。 單一固定每張影像 ¥10、每月 100 次掃描、免綁信用卡的免費方案,以及每月 $39 的 Pro 方案——不會按功能堆疊頁數計費。
- 你用 Claude 來打造東西。 有一個兩行就裝好的 Claude Code 外掛,以及一個零依賴的 Python 用戶端。
整個呼叫就是一個 HTTP request——不用 SDK,引擎也不用對 PDF 做前處理(它吃的是點陣影像:JPEG、PNG、GIF、BMP、TIFF、WebP)。
curl -s https://api.space-ocr.com/ocr/fields \
-H "Authorization: Bearer $SPACE_OCR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image": "https://example.com/invoice.jpg",
"imageType": "url",
"templateId": "invoice"
}'每個值都會帶著一個 bbox(0–1000 網格上的 { xmin, ymin, xmax, ymax })、四個 vertices(一個會跟著手機歪斜照片走的有方向定界框)、一個 match_ratio,以及一個 bbox_source 一起回來。完整的座標模型,請看 一個帶定界框的 OCR API;至於非同步、以 Webhook 驅動的那一面,請看 發票資料擷取 API 指南。
語言:最清楚的分界線
如果你的文件是日文收據、韓文發票或中文表單,這通常就是決定性因素。Textract 的印刷文字、表單和表格功能支援六種拉丁字母語言,而它的手寫、AnalyzeExpense、AnalyzeID 和 Queries 功能僅限英文——日文、韓文和中文都不在支援清單上。space-ocr 在同一個引擎裡把多種文字正規化(全形與半形字元、連字號變體、CJK 間距、直書漢字、混排文字),並自動偵測語言,不必傳任何提示。
定價:按功能計頁 vs. 單張固定費率
Textract 採用按頁、按用量的計價,費率取決於功能——純文字偵測的計費方式不同於表單、表格、queries 或 AnalyzeExpense,而在同一頁上呼叫多個功能會讓成本疊加——這一切還要再加上一個 AWS 帳號。space-ocr 則是單一固定 每張影像 ¥10(約 $0.05),無論你拉出多少欄位都一樣,並有一個每月 100 次掃描、免綁信用卡的免費方案,以及每月 $39 的 Pro 方案,內含 1,100 次掃描、團隊共享,和 100 GB 儲存空間。擷取失敗不收費,而查詢已儲存的表格(GET /view)是免費的。
如何把 space-ocr 當作 Textract 替代方案來試
- 拿一把金鑰——免 AWS 帳號註冊免費方案(每月 100 次掃描、免綁信用卡),取得你的 spocr_ API 金鑰。不必設定 IAM、區域或 S3。
- 送出影像把文件 POST 到 /ocr/fields,imageType 用「url」或「base64」。引擎吃的是點陣影像(JPEG、PNG、GIF、BMP、TIFF、WebP);語言會自動偵測。
- 用範本或你自己的欄位常見情況傳 templateId「receipt」或「invoice」,或提供你自己的 fields——包括一個帶 children 的 array 欄位來處理明細項目。
- 驗證每個值讀取每個值的 bbox、vertices、match_ratio 和 bbox_source。在 App 裡,點一個儲存格就能精確高亮它被讀出來的位置;match_ratio 低於 0.85 會把一個值標記出來,值得再看仔細一點。
- 查詢或匯出——不必自建儲存用 /upload 把影像推進一張表格,用 GET /view(where、sort、select)在伺服器端查詢,或下載帶有展開明細項目的 CSV——不用資料庫,也不收重跑 OCR 的費用。