OCR / Structify

PDF와 이미지를 스키마대로 채운 JSON으로.

필드마다 값, 신뢰도, 근거 위치까지 돌려줍니다.

미리보기: 허용 목록 조직부터 엽니다

  • 필드마다 신뢰도

    모델, OCR, 합산 신뢰도가 필드마다 옵니다.

  • 필드마다 근거 블록

    값을 읽은 페이지, 블록, 좌표가 옵니다.

  • 결과가 데이터로 쌓임

    처리 결과가 행으로 남아 다시 검색합니다.

문서 파이프라인은 Schift가 운영합니다

  1. 직접 운영하면: OCR 벤더 연동

    Schift로: API 키 하나

  2. 직접 운영하면: 페이지 분할과 동시 호출

    Schift로: 병렬 추출, 자동 병합

  3. 직접 운영하면: 스키마 검증과 인용 검사

    Schift로: 실제 블록만 근거로

  4. 직접 운영하면: 429 백오프와 재처리

    Schift로: SDK 자동 재시도

  5. 직접 운영하면: 결과 테이블과 적재 잡

    Schift로: 행으로 쌓이고 바로 검색

API 키 하나로 붙입니다

npm install @schift-io/sdk

// npm install @schift-io/[email protected]
import { readFile } from "node:fs/promises";
import { StructifyClient } from "@schift-io/sdk/structify";

const client = new StructifyClient({
  apiKey: process.env.SCHIFT_API_KEY,
  gatewayUrl: "https://gw.schift.io",
});

const pdf = await readFile("invoice.pdf");
const ocr = await client.ocr(pdf, { contentType: "application/pdf" });

const result = await client.structify({
  schema: {
    type: "object",
    properties: {
      vendor: { type: ["string", "null"] },
      total: { type: ["number", "null"] },
    },
    required: ["vendor", "total"],
    additionalProperties: false,
  },
  ocr, // OCR 결과 재사용
});

const total = result.structured.fields.total;
const confidence = result.structured.field_confidence.total?.combined;
const evidence = result.structured.evidence.total;
curl https://gw.schift.io/v1/ocr \
  -H "Authorization: Bearer $SCHIFT_API_KEY" \
  -F "[email protected];type=application/pdf"

curl https://gw.schift.io/v1/structify \
  -H "Authorization: Bearer $SCHIFT_API_KEY" \
  -H "Content-Type: application/json" \
  -d @- <<EOF
{
  "schema": {
    "type": "object",
    "properties": {
      "vendor": { "type": ["string", "null"] },
      "total":  { "type": ["number", "null"] }
    },
    "required": ["vendor", "total"],
    "additionalProperties": false
  },
  "content_type": "application/pdf",
  "file_base64": "$(base64 < invoice.pdf | tr -d '\n')"
}
EOF

POST /v1/structify → 200

{
  "document_id": "…",
  "structured": {
    "fields": { "vendor": "한빛상사", "total": 12000 },
    "field_confidence": {
      "total": {
        "model": 0.90, "ocr_min": 0.91, "combined": 0.90
      }
    },
    "evidence": {
      "total": [{ "page_no": 1, "block_indices": [4] }]
    }
  },
  "raw": { "pages": [ … ], "usage": { "pages": 1 } },
  "usage": { "input_tokens": …, "output_tokens": … }
}

Structify 앱

받은 견적서와 발주서를
원본과 대조한 표로.

콘솔에 문서를 올리면 품목과 금액을 정리하고, 원본과 대조한 뒤 표로 저장합니다.

내 문서로 확인하기

Schift Context 구독에 포함

설명용 예시, 원본에서 검토할 행으로
견적서볼트 M8, 120개 × 800원
품목
볼트 M8
수량
120
공급가액
₩96,000

01 / 원본에서 확인으로

옮겨 적은 금액, 원본을 또 찾고 있나요?

견적서의 수량 하나가 의심스러워 PDF를 다시 열고, 해당 줄을 찾습니다. Schift는 읽어낸 글과 원본을 나란히 보여줍니다. 위치 정보가 있는 값은 원본의 표시 영역에서 바로 대조합니다.

인식 신뢰도는 글자를 읽은 정도입니다. 거래 내용의 정확성은 원본과 대조해 확인합니다.

내 문서로 확인하기

문서 업로드 → 자동 정리 → 원본과 대조

설명용 예시, 가상의 견적서와 인식 영역
HANBIT PARTS2026.09.03

견 적 서

공급자, 한빛부품

스테인리스 볼트 M8120 × ₩800
공급가액₩96,000

부가세 별도, 견적 유효기간 14일

1 / 1

선택한 원본 영역

스테인리스 볼트 M8
120 × 800
영역 위치
1쪽, 품목 내역
인식 신뢰도
98% (예시)
↖ 원본의 표시 영역과 대조

위치나 신뢰도 정보가 없으면, 제공된 원문으로 확인합니다.

02 / 읽은 내용을 업무 항목으로

복사는 했는데, 엑셀 칸은 또 채우나요?

문서에서 글자를 복사해도 거래처, 품목, 수량을 다시 나눠 넣어야 합니다. Schift가 문서에 맞는 항목을 찾아 정리합니다. 필요한 항목은 결과에서 바꿀 수 있습니다. 미리 보며 잘못된 값은 고친 뒤 저장합니다.

내 문서로 확인하기

문서 업로드 → 자동 정리 → 원본과 대조

설명용 예시, 같은 내용을 목적에 맞게 정리한 세 가지 결과

항목과 값 KV

거래처
한빛부품
공급가액
₩96,000

우리 업무의 항목

품목명
볼트 M8
검수 담당자
추가 확인 필요

품목별 표

품목수량
볼트 M8120

원본에 없는 값은 확인 대상으로 남깁니다. 검토한 결과를 저장한 뒤 표와 CSV에서 사용합니다.

월 무료 제공량과 처리 쪽수별 요금

쓴 쪽수만큼만 냅니다.

  • OCR 페이지

    매월 무료100쪽매월 무료
    사용한 만큼$0.02쪽당
    월 약정10만 쪽, $1,333/월$0.0133/쪽
  • Structify 추출

    매월 무료100쪽매월 무료
    사용한 만큼+$0.015쪽당, 파일 업로드 시 OCR 포함 $0.035 / 쪽
전체 가격표 (OCR / Structify)

필드 하나까지 근거가 붙는 추출

각 사 공식 문서 기준입니다.

SchiftLlamaExtractReductoAWS TextractMistral OCR
필드마다 신뢰도, 기본 응답모델, OCR, 합산 3종옵션, 켜면 느려짐citations 켤 때Queries 답마다OCR 블록 단위
필드마다 근거 위치, 기본 응답페이지, 블록, 좌표옵션, 켜면 느려짐설정 시, 청킹 해제Queries 답마다Annotation 문서 미기재
내 JSON Schema로 추출JSON Schema 그대로JSON Schema 부분 집합스키마 또는 프롬프트자연어 질문JSON Schema
매월 채워지는 무료량OCR 100쪽 + 추출 100쪽매월 10,000 크레딧첫 $150 사용분신규 고객 3개월공개 가격표 미기재
쪽 단위 정가OCR, 추출 각각 쪽당모드별 1–45 크레딧1,000쪽 단위기능별 쪽당1,000쪽 단위
출처 (확인 2026-09-27)

자주 묻는 질문

OCR만 따로 쓸 수 있나요?

네. OCR 결과를 넘기면 추출 쪽수만 계산됩니다.

신뢰도는 어떻게 쓰나요?

낮은 필드만 골라 사람이 검토합니다.

큰 문서도 되나요?

25MB 넘는 문서는 비동기 작업으로 처리합니다.

어떻게 써 볼 수 있나요?

데모 신청에서 자료 종류와 필요한 추출 항목을 받습니다. 제공 범위를 확인한 뒤 이용 방법을 안내합니다.

다음 문서 한 장으로 시작합니다.

자료 종류와 필요한 추출 항목부터 함께 확인합니다.

SDK와 다른 문서 작업