Image Translation(Image) API
    • PDF

    Image Translation(Image) API

    • PDF

    기사 요약

    Image Translation(Image) API

    • 이미지 상의 텍스트를 인식하고 추출(OCR) 하여, 번역 텍스트 및 번역 이미지 제공
    • 소스 언어를 지정하지 않아도 Translation API에서 자동으로 언어를 감지하여 번역 결과를 제공. 이 경우, 언어 감지에 추가 과금은 하지 않고, 번역 요청 글자수 기준으로만 과금

    API URL

    Method요청 URL출력 포맷
    POSThttps://naveropenapi.apigw-pub.fin-ntruss.com/image-to-image/v1/translateJSON

    Header

    NameDescription
    Content-Typemultipart/form-data 형식으로 전송 필요
    X-NCP-APIGW-API-KEY-IDNCP 앱 등록 시 발급받은 Client ID
    X-NCP-APIGW-API-KEYNCP 앱 등록 시 발급받은 Secret Key

    Parameter

    NameTypeRequiredDescription
    sourceStringtrue원문 언어 코드
    auto로 설정 시, 자동으로 소스 언어를 감지
    targetStringtrue번역 언어 코드
    imageFiletrue원본 이미지 파일

    지원 언어
    소스 언어 - 한국어, 영어, 일본어, 중국어 간체, 중국어 번체, 베트남어, 태국어, 인도네시아어, 프랑스어, 스페인어, 러시아어

    타겟 언어 - 한국어, 영어, 일본어, 중국어 간체, 중국어 번체, 베트남어, 태국어, 인도네시아어, 프랑스어, 스페인어, 러시아어, 독일어, 이탈리아어

    언어언어 코드
    한국어ko
    영어en
    일본어ja
    중국어 간체zh-CN
    중국어 번체zh-TW
    베트남어vi
    태국어th
    인도네시아어id
    프랑스어fr
    스페인어es
    러시아어ru
    독일어de
    이탈리아어it

    Response
    Json 형식으로 리턴

    Field NameTypeDescription
    dataJSON Object
    data.sourceLangString원문 언어 코드
    data.targetLangString번역 언어 코드
    data.sourceTextString원문 텍스트
    data.targetTextString번역 텍스트
    data.renderedImageString번역된 이미지 바이너리 base64 인코딩
    data.blocksJSON ArrayBlock단위 OCR 정보
    data.blocks[].sourceLangString원문 언어 코드
    data.blocks[].sourceTextString원문 텍스트
    data.blocks[].targetTextString번역 텍스트
    data.blocks[].lbJSON ObjectLeft Bottom좌표 (x, y 내부 필드 존재)
    data.blocks[].ltJSON ObjectLeft Top 좌표 (x, y 내부 필드 존재)
    data.blocks[].rbJSON ObjectRight Bottom 좌표 (x, y 내부 필드 존재)
    data.blocks[].rtJSON ObjectRight Top 좌표 (x, y 내부 필드 존재)
    data.blocks[].linesJSON ArrayLine 단위 OCR 정보
    data.blocks[].lines[].lbJSON ObjectLeft Bottom좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].ltJSON ObjectLeft Top 좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].rbJSON ObjectRight Bottom 좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].rtJSON ObjectRight Top 좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].wordsJSON ArrayWord 단위 OCR 정보
    data.blocks[].lines[].words[].sourceTextString원문 텍스트
    data.blocks[].lines[].words[].lbJSON ObjectLeft Bottom좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].words[].ltJSON ObjectLeft Top 좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].words[].rbJSON ObjectRight Bottom 좌표 (x, y 내부 필드 존재)
    data.blocks[].lines[].words[].rtJSON ObjectRight Top 좌표 (x, y 내부 필드 존재)

    CURL Example

    $ curl --location --request POST 'https://naveropenapi.apigw-pub.fin-ntruss.com/image-to-image/v1/translate' \
    -H "X-NCP-APIGW-API-KEY-ID:{애플리케이션 등록 시 발급받은 client id값}" \
    -H "X-NCP-APIGW-API-KEY:{애플리케이션 등록 시 발급받은 client secret값}" \
    --form 'image=@"/Users/user/a.png"' \
    --form 'source="ko"' \
    --form 'target="en"'
    {"data":{"sourceLang":"ko","targetLang":"en","sourceText":"NEW\nGURSKEN\n구르스켄\n옷장\n49x55x186 cm\n라이트베이지\n₩79,900\nIMEA","targetText":"NEW\nGURSKEN\nGursken.\nCloset\n49x55x186 cm\nLight beige.\n₩79,900\nIMEA","blocks":[{"sourceLang":"ko","sourceText":"NEW","targetText":"NEW","lines":[{"lb":{"x":195,"y":29},"lt":{"x":201,"y":2},"rb":{"x":255,"y":42},"rt":{"x":261,"y":15}}],"lb":{"x":195,"y":29},"lt":{"x":200,"y":1},"rb":{"x":255,"y":42},"rt":{"x":261,"y":15}},{"sourceLang":"ko","sourceText":"GURSKEN","targetText":"GURSKEN","lines":[{"lb":{"x":191,"y":118},"lt":{"x":194,"y":92},"rb":{"x":317,"y":135},"rt":{"x":321,"y":108}}],"lb":{"x":190,"y":119},"lt":{"x":194,"y":92},"rb":{"x":317,"y":135},"rt":{"x":321,"y":107}},{"sourceLang":"ko","sourceText":"구르스켄","targetText":"Gursken.","lines":[{"lb":{"x":191,"y":159},"lt":{"x":194,"y":135},"rb":{"x":270,"y":167},"rt":{"x":272,"y":142}}],"lb":{"x":190,"y":159},"lt":{"x":193,"y":134},"rb":{"x":269,"y":167},"rt":{"x":272,"y":142}},{"sourceLang":"ko","sourceText":"옷장","targetText":"Closet","lines":[{"lb":{"x":195,"y":207},"lt":{"x":197,"y":177},"rb":{"x":247,"y":211},"rt":{"x":248,"y":180}}],"lb":{"x":194,"y":207},"lt":{"x":197,"y":176},"rb":{"x":247,"y":211},"rt":{"x":249,"y":180}},{"sourceLang":"ko","sourceText":"49x55x186 cm","targetText":"49x55x186 cm","lines":[{"lb":{"x":196,"y":232},"lt":{"x":197,"y":220},"rb":{"x":268,"y":235},"rt":{"x":269,"y":222}}],"lb":{"x":196,"y":232},"lt":{"x":196,"y":218},"rb":{"x":268,"y":235},"rt":{"x":268,"y":222}},{"sourceLang":"ko","sourceText":"라이트베이지","targetText":"Light beige.","lines":[{"lb":{"x":197,"y":252},"lt":{"x":197,"y":237},"rb":{"x":257,"y":252},"rt":{"x":257,"y":237}}],"lb":{"x":197,"y":252},"lt":{"x":197,"y":237},"rb":{"x":257,"y":252},"rt":{"x":257,"y":237}},{"sourceLang":"ko","sourceText":"₩79,900","targetText":"₩79,900","lines":[{"lb":{"x":223,"y":448},"lt":{"x":219,"y":406},"rb":{"x":358,"y":434},"rt":{"x":354,"y":393}}],"lb":{"x":223,"y":448},"lt":{"x":218,"y":406},"rb":{"x":358,"y":434},"rt":{"x":354,"y":392}},{"sourceLang":"ko","sourceText":"IMEA","targetText":"IMEA","lines":[{"lb":{"x":280,"y":570},"lt":{"x":278,"y":563},"rb":{"x":308,"y":562},"rt":{"x":305,"y":554}}],"lb":{"x":279,"y":570},"lt":{"x":277,"y":561},"rb":{"x":307,"y":562},"rt":{"x":305,"y":553}}],"renderedImage":"/9j/4AAQSkZJRgABAQAAAQABAAD/2wBDAAIBAQEBAQIBAQECAgICAgQDAgICAgUEBAMEBgUGBgYFBgYGBwkIBgcJBwYGCAsICQoKCgoKBggLDAsKDAkKCgr/2wBDAQICAgICAgUDAwUKBwYHCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgoKCgr/wAARCAJdAcYDASIAAhEBAxEB/8QAHwAAAQUBAQEBAQEAAAAAAAAAAAECAwQFBgcICQoL/ /OvXLjSIdC8deIfHkhCwtoiSK+P4sHP/oIrk9YsW+InhvwV4ijO91vFtrkkdMHLf8AoFKrhKcaMqdveu2n5XSHQx9R4iNRv3OVJ+tmzz/4pfC+T4cfYpJdYW4a+
    {{ … 생략 … }}
    LP+KdRMlj8DPhhY6PHghdS1lvtM/1CD5R696+DYmlKndLkDoMVNGxSIEHn1o52tjNts9M+J37Uvx7+NN283xF+Juq6hHI2fspuTHCPYRrhcfUVx0MrZ3eZ7AZrNgZmj8wn8KvW6jdjJ6Z61Lk5biNCCYGPceTjsKuWrNhcjqaz7YFSAD95uavwgAAkZOetImRON24gYx2Hp70FnQZRgB0+tRyylSnyg5FSIokXcexNBS2EUMW3MvB70rqQAU53e1OifeSoXGCQcd6az7cADt60AKrAfKvOT170EEHrwOgNRRHErJjgVYCjcG+tADAHZgRkkdQR2qYpt6Oee4P+c0xg0ZyrnilYltoJ6L1pK6AahGducZPXtXN/CaL/inrkksQNVvAD0/5bviupEaHIxxxx+Nc18K0C6DcIDwNTu8j1/fvWkXpcmR43+0KpX4lTBTn/RYskHpweK53QsbuMcDpjvXRftAuzfEm5JP/AC7xfyNc9oYCtnGau/MiT0HwjsNoVEYzjJ5oqTwRGktpyOdp5z70VIH/2Q\u003d\u003d"}}
    

    Python Example

    import requests
    from requests_toolbelt import MultipartEncoder
    import uuid
    import json
    import base64
    
    data = {
      'source': 'ko',
      'target': 'en',
      'image': ('a.png', open('a.png', '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://naveropenapi.apigw-pub.fin-ntruss.com/image-to-image/v1/translate"
    res = requests.post(url, headers=headers, data=m.to_string())
    print(res.text)
    
    # renderedImage -> 이미지 파일로 출력
    resObj = json.loads(res.text)
    imageStr = resObj.get("data").get("renderedImage")
    imgdata = base64.b64decode(imageStr)
    
    filename = 'a_translated.png'
    with open(filename, 'wb') as f:
        f.write(imgdata)
    

    이 문서가 도움이 되었습니까?

    Changing your password will log you out immediately. Use the new password to log back in.
    First name must have atleast 2 characters. Numbers and special characters are not allowed.
    Last name must have atleast 1 characters. Numbers and special characters are not allowed.
    Enter a valid email
    Enter a valid password
    Your profile has been successfully updated.