프로젝트
CLOVA OCR custom api request body 필드 정리
Jenner
2024. 3. 20. 13:25
필드명 | 필수여부 | 타입 | 설명 | 제약사항 |
version | Yes | string | 버전 정보 필수로 V1, 혹은 V2를 입력 V2 사용을 권장하며, V2사용시 boundingPoly 정보가 제공됨 |
|
requestId | Yes | string | API 호출 UUID | |
timestamp | Yes | 0 | API 호출 Timestamp | |
lang | No | string | OCR 인식시 요청할 언어 정보 | 설정 가능한 언어값은 'ko'/'ja'/'zh-TW' 이며, lang 필드가 설정되지 않은 경우, 도메인의 언어 설정값이 default로 설정됨. 콤마(,)를 통해 여러 언어를 호출할 수 있습니다. (예 : "ko,ja,zh-TW") |
images | Yes | string | Json array로 입력되며, 현재는 1개의 이미지 입력만 허용 (한국어/일본어) | General OCR은 50MB, Template OCR은 30Mb까지 지원 |
images.format | Yes | string | 이미지 포맷 설정 | “jpg”, “jpeg”, “png”, "pdf","tiff" 이미지 포맷 지원하며 pdf는 최대 10장까지 인식 지원함 (General OCR 한정 지원함) |
images.url | No | string | images.url 혹은 images.data 중 하나가 존재해야 함 | URL은 이미지를 가져 올 수 있는 공개 URL이어야 함 |
images.data | No | string | images.url 혹은 images.data 중 하나가 존재해야 함(URL과 데이터가 모두 존재하면 데이터를 사용하고 URL은 무시) | images.data는 base64 인코딩 이미지 바이트 |
images.name | Yes | string | 이미지 명 입력 이미지를 식별하는데 사용되며, 응답 결과 확인에 사용됨 |
|
images.templateIds | No | json array | 텍스트 OCR API에서는 사용되지 않음 Template OCR API에서는 이 필드를 설정하지 않으면 도메인에 배포된 모든 서비스 템플릿으로 자동 분류됨 |
|
enableTableDetection | No | Boolean | 문서 내 표(Table) 영역을 자동 인식 후 글자(Text)와 함께 구조화된 형태로 제공. | General OCR 한정 지원함 |
- requestId UUID로 생성후 전송 필요
- version
boundingPoly 예시 : (아마도 이미지 인식의 꼭짓점들을 말하는 듯하다) 나의 경우 필요없으나 권장사항이므로 V2를 사용해봄
(버전별로 업데이트 내역이 있으므로 사용해야 할 것이 최신 버전에 있다면 해당 버전 이상을 사용해야 할듯)
"boundingPoly": {
"vertices": [{
"x": 2713.7295,
"y": 1277.0492
}, {
"x": 2713.7295,
"y": 977.7408
}, {
"x": 2841.4343,
"y": 977.7408
}, {
"x": 2841.4343,
"y": 1277.0492
}]
}
- timestamp : 밀리초단위 실행해보기
CLOVA OCR Custom API
api.ncloud-docs.com
- images객체 : input에서 입력된 files객체와 상이한 부분이 있으므로 약간의 수정후 request 필요 예상.
ex: type 과 images.format
- 용량 : 제한 Template OCR은 30Mb
CLOBA 요청시 body에 들어가는 기본 객체
const baseBody = {
images: [
{
format: 'png',
name: 'medium',
data: undefined,
url: undefined,
},
] as ImageType[],
lang: 'ko',
requestId: uuid4(),
resultType: 'string',
timestamp: 0,
version: 'V2',
};
Template OCR은 30Mb이므로 이미지의를 base64로 인코딩한 결괏값을 제한하면 될것 같다.