Image Translation(Text) API
- 印刷する
- PDF
Image Translation(Text) API
- 印刷する
- PDF
Article Summary
Share feedback
Thanks for sharing your feedback!
Image Translation(Text) API
- 画像上のテキストを認識して抽出(OCR)して、翻訳テキストを提供
- ソース言語を指定しなくても Translation APIで言語を自動検出して翻訳結果を提供。この場合、言語の検出に追加の課金は行わず、翻訳リクエストの文字数の基準でのみ課金
API URL
Method | リクエスト URL | 出力フォーマット |
---|---|---|
POST | https://naveropenapi.apigw.ntruss.com/image-to-text/v1/translate | JSON |
Header
Name | Description |
---|---|
Content-Type | multipart/form-dataの形式で転送 |
X-NCP-APIGW-API-KEY-ID | NAVERクラウドプラットフォームのアプリ登録時に発行されたClient ID |
X-NCP-APIGW-API-KEY | NAVERクラウドプラットフォームのアプリ登録時に発行されたSecret Key |
Parameter
Name | Type | Required | Description |
---|---|---|---|
source | String | true | 原文言語コード。 autoに設定した場合、自動でソース言語を検知 |
target | String | true | 翻訳言語コード |
image | File | true | ソース画像ファイル |
対応言語 ソース言語 - 韓国語、英語、日本語、中国語(簡体、繁体)、ベトナム語、タイ語、インドネシア語、フランス語、スペイン語、ロシア語
ターゲット言語 - 韓国語、英語、日本語、中国語(簡体、繁体)、ベトナム語、タイ語、インドネシア語、フランス語、スペイン語、ロシア語、ドイツ語、イタリア語
言語 | 言語コード |
---|---|
韓国語 | ko |
英語 | en |
日本語 | ja |
中国語簡体字 | zh-CN |
中国語繁体字 | zh-TW |
ベトナム語 | vi |
タイ語 | th |
インドネシア語 | id |
フランス語 | fr |
スペイン語 | es |
ロシア語 | ru |
ドイツ語 | de |
イタリア語 | it |
Response Json形式でリターン
Field Name | Type | Description |
---|---|---|
data | JSON Object | |
data.sourceLang | String | 原文言語コード |
data.targetLang | String | 翻訳言語コード |
data.sourceText | String | 原文テキスト |
data.targetText | String | 翻訳テキスト |
data.blocks | JSON Array | Block単位の OCR情報 |
data.blocks[].sourceLang | String | 原文言語コード |
data.blocks[].sourceText | String | 原文テキスト |
data.blocks[].targetText | String | 翻訳テキスト |
data.blocks[].lb | JSON Object | 左下の座標(x、y内部フィールド存在) |
data.blocks[].lt | JSON Object | Left Topの座標(x、y内部フィールド存在) |
data.blocks[].rb | JSON Object | Right Bottomの座標(x、y内部フィールド存在) |
data.blocks[].rt | JSON Object | Right Topの座標(x、y内部フィールド存在) |
data.blocks[].lines | JSON Array | Line単位の OCR情報 |
data.blocks[].lines[].lb | JSON Object | 左下の座標(x、y内部フィールド存在) |
data.blocks[].lines[].lt | JSON Object | Left Topの座標(x、y内部フィールド存在) |
data.blocks[].lines[].rb | JSON Object | Right Bottomの座標(x、y内部フィールド存在) |
data.blocks[].lines[].rt | JSON Object | Right Topの座標(x、y内部フィールド存在) |
data.blocks[].lines[].words | JSON Array | Word単位の OCR情報 |
data.blocks[].lines[].words[].sourceText | String | 原文テキスト |
data.blocks[].lines[].words[].lb | JSON Object | 左下の座標(x、y内部フィールド存在) |
data.blocks[].lines[].words[].lt | JSON Object | Left Topの座標(x、y内部フィールド存在) |
data.blocks[].lines[].words[].rb | JSON Object | Right Bottomの座標(x、y内部フィールド存在) |
data.blocks[].lines[].words[].rt | JSON Object | Right Topの座標(x、y内部フィールド存在) |
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値}" \
-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\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":"GURSKEN","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": ユーザー_CLIENT_ID,
"X-NCP-APIGW-API-KEY": ユーザー_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)
この記事は役に立ちましたか?