space ocr
가이드아티클요금문서
comparison

Amazon Textract 대안을 찾고 계신가요?

언제 Amazon Textract 대안을 골라야 하는지 공정하고 사실 검증된 시각으로 짚어봅니다 — 값마다 붙는 출처 좌표, 무엇을 확인할지 알려주는 검토 목록, 한중일(일본어/한국어/중국어) 지원, 조회 가능한 시트, 균일 가격, 그리고 AWS 설정 불필요까지.

8 분 분량· 2026-08-31

Amazon Textract는 뛰어나고 성숙한 OCR 서비스로, 영어 문서를 대량으로 처리하는 AWS 네이티브 파이프라인이라면 무난한 기본 선택지입니다. 하지만 "뛰어나다"는 것과 "당신의 업무에 딱 맞는다"는 것은 별개이고, 다음과 같은 현실적인 제약들 때문에 사람들은 Amazon Textract 대안을 찾게 됩니다.

  • 한중일(CJK)은 지원 언어 목록에 없습니다. Textract의 인쇄 텍스트·양식·표 기능이 다루는 건 라틴 문자권 언어(영어, 프랑스어, 독일어, 이탈리아어, 포르투갈어, 스페인어)이고, 손글씨, 영수증·청구서(AnalyzeExpense), 신분증(AnalyzeID), Queries는 영어 전용으로 명시돼 있습니다. 일본어, 한국어, 중국어는 그 목록에 없습니다.
  • AWS의 무게. 쓰려면 AWS 계정, IAM, SDK, 지원 리전, 그리고 대개 S3까지 갖춰야 합니다 — 그저 이미지 한 장 보내고 필드만 받고 싶은 입장에선 적지 않은 진입 비용이죠.
  • 기능마다 쌓이는 페이지당 요금. 페이지 단위로 매기는데, 어떤 기능을 부르느냐(일반 텍스트, 양식, 표, queries, expense)에 따라 단가가 달라지고, 여러 기능을 같이 쓰면 비용이 그만큼 불어납니다.
  • 값 단위 검수는 별도 서비스입니다. Textract는 신뢰도 점수를 돌려주고, 사람이 들여다보는 검수는 Amazon Augmented AI(A2I)로 직접 붙여야 합니다.

이 글은 공정하게 비교해 봅니다 — Textract가 강한 대목은 어디이고, space-ocr 같은 대안이 어디에 맞는지.

Textract 대안을 따져볼 때 비교할 점

두 도구 모두 문서를 읽어 좌표가 붙은 정형 데이터를 돌려줍니다. 갈리는 부분은 값을 어떻게 검증하느냐, 어떤 언어를 다루느냐, 데이터가 도구 밖으로 어떻게 나오느냐, 그리고 시작하는 데 무엇이 드느냐입니다. 아래 표에 양쪽의 검증된 사실을 정리해 두었으니, 본인 업무에 맞춰 체크리스트로 써 보세요.

기능Amazon Textractspace-ocr
바운딩 박스있음 — 블록마다 0–1로 정규화된 BoundingBoxPolygon있음 — 값마다 box({ xmin, ymin, xmax, ymax })와 네 점짜리 quad, 둘 다 0–1000 정규화
값 단위 검증 신호블록마다 인식 신뢰도(%)판정인 verified, 걸린 사유를 순위대로 담은 review.reasons, 근거인 evidence(text_match·source·match_ratio)
값 단위 검수 UI 내장Textract 자체에는 없음. 사람 검수는 별도 서비스(Amazon A2I)앱에 내장 — 셀을 클릭하면 원본에서 해당 영역이 정확히 밝게 표시됨
영수증 / 청구서 필드AnalyzeExpense(별도 API), 영어 전용원하는 항목을 fields로 직접 선언하거나, autoFields로 스키마를 제안받기 — 엔진이 읽는 언어라면 무엇이든
품목(라인 아이템)AnalyzeExpense 품목(ITEM / QUANTITY / PRICE)children을 가진 array 필드, 셀마다 자기 경로(items[0].price)로 조회
일본어 / 한국어 / 중국어목록에 없음(라틴 문자 6개 언어. Expense/ID/손글씨는 영어 전용)엔진 하나가 일본어, 한국어, 중국어, 영어 등을 자동 감지
조회 가능한 저장소결과를 직접 저장하고 직접 조회저장된 시트를 GET /view(where, sort, select)로 서버 측에서 조회 — OCR 재실행 없음, 추가 비용 없음
CSV 내보내기JSON에서 직접 만들어야 함클릭 한 번 — UTF-8 BOM, 품목 펼쳐짐
가격 모델페이지당, 기능별 과금. 기능을 합치면 비용이 쌓임. 게다가 AWS 계정 위에서균일 이미지당 ₩100. 무료 플랜 월 100크레딧, 카드 불필요. Pro 월 ₩69,800
설정AWS 계정 + IAM + SDK, 리전 서비스, 대개 S3Bearer 키로 HTTPS 한 번 호출. 같은 API를 AI 에이전트용 MCP 엔드포인트로도 열어 둡니다
✓ Verified

"검증 가능"이란: 좌표를 모델의 말만 믿고 가져오지 않는다는 뜻입니다. 언어 모델은 각 필드의 텍스트와, 어떤 단어 토큰을 썼는지에 대한 힌트는 내놓지만, 박스 자체는 결코 만들어내지 않습니다. 그러면 엔진이 그 텍스트를 비전 OCR이 페이지에서 실제로 검출한 글자들과 글자 단위로 맞춰 봅니다. 그래서 박스는 그 글자들이 발견된 실제 픽셀 위에 얹힙니다. 대조가 돈 값에는 얼마나 맞춰졌는지를 나타내는 evidence.match_ratio가 붙고(0.85 이상이면 확실히 매칭된 것으로 봅니다), 대조할 수 없었던 경우에는 그 키 자체가 없습니다. 모델이 주는 토큰 힌트에는 잡음이 섞일 수 있어 — 같은 행이 반복되면 토큰을 서로 헷갈리기도 합니다 — 그래서 무작정 믿지 않고 열·행 일관성 검사로 따로 확인합니다. 요점은 AI가 절대 안 틀린다는 게 아닙니다. 두 장치가 같은 오독에 합의할 수도 있습니다. 요점은 조용히 틀린 값이 드러난다는 데 있습니다 — 셀의 review 사유로, 그리고 data.review.flagged의 한 줄로.

Textract가 더 나은 선택인 경우

공정하게 비교하려면 기존 강자가 앞서는 대목도 짚어야겠죠. 다음에 해당한다면 Textract를 고르세요.

  • 이미 AWS에 깊이 자리 잡고 있어서, 이미 굴리고 있는 IAM과 SNS와 함께 S3 → Lambda → Textract로 바로 이어 붙일 OCR이 필요할 때.
  • 문서가 영어 / 라틴 문자이고, 아주 큰 규모로 양식, 표, queries를 처리해야 할 때.
  • 자체 문서 유형으로 학습시킨 커스텀 어댑터나, AWS 네이티브 수준의 컴플라이언스·데이터 레지던시 보장이 필요할 때.

여기에 해당한다면 Textract가 잘 맞고, 대안으로 갈아탄들 얻을 게 별로 없습니다.

오히려 space-ocr가 맞는 경우

Textract 대안은 다음 중 하나라도 중요하다면 제값을 합니다.

  • 일본어, 한국어, 중국어 문서를 다룰 때. space-ocr는 한중일과 라틴 문자를 엔진 하나에서 자동 언어 감지로 처리합니다 — 따로 지정할 언어 파라미터가 없습니다.
  • 그냥 믿는 게 아니라 검증하고 싶을 때. 업무 데이터는 data.values에 담기고, 같은 경로로 data.cells를 조회하면 box·quad·판정인 verified·사유인 review·근거인 evidence가 함께 나옵니다. 확인할 목록은 data.review.flagged 하나이고, 앱에서 셀을 클릭하면 그 값을 읽어낸 자리가 정확히 표시됩니다.
  • 저장소를 직접 마련하고 싶지 않을 때. 결과는 서버 측에서 조회(GET /view)하고 클릭 한 번으로 CSV로 내보낼 수 있는 시트에 쌓입니다 — 데이터베이스도, AWS 계정도 필요 없습니다.
  • 요금이 예측 가능했으면 할 때. 이미지당 균일 ₩100, 신용카드 없이 월 100크레딧의 무료 플랜, 그리고 월 ₩69,800의 Pro 플랜 — 기능별·페이지별로 요금이 쌓일 일이 없습니다.
  • AI 에이전트로 개발할 때. 같은 API를 https://mcp.space-ocr.com/mcp MCP 엔드포인트로 열어 두었습니다 — claude mcp add --transport http 한 줄, 또는 mcp.json에 URL과 Bearer 헤더 한 벌이면 됩니다. 설치할 것은 없습니다.

호출은 통째로 HTTP 요청 한 번이면 됩니다 — SDK도 필요 없습니다. 엔진은 래스터 이미지를 읽으므로 PDF는 페이지를 이미지로 변환해 보냅니다(웹 앱에서는 그 변환을 알아서 처리합니다).

청구서 추출 — 요청 한 번, Bearer 키, AWS 불필요
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
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",
    "fields": [
      { "name": "invoice_no", "type": "string", "required": true },
      { "name": "date",       "type": "date" },
      { "name": "items",      "type": "array",
        "children": [
          { "name": "name",  "type": "string" },
          { "name": "qty",   "type": "string" },
          { "name": "price", "type": "string" }
        ] },
      { "name": "total",      "type": "number", "required": true }
    ]
  }'

값은 보낸 스키마 그대로의 모양으로 data.values에 돌아옵니다. 그 모양의 각 경로 — total, items[0].price — 가 그대로 data.cells의 키가 되고, 거기에 box(0–1000 격자 위의 { xmin, ymin, xmax, ymax })와 비스듬히 찍힌 사진을 따라 기우는 네 점짜리 quad, 그리고 verified·review·evidence가 함께 놓입니다. 좌표의 기준이 되는 지면 크기는 data.image가 알려 줍니다. 확인할 것은 data.review.flagged 한 곳에 모이고, 항목마다 pathreasons가 짝을 이룹니다. datetotal에 스칼라 타입을 선언했으므로 해석된 값이 성긴 data.normalized 트리로 값 옆에 함께 옵니다. 좌표 모델 전체는 바운딩 박스를 제공하는 OCR API에서, 비동기·웹훅 기반 쪽은 청구서 데이터 추출 API 가이드에서 확인하세요.

셀을 클릭하면 해당 영역이 원본 이미지 위에서 밝게 표시됩니다 — Textract가 별도 서비스에 떠넘기는 바로 그 값 단위 검증입니다.

언어: 가장 분명한 갈림길

문서가 일본어 영수증, 한국어 청구서, 중국어 양식이라면 대개 이 점이 결정타가 됩니다. Textract의 인쇄 텍스트·양식·표 기능은 라틴 문자 6개 언어를 지원하고, 손글씨, AnalyzeExpense, AnalyzeID, Queries 기능은 영어 전용입니다 — 일본어, 한국어, 중국어는 지원 목록에 없습니다. 반면 space-ocr는 여러 문자 체계(전각·반각 문자, 하이픈 변형, 한중일 띄어쓰기, 세로쓰기 한자, 뒤섞인 문자)를 엔진 하나에서 정규화하고, 따로 힌트를 넘기지 않아도 언어를 알아서 감지합니다.

가격: 기능별 페이지 과금 vs. 균일한 이미지당 단가

Textract는 기능에 따라 단가가 달라지는 페이지당 사용량 기반 요금을 씁니다 — 일반 텍스트 검출은 양식, 표, queries, AnalyzeExpense와 과금 방식이 다르고, 한 페이지에서 여러 기능을 부르면 비용이 쌓이며 — 이 모든 게 AWS 계정 위에 얹힙니다. 반면 space-ocr는 필드를 몇 개 뽑든 균일 이미지당 ₩100이고, 신용카드 없이 월 100크레딧을 주는 무료 플랜과 1,100크레딧에 시트 무제한, 100 GB 저장 공간이 딸린 월 ₩69,800의 Pro가 있습니다. 추출에 실패하면 과금되지 않고, 저장된 시트를 조회(GET /view)하는 것도 무료입니다.

space-ocr를 Textract 대안으로 써보는 방법

  1. 키 받기 — AWS 계정 불필요
    무료 플랜(신용카드 없이 월 100크레딧)에 가입하고 spocr_ API 키를 받으세요. 설정할 IAM도, 리전도, S3도 없습니다.
  2. 이미지 보내기
    문서를 imageType 'url' 또는 'base64'로 /ocr/fields에 POST 하세요. 엔진은 래스터 이미지를 읽으므로 PDF는 페이지를 이미지로 변환해 보내시면 되고, 언어는 알아서 감지합니다.
  3. 필드를 선언하기
    원하는 항목을 fields에 나열하세요 — 각각 name과 type을 주고, 품목에는 children이 달린 array 필드를 씁니다. 직접 쓰기 번거로우면 autoFields를 true로 두어 모델이 문서에서 스키마를 제안하게 할 수 있습니다.
  4. 값마다 검증하기
    경로마다 data.cells[path]를 읽으세요 — 읽어낸 영역은 box와 quad, 판정은 verified, 사유는 review, 근거는 evidence입니다. 검토 목록은 점수 임계값이 아니라 data.review.flagged에서 만드세요. 앱에서 셀을 클릭하면 그 값을 읽어낸 자리가 정확히 표시됩니다.
  5. 조회하거나 내보내기 — 따로 만들 저장소 없음
    /upload로 이미지를 시트에 넣고, GET /view(where, sort, select)로 서버 측에서 조회하거나, 품목이 펼쳐진 CSV를 내려받으세요 — 데이터베이스도, OCR 재실행 비용도 없습니다.
무료로 쓸 수 있는 Amazon Textract 대안이 있나요?
space-ocr는 신용카드도 AWS 계정도 없이 월 100크레딧을 주는 무료 플랜이 있습니다. 그 이상은 이미지당 균일 ₩100이고, Pro는 1,100크레딧에 월 ₩69,800입니다. Textract의 기능별·페이지당 방식과 달리, 추출하는 필드가 몇 개든 가격은 그대로이고 추출에 실패하면 과금되지 않습니다.
Textract가 목록에 올리지 않은 일본어, 한국어, 중국어를 space-ocr는 지원하나요?
네. space-ocr는 일본어, 한국어, 중국어, 영어를 비롯한 여러 문자 체계를 엔진 하나에서 자동 언어 감지로 처리합니다 — 따로 지정할 언어 파라미터가 없습니다. Amazon Textract의 인쇄 텍스트/양식/표 기능은 라틴 문자 6개 언어만 지원하고 손글씨, AnalyzeExpense, AnalyzeID, Queries 기능은 영어 전용이라, 한중일 문서는 대안을 찾게 되는 흔한 이유입니다.
OCR이 추출한 내용을 어떻게 검증할 수 있나요?
값마다 자기 경로로 data.cells에 항목이 잡힙니다. 읽어낸 영역을 가리키는 box와 네 점짜리 quad, 판정인 verified, 무언가 걸렸을 때의 사유를 담은 review, 그리고 text_match·source·match_ratio 같은 evidence가 들어 있습니다. verified는 review의 거울이라, 사유가 하나라도 서면 false, 대조가 돌고 아무것도 안 걸리면 true, 대조할 대상이 없었으면 null입니다. 확인 목록은 data.review.flagged이고, 좌표를 세우지 못한 값은 nobox 사유로, 필수인데 비어서 돌아온 값은 missing 사유로 여기에 나타납니다. 앱에서는 아무 셀이나 클릭하면 그 값을 읽어낸 자리가 정확히 표시됩니다. 두 장치가 같은 오독에 합의할 수도 있으니 업무 규칙 검사는 그대로 두시는 편이 좋습니다. Textract에서는 인식 신뢰도 점수가 나오고, 값 단위로 사람이 검수하는 일은 별도 서비스인 Amazon Augmented AI(A2I)가 맡습니다.
space-ocr를 쓰려면 AWS 계정이 필요한가요?
아니요. space-ocr는 https://api.space-ocr.com 에 있는 독립형 HTTP REST API입니다. 요청마다 Bearer 키 하나로 인증하면 됩니다(IAM도, 리전 선택도, S3도 없습니다). 같은 API를 https://mcp.space-ocr.com/mcp MCP 엔드포인트로도 열어 두어서 AI 에이전트가 툴로 부를 수 있습니다 — claude mcp add --transport http 한 줄이나 mcp.json에 URL과 Bearer 헤더 한 벌이면 되고, 설치할 것은 없습니다. 이미지를 URL이나 base64로 보내면 정형 필드가 바로 응답에 실려 돌아옵니다.
space-ocr가 AnalyzeExpense처럼 영수증·청구서 품목을 추출할 수 있나요?
네. 품목을 'array' 타입 필드로 요청하면서 그 children에 한 행(품명, 수량, 단가 등)을 기술하거나, autoFields로 문서에서 스키마를 제안받으면 됩니다. 셀마다 data.cells에서 자기 경로(items[0].price)를 갖고 box와 quad를 그대로 가지고 있어서 줄바꿈되거나 병합된 품목도 추적할 수 있고, 행 경로 items[0]은 그 행 전체의 union box입니다. AnalyzeExpense와 달리 영어에 묶이지도 않습니다.
관련 글