Image Translation(Text) API
- Print
- PDF
Image Translation(Text) API
- Print
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
Image Translation(Text) API
- The Image Translation (Text) API recognizes and extracts text from images via optical character recognition (OCR) to provide translated text.
- Even if the source language isn’t specified, the API automatically detects the language and provides a translation. In this case, additional fees do not incur for detecting languages but only for the number of characters requested for translation.
API URL
Method | Request URL | Output format |
---|---|---|
POST | https://naveropenapi.apigw.ntruss.com/image-to-text/v1/translate | JSON |
Header
Name | Description |
---|---|
Content-Type | Requires sending in multipart/form-data format |
X-NCP-APIGW-API-KEY-ID | Client ID issued when registering the NAVER Cloud Platform app |
X-NCP-APIGW-API-KEY | Secret key issued when registering the NAVER Cloud Platform app |
Parameter
Name | Type | Required | Description |
---|---|---|---|
source | String | true | Source language code. If set to auto, the source language is automatically detected. |
target | String | true | Target language code |
image | File | true | Original image file |
Supported Languages Source language: Korean, English, Japanese, Chinese (Simplified & Traditional), Vietnamese, Thai, Indonesian, French, Spanish, Russian
Target language: Korean, English, Japanese, Chinese (Simplified & Traditional), Vietnamese, Thai, Indonesian, French, Spanish, Russian, German, Italian
Language | Language code |
---|---|
Korean | ko |
English | en |
Japanese | ja |
Chinese (Simplified) | zh-CN |
Chinese (Traditional) | zh-TW |
Vietnamese | vi |
Thai | th |
Indonesian | id |
French | fr |
Spanish | es |
Russian | ru |
German | de |
Italian | it |
Response returned in JSON format
Field Name | Type | Description |
---|---|---|
data | JSON Object | |
data.sourceLang | String | Source language code |
data.targetLang | String | Target language code |
data.sourceText | String | Source text |
data.targetText | String | Translated text |
data.blocks | JSON Array | OCR information by block |
data.blocks[].sourceLang | String | Source language code |
data.blocks[].sourceText | String | Source text |
data.blocks[].targetText | String | Translated text |
data.blocks[].lb | JSON Object | Left bottom coordinates (Internal x and y fields exist) |
data.blocks[].lt | JSON Object | Top-left coordinates (Internal x and y fields exist) |
data.blocks[].rb | JSON Object | Bottom-right coordinates (Internal x and y fields exist) |
data.blocks[].rt | JSON Object | Top-right coordinates (Internal x and y fields exist) |
data.blocks[].lines | JSON Array | OCR information by line |
data.blocks[].lines[].lb | JSON Object | Left bottom coordinates (Internal x and y fields exist) |
data.blocks[].lines[].lt | JSON Object | Top-left coordinates (Internal x and y fields exist) |
data.blocks[].lines[].rb | JSON Object | Bottom-right coordinates (Internal x and y fields exist) |
data.blocks[].lines[].rt | JSON Object | Top-right coordinates (Internal x and y fields exist) |
data.blocks[].lines[].words | JSON Array | OCR information by word |
data.blocks[].lines[].words[].sourceText | String | Source text |
data.blocks[].lines[].words[].lb | JSON Object | Left bottom coordinates (Internal x and y fields exist) |
data.blocks[].lines[].words[].lt | JSON Object | Top-left coordinates (Internal x and y fields exist) |
data.blocks[].lines[].words[].rb | JSON Object | Bottom-right coordinates (Internal x and y fields exist) |
data.blocks[].lines[].words[].rt | JSON Object | Top-right coordinates (Internal x and y fields exist) |
CURL Example
$ curl --location --request POST 'https://naveropenapi.apigw.ntruss.com/image-to-text/v1/translate' \
-H "X-NCP-APIGW-API-KEY-ID:{Client ID value issued upon application registration}" \
-H "X-NCP-APIGW-API-KEY:{Client secret value issued upon application registration}" \
--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\nIKEA","targetText":"NEW\nGURSKEN\nGursken.\nCloset\n49x55x186 cm\nLight beige.\n₩79, 900\nIKEA","blocks":[{"sourceLang":"ko","sourceText":"NEW","targetText":"NEW","lines":[{"lb":{"x":395,"y":57},"lt":{"x":407,"y":7},"rb":{"x":515,"y":84},"rt":{"x":526,"y":33}}],"lb":{"x":395,"y":57},"lt":{"x":406,"y":6},"rb":{"x":515,"y":83},"rt":{"x":526,"y":33}},{"sourceLang":"ko","sourceText":"구르스켄","targetText":"GURSKEN","lines":[{"lb":{"x":383,"y":238},"lt":{"x":391,"y":184},"rb":{"x":637,"y":272},"rt":{"x":645,"y":217}}],"lb":{"x":383,"y":238},"lt":{"x":390,"y":182},"rb":{"x":637,"y":272},"rt":{"x":645,"y":217}},{"sourceLang":"ko","sourceText":"구르스켄","targetText":"Gursken.","lines":[{"lb":{"x":387,"y":319},"lt":{"x":392,"y":268},"rb":{"x":541,"y":333},"rt":{"x":545,"y":283}}],"lb":{"x":387,"y":319},"lt":{"x":391,"y":267},"rb":{"x":541,"y":333},"rt":{"x":545,"y":281}},{"sourceLang":"ko","sourceText":"옷장","targetText":"Closet","lines":[{"lb":{"x":394,"y":417},"lt":{"x":395,"y":355},"rb":{"x":497,"y":419},"rt":{"x":499,"y":358}}],"lb":{"x":393,"y":416},"lt":{"x":394,"y":354},"rb":{"x":497,"y":419},"rt":{"x":498,"y":357}},{"sourceLang":"ko","sourceText":"49x55x186 cm","targetText":"49x55x186 cm","lines":[{"lb":{"x":395,"y":465},"lt":{"x":396,"y":441},"rb":{"x":537,"y":469},"rt":{"x":538,"y":444}}],"lb":{"x":394,"y":465},"lt":{"x":395,"y":439},"rb":{"x":537,"y":469},"rt":{"x":537,"y":444}},{"sourceLang":"ko","sourceText":"라이트베이지","targetText":"Light beige.","lines":[{"lb":{"x":397,"y":504},"lt":{"x":397,"y":475},"rb":{"x":516,"y":504},"rt":{"x":516,"y":475}}],"lb":{"x":397,"y":504},"lt":{"x":397,"y":475},"rb":{"x":516,"y":504},"rt":{"x":516,"y":475}},{"sourceLang":"ko","sourceText":"₩79, 900","targetText":"₩79, 900","lines":[{"lb":{"x":452,"y":891},"lt":{"x":444,"y":813},"rb":{"x":721,"y":864},"rt":{"x":713,"y":786}}],"lb":{"x":451,"y":891},"lt":{"x":444,"y":813},"rb":{"x":721,"y":864},"rt":{"x":713,"y":785}},{"sourceLang":"ko","sourceText":"IKEA","targetText":"IKEA","lines":[{"lb":{"x":564,"y":1141},"lt":{"x":560,"y":1125},"rb":{"x":620,"y":1127},"rt":{"x":616,"y":1111}}],"lb":{"x":564,"y":1141},"lt":{"x":560,"y":1125},"rb":{"x":620,"y":1127},"rt":{"x":616,"y":1111}}]}}
Python Example
import requests
from requests_toolbelt import MultipartEncoder
import uuid
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": User_client_ID
"X-NCP-APIGW-API-KEY": User_client_secret
}
url = "https://naveropenapi.apigw.ntruss.com/image-to-text/v1/translate"
res = requests.post(url, headers=headers, data=m.to_string())
print(res.text)
Was this article helpful?