Papago Doc Translation 개요

Prev Next

개요

  • 파일 안에 소스 언어로 작성된 텍스트를 타겟 언어로 번역하는 API
  • 비동기 형식의 API로 번역 요청(translate)/상태 확인(status)/다운로드(download) 3개의 API로 구성
  • 번역 지원 언어쌍: 한국어↔영어, 한국어↔일본어, 한국어↔중국어(간체), 영어↔일본어
  • 문서 1개 기준- 파일 용량 100 MB, 30만 글자 수 제한
  • 지원 파일 포맷: MS Office (docx, pptx, xlsx), PDF, 한글(HWP)
    • HWP의 경우 한컴오피스2002부터 사용되는 HWP 5.0 이상의 버전만 지원

사용 시 유의사항

  • 이미지로 된 텍스트는 번역되지 않습니다.
  • 텍스트에 적용된 스타일은 일부 일치하지 않거나 누락될 수 있습니다.
  • 텍스트에 적용된 링크 또는 액션은 일부 동작하지 않거나 누락될 수 있습니다.
  • 암호가 설정된 파일은 지원하지 않습니다.
  • 읽기 전용 파일은 지원하지 않습니다.
  • HWP의 경우
    • 한컴오피스2002부터 사용되는 HWP 5.0 이상의 버전을 지원합니다.
    • 배포용 파일은 지원하지 않습니다.
    • 한컴오피스에서 생성되지 않은 HWP 파일은 지원하지 않습니다. (ex. 확장자만 변경한 파일)
    • 번역하면서 문장의 길이가 증가하여 텍스트 겹침 현상이 발생할 수 있습니다. 텍스트 영역을 늘려주면 정상적으로 확인 가능합니다.
  • PDF의 경우
    • PDF 파일의 레이아웃, 문단 간격, 디자인 서식, 사용자 지정 글꼴 및 이미지 크기 등이 품질에 영향을 미칠 수 있습니다. 가능하다면 시각적 요소가 적게 포함된 문서 사용을 권장합니다.
    • 최적의 결과를 얻을 수 있도록 기본 PDF 파일 사용을 권장합니다. 스캔한 문서를 번역할 경우 스캔 품질이 번역 결과에 영향을 미칠 수 있으며 원본문서의 방향대로 스캔이 되어야 합니다.
    • 번역 파일의 용량이 원본 문서 대비 커질 수 있습니다.
    • PDF 파일에 비해 docx 및 pptx 파일의 문서 레이아웃 및 스타일 유지가 더 잘 됩니다. 더 나은 결과를 위해 변환 전 파일 형식으로 사용하는 것을 권장합니다.
    • 2개 이상의 언어가 포함된 문서는 출발 언어 설정에 따라 번역 결과가 달라질 수 있습니다.

공통 설정

클라이언트 아이디는 NAVER Cloud Platform 콘솔에서 애플리케이션을 등록해 발급받습니다.

  1. 콘솔의 AI Service > Papago Translation > APIs에서 애플리케이션을 등록해 주십시오.

  2. AI Service > Papago Translation > APIs에서 등록한 애플리케이션을 선택해 Client ID와 Client Secret값을 확인해 주십시오.

  3. AI Service > Papago Translation > APIs수정 화면에서 Papago Doc Translation이 선택되어 있는지 확인해 주십시오. 선택되어 있지 않으면 429 (Quota Exceed)가 발생하 주의해 주십시오.

오류 코드

{
  "error": {
    "errorCode": "300",
    "message": "Not Found Exception"
  }
}

공통 오류

HTTP Status Code Error Code Error Message Description
400 100 Bad Request Exception protocol (https), endocing (UTF-8) 등 request 오류
401 200 Authentication Failed 인증 실패
401 210 Permission Denied 권한 없음
404 300 Not Found Exception 권한 없음
429 400 Quota Exceeded Quota 초과
429 410 Throttle Limited Rate 초과
429 420 Rate Limited Rate 초과
413 430 Request Entity Too Large content-length 초과 (100 MB)
503 500 Endpoint Error 엔드포인트 연결 오류
504 510 Endpoint Timeout 엔드포인트 연결 시간 초과
500 900 Unexpected Error 예외처리가 안 된 오류
{
  "error": {
    "errorCode": "00001",
    "message": "Request is invalid."
  }
}

API 오류

HTTP Status Code Error Code Error Message Description
500 00000 API call failed 시스템 내부 에러
400 00001 Request is invalid 잘못된 파라미터 존재
  • Papago Doc Translation API는 한글과컴퓨터 HWP 공개 문서를 참고하여 개발하였습니다.

Python 기반 예제 코드

Python example (Status API)

import requests

headers = {
  "X-NCP-APIGW-API-KEY-ID": 유저_클라이언트_아이디,
  "X-NCP-APIGW-API-KEY": 유저_클라이언트_시크릿
}

url = "https://papago.apigw.gov-ntruss.com/doc-trans/v1/status?requestId=" + RequestId
res = requests.get(url, headers=headers)
print(res.text)

Python example (Translate API)

import requests
from requests_toolbelt import MultipartEncoder
import uuid

data = {
  'source': 'ko',
  'target': 'en',
  'file': ('a.docx', open('a.docx', 'rb'), 'application/octet-stream', {'Content-Transfer-Encoding': 'binary'})
}
m = MultipartEncoder(data, boundary=uuid.uuid4())

headers = {
  "Content-Type": m.content_type,
  "X-NCP-APIGW-API-KEY-ID": 유저_클라이언트_아이디,
  "X-NCP-APIGW-API-KEY": 유저_클라이언트_시크릿
}

url = "https://papago.apigw.gov-ntruss.com/doc-trans/v1/translate"
res = requests.post(url, headers=headers, data=m.to_string())
print(res.text)

Python example (Download API)

import urllib.request

url = "https://papago.apigw.gov-ntruss.com/doc-trans/v1/download?requestId=" + RequestId

opener = urllib.request.build_opener()
opener.addheaders = [('X-NCP-APIGW-API-KEY-ID', 유저_클라이언트_아이디), ('X-NCP-APIGW-API-KEY', 유저_클라이언트_시크릿)]
urllib.request.install_opener(opener)

urllib.request.urlretrieve(url, "b.docx")