API 문서

API를 사용하여 FreeOCR.AI를 애플리케이션에 통합하세요.

인증

모든 API 요청은 Authorization 헤더에 Bearer 토큰으로 API 키를 전달해야 합니다.

Authorization: Bearer focr_your_api_key_id

API 키 페이지에서 API 키를 생성하고 관리하세요.


속도 제한

기본 속도 제한: API 키당 분당 200개 요청.

속도 제한은 키별로 조정 가능합니다. 사용자 정의 제한은 지원팀에 문의하세요.


레이아웃을 유지하면서 이미지에서 텍스트를 추출합니다.

매개변수

multipartimage(필수) - 이미지 파일
queryformat(선택 사항) - 응답 형식: json(기본값), text, docx
queryversion(선택 사항) - 모델 버전: 260428(기본값)

응답

jsonContent-Type: application/json
{
  "text": "# Document Title\n\nExtracted markdown content..."
}

HTML 테이블과 LaTeX 수식을 포함한 레이아웃이 유지된 GitHub Flavored Markdown을 반환합니다.

textContent-Type: application/json
{
  "text": "Document Title\n\nExtracted plain text content..."
}

Markdown은 내부 변환을 통해 일반 텍스트로 변환됩니다.

docxContent-Type: application/vnd.openxmlformats-officedocument.wordprocessingml.document

바이너리 파일 다운로드. Content-Disposition: attachment; filename="result.docx"

예시

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/ocr" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@document.png"

POST /table

라이브 데모

이미지에서 테이블을 구조화된 데이터로 추출합니다.

매개변수

multipartimage(필수) - 이미지 파일
queryformat(선택 사항) - 응답 형식: json(기본값), csv, xlsx
queryversion(선택 사항) - 모델 버전: 260428(기본값)

응답

jsonContent-Type: application/json
{
  "tables": [
    {
      "title": "Sales Report",
      "html": "<table><tr><th>Item</th><th>Qty</th></tr><tr><td>Apple</td><td>10</td></tr></table>"
    }
  ]
}

각 테이블에는 title과 HTML 테이블 문자열 형식의 콘텐츠가 포함됩니다.

csvContent-Type: text/csv; charset=utf-8

일반 텍스트 CSV 파일 다운로드. 여러 테이블은 --- SheetName --- 구분자로 구분됩니다. Content-Disposition: attachment; filename="tables.csv"

xlsxContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

바이너리 XLSX 파일 다운로드. 각 테이블은 제목으로 명명된 별도 시트가 됩니다. Content-Disposition: attachment; filename="tables.xlsx"

예시

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/table" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@spreadsheet.png"

POST /extract

라이브 데모

AI를 사용하여 이미지에서 특정 필드를 추출합니다.

매개변수

multipartimage(필수) - 이미지 파일
queryfields(필수) - 추출할 필드(반복 매개변수 또는 JSON 배열)
queryformat(선택 사항) - 응답 형식: json(기본값), csv, xlsx
queryversion(선택 사항) - 모델 버전: 260428(기본값), 260215

응답

jsonContent-Type: application/json
{
  "result": [
    { "key": "name", "values": ["John Doe"] },
    { "key": "date", "values": ["2024-03-15"] },
    { "key": "amount", "values": ["$1,234.56"] }
  ]
}

요청된 각 필드는 key와 추출된 values 배열로 반환됩니다.

csvContent-Type: text/csv; charset=utf-8

필드 키를 열 헤더로, 추출된 값을 행으로 하는 CSV 파일. Content-Disposition: attachment; filename="extraction.csv"

xlsxContent-Type: application/vnd.openxmlformats-officedocument.spreadsheetml.sheet

CSV와 동일한 레이아웃의 단일 "Results" 시트를 포함하는 XLSX 파일. Content-Disposition: attachment; filename="extraction.xlsx"

예시

Format:
curl -X POST "https://freeocr.ai/api/v1/platform/extract?fields=name&fields=date&fields=amount" \
  -H "Authorization: Bearer focr_your_key" \
  -F "image=@invoice.png"

오류 응답

401

인증되지 않음

{ "error": { "code": "unauthorized", "message": "유효하지 않은 API 키" } }
402

잔액 부족

{ "error": { "code": "insufficient_credits", "message": "잔액이 부족합니다. 충전해 주세요." } }
429

속도 제한 초과

{ "error": { "code": "rate_limit_exceeded", "message": "속도 제한을 초과했습니다. 나중에 다시 시도하세요." } }
500

내부 오류

{ "error": { "code": "internal_error", "message": "이미지 처리 실패" } }