圖片翻譯 API 簡介
概念解釋
圖片翻譯:基于文字識(shí)別與文本翻譯技術(shù),結(jié)合組段和渲染技術(shù),滿足用戶翻譯圖片文字的需求,提升輸入效率。
說明
Hi,您好,歡迎使用有道智云圖片翻譯API接口服務(wù)。
如果您想快速體驗(yàn)服務(wù),建議您前往圖片翻譯體驗(yàn)中心 或者在體驗(yàn)中心右下側(cè)找到小程序二維碼,掃描進(jìn)行體驗(yàn)。
本文檔主要針對(duì)需要集成HTTP API的技術(shù)開發(fā)工程師,詳細(xì)描述圖片翻譯能力相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務(wù)合作的需求,可以通過以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對(duì)文檔內(nèi)容有任何疑問,可以通過以下幾種方式聯(lián)系我們:
客服QQ:1906538062
智云翻譯技術(shù)交流QQ 1群: 652880659
智云翻譯技術(shù)交流QQ 2群: 669384425
智云翻譯技術(shù)交流QQ 3群: 807539209
智云翻譯技術(shù)交流QQ 4群: 936752411
聯(lián)系郵箱: zhiyun@corp.youdao.com
溫馨提示:
- 本文檔主要針對(duì)開發(fā)人員,接入測試前需要獲取應(yīng)用ID和應(yīng)用密鑰;如果您還沒有,請(qǐng)按照新手指南獲取。
- 平臺(tái)向每個(gè)賬戶贈(zèng)送50元的體驗(yàn)金,供用戶集成前測試所用,具體資費(fèi)規(guī)則詳見 圖片翻譯服務(wù)報(bào)價(jià) 。
接口說明
圖片翻譯API接口提供有道的圖片文字識(shí)別翻譯服務(wù)。您只需要通過調(diào)用圖片翻譯API,傳入圖片的Base64編碼,指定源語言與目標(biāo)語言,通過POST請(qǐng)求方式,就可以識(shí)別圖片中的文字并進(jìn)行翻譯。
圖片翻譯 API HTTPS地址:
https://openapi.youdao.com/ocrtransapi
協(xié)議須知
調(diào)用方在集成文本翻譯API時(shí),請(qǐng)遵循以下規(guī)則。
規(guī)則 | 描述 |
---|
傳輸方式 | HTTPS |
請(qǐng)求方式 | POST |
字符編碼 | 統(tǒng)一使用UTF-8編碼 |
請(qǐng)求格式 | 表單 |
響應(yīng)格式 | JSON |
接口調(diào)用參數(shù)
調(diào)用API需要向接口發(fā)送以下字段來訪問服務(wù)。
字段名 | 類型 | 含義 | 必填 | 備注 |
---|
type | text | 文件上傳類型 | True | 目前支持Base64,請(qǐng)置該字段值為1 |
from | text | 源語言 | True | 參考下方的 支持語言 (可設(shè)置為auto) |
to | text | 目標(biāo)語言 | True | 參考下方的 支持語言 (可設(shè)置為auto) |
appKey | text | 應(yīng)用ID | True | 可在應(yīng)用管理 查看 |
salt | text | UUID | True | uuid,唯一通用識(shí)別碼,例:1995882C5064805BC30A39829B779D7B |
sign | text | 簽名 | True | sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰) |
signType | text | 簽名類型 | True | v3 |
curtime | text | 當(dāng)前UTC時(shí)間戳(秒) | true | TimeStamp |
ext | text | 翻譯結(jié)果音頻格式,支持mp3 | false | mp3 |
q | text | 要識(shí)別的圖片 | true | type為1時(shí)必填,圖片的Base64編碼 |
docType | text | 服務(wù)器響應(yīng)類型,目前只支持json | false | json |
render | text | 是否需要服務(wù)端返回渲染的圖片,0:否;1:是,默認(rèn)是0 | false | 0 |
簽名生成方法如下:
signType=v3;
sign=sha256(應(yīng)用ID
+input
+salt
+curtime
+應(yīng)用密鑰
);
其中,input的計(jì)算方式為:input
=q前10個(gè)字符
+ q長度
+ q后10個(gè)字符
(當(dāng)q長度大于20)或 input
=q字符串
(當(dāng)q長度小于等于20);
注意:
- 請(qǐng)先將需要識(shí)別的圖片轉(zhuǎn)換為 Base64 編碼。
- 在發(fā)送HTTP請(qǐng)求之前需要對(duì)各字段做 URL encode。
- 在生成簽名拼接
應(yīng)用ID+q+salt+應(yīng)用密鑰
字符串時(shí),q
不需要做 URL encode,在生成簽名之后,發(fā)送 HTTP 請(qǐng)求之前才需要對(duì)要發(fā)送的 q
做URL encode。 - 簽名和請(qǐng)求有疑問,可以參考文檔最后的常用語言demo。
輸出結(jié)果
返回的結(jié)果是json格式,具體說明如下:
字段名 | 字段說明 |
---|
orientation | 圖片所對(duì)應(yīng)的方向 |
lanFrom | ocr所識(shí)別出來認(rèn)為的圖片中的語言 |
textAngle | 圖片的傾斜角度 |
errorCode | 錯(cuò)誤碼 |
lanTo | 目標(biāo)語言 |
resRegions | 圖片翻譯的具體內(nèi)容 |
-boundingBox | 區(qū)域范圍,四個(gè)值: 左上角的x值,左上角的y值,區(qū)域的的寬,區(qū)域的高 例如:134,0,1066,249 |
-linesCount | 行數(shù)(用于前端排版) |
-lineheight | 行高 |
-context | 該區(qū)域的原文 |
-linespace | 行間距 |
-tranContent | 翻譯結(jié)果 |
-lines | 當(dāng)render=1即返回渲染圖片,返回結(jié)果lines |
-color | 圖片顏色(默認(rèn)字段,暫不支持修改) |
-words | 字?jǐn)?shù)組,當(dāng)render=1即返回渲染圖片 |
-text | 行識(shí)別結(jié)果,當(dāng)render=1即返回渲染圖片 |
-word | 識(shí)別的字的結(jié)果,當(dāng)render=1即返回渲染圖片 |
-textHeight | 文字的高度,當(dāng)render=1即返回渲染圖片 |
注:resRegions是一個(gè)json列表,表示圖中多個(gè)區(qū)域?qū)?yīng)的翻譯結(jié)果,每個(gè)json中有6個(gè)參數(shù):boundingBox、linesCount、lineheight、context、linespace、tranContent。
示例
發(fā)送請(qǐng)求,調(diào)用接口:
{
"type":"1",
"q":"BASE64", //要翻譯的圖片BASE 64編碼
"from":"en",
"to":"zh-CHS",
"appKey":"test",
"salt":"1995882C5064805BC30A39829B779D7B",
"sign":"f9976efca9dd9e280d4c6637230da5d94c2df6e520605db5a5a4d1d91ba45761",
"signType":"v3",
"docType":"json"
}
返回結(jié)果:
{
"orientation": "Up",
"lanFrom": "en",
"textAngle": "0.0",
"errorCode": "0",
"lanTo": "zh-CHS",
"resRegions": [{
"boundingBox": "134,0,1066,249",
"linesCount": 7,
"lineheight": 28,
"context": " There are two ways to cope with the problem in government. One (dis cussed in the preceding chapter) is to supply the service or product in a marketlike environment. Shift the burden of evaluation off the shoulders of professional evaluators and onto the shoulders of clients and customers, and let the latter vote with their feet. The \"client\" in these cases can be individual citizens or government agencies; what is important is that the client be able to choose from among rival suppliers.",
"linespace": 7,
"tranContent": "有兩種方法可以解決政府的問題。一個(gè)(在前一章中討論的)是在一個(gè)市場環(huán)境中提供服務(wù)或產(chǎn)品。將評(píng)估的負(fù)擔(dān)從專業(yè)評(píng)估人員的肩膀上轉(zhuǎn)移到客戶和客戶的肩上,讓后者用腳投票。這些案件的“委托人”可以是公民個(gè)人或政府機(jī)構(gòu);重要的是客戶可以從競爭對(duì)手那里選擇。"
}, {
"boundingBox": "116,253,1100,354",
"linesCount": 10,
"lineheight": 28,
"context": " But some public services cannot be supplied, or arc never going to be sup plied, by a market. We can imagine allowing parents to choose among schools but we cannot imagine letting them choose (at least for most purposes) among police departments or armies. In that case one should adopt the second way of evaluating a public service: carry out a demonstration project or conduct a field experiment. (I will use the two ideas interchangeably, though some schol ars distinguish between them.7) An experiment is a planned alteration in a state of affairs designed to measure the effect of the intervention. It involves asking the question, \"If I change X, what will happen to Y, having first made certain that everything else stays the same?\" It sounds easy, but it is not.",
"linespace": 5,
"tranContent": "但是一些公共服務(wù)不能提供,或者不能被市場所壟斷。我們可以想象允許父母在學(xué)校里選擇,但我們無法想象讓他們?cè)诰觳块T或軍隊(duì)中選擇(至少是在大多數(shù)情況下)。在這種情況下,應(yīng)該采用第二種評(píng)價(jià)公共服務(wù)的方法:進(jìn)行示范項(xiàng)目或進(jìn)行現(xiàn)場試驗(yàn)。(我將把這兩種觀點(diǎn)交替使用,盡管有些學(xué)校將兩者區(qū)分開來。)實(shí)驗(yàn)是一種計(jì)劃中的改變,旨在衡量干預(yù)的效果。它涉及到問這個(gè)問題,“如果我改變X, Y會(huì)發(fā)生什么,首先確定其他一切都保持不變?”這聽起來很容易,但事實(shí)并非如此。"
}, {
"boundingBox": "101,609,1141,152",
"linesCount": 4,
"lineheight": 28,
"context": " A good experiment (bad ones are worse than no experiment at all) requires that one do the following: First, identify a course of action to be test ed; call it the treatment. A \"treatment\" can be a police tactic, a school cur riculum, or a welfare program. Second, decide what impact the treatment is",
"linespace": 5,
"tranContent": "一個(gè)好的實(shí)驗(yàn)(壞的實(shí)驗(yàn)比沒有實(shí)驗(yàn)更糟糕)需要一個(gè)人做以下的事情:首先,確定要測試的行動(dòng)過程;叫它治療?!爸委煛笨梢允蔷斓牟呗?,也可以是學(xué)校里的,或者是福利項(xiàng)目。其次,確定治療的影響。"
}]
}
支持語言
下表為各語言對(duì)應(yīng)代碼:
英文名 | 中文名 | 代碼 |
---|
Arabic | 阿拉伯語 | ar |
German | 德語 | de |
English | 英語 | en |
Spanish | 西班牙語 | es |
French | 法語 | fr |
Hindi | 印地語 | hi |
Indonesian | 印度尼西亞語 | id |
Italian | 意大利語 | it |
Japanese | 日語 | ja |
Korean | 韓語 | ko |
Dutch | 荷蘭語 | nl |
Portuguese | 葡萄牙語 | pt |
Russian | 俄語 | ru |
Thai | 泰語 | th |
Vietnamese | 越南語 | vi |
中文 | zh-CHS |
中文繁體 | zh-CHT |
Afrikaans | 南非荷蘭語 | af |
Azeerbaijani | 阿塞拜疆語 | az |
Belarusian | 白俄羅斯語 | be |
Bulgarian | 保加利亞語 | bg |
Bangla | 孟加拉語 | bn |
Bosnian (Latin) | 波斯尼亞語 | bs |
Catalan | 加泰隆語 | ca |
Cebuano | 宿務(wù)語 | ceb |
Corsican | 科西嘉語 | co |
Czech | 捷克語 | cs |
Welsh | 威爾士語 | cy |
Danish | 丹麥語 | da |
Greek | 希臘語 | el |
Esperanto | 世界語 | eo |
Estonian | 愛沙尼亞語 | et |
Basque | 巴斯克語 | eu |
Persian | 波斯語 | fa |
Finnish | 芬蘭語 | fi |
Frisian | 弗里西語 | fy |
Irish | 愛爾蘭語 | ga |
Scots | 蘇格蘭蓋爾語 | gd |
Galician | 加利西亞語 | gl |
Gujarati | 古吉拉特語 | gu |
Hausa | 豪薩語 | ha |
Hawaiian | 夏威夷語 | haw |
Hebrew | 希伯來語 | he |
Croatian | 克羅地亞語 | hr |
Haitian | 海地克里奧爾語 | ht |
Hungarian | 匈牙利語 | hu |
Armenian | 亞美尼亞語 | hy |
Igbo | 伊博語 | ig |
Icelandic | 冰島語 | is |
Javanese | 爪哇語 | jw |
Georgian | 格魯吉亞語 | ka |
Kazakh | 哈薩克語 | kk |
Khmer | 高棉語 | km |
Kannada | 卡納達(dá)語 | kn |
Kurdish | 庫爾德語 | ku |
Kyrgyz | 柯爾克孜語 | ky |
Latin | 拉丁語 | la |
Luxembourgish | 盧森堡語 | lb |
Lao | 老撾語 | lo |
Lithuanian | 立陶宛語 | lt |
Latvian | 拉脫維亞語 | lv |
Malagasy | 馬爾加什語 | mg |
Maori | 毛利語 | mi |
Macedonian | 馬其頓語 | mk |
Malayalam | 馬拉雅拉姆語 | ml |
Mongolian | 蒙古語 | mn |
Marathi | 馬拉地語 | mr |
Malay | 馬來語 | ms |
Maltese | 馬耳他語 | mt |
Myanmar (Burmese) | 緬甸語 | my |
Nepali | 尼泊爾語 | ne |
Norwegian | 挪威語 | no |
Nyanja (Chichewa) | 齊切瓦語 | ny |
Punjabi | 旁遮普語 | pa |
Polish | 波蘭語 | pl |
Pashto | 普什圖語 | ps |
Romanian | 羅馬尼亞語 | ro |
Sindhi | 信德語 | sd |
Sinhala (Sinhalese) | 僧伽羅語 | si |
Slovak | 斯洛伐克語 | sk |
Slovenian | 斯洛文尼亞語 | sl |
Samoan | 薩摩亞語 | sm |
Shona | 修納語 | sn |
Somali | 索馬里語 | so |
Albanian | 阿爾巴尼亞語 | sq |
Serbian (Cyrillic) | 塞爾維亞語(西里爾文) | sr-Cyrl |
Serbian (Latin) | 塞爾維亞語(拉丁文) | sr-Latn |
Sesotho | 塞索托語 | st |
Sundanese | 巽他語 | su |
Swedish | 瑞典語 | sv |
Kiswahili | 斯瓦希里語 | sw |
Tamil | 泰米爾語 | ta |
Telugu | 泰盧固語 | te |
Tajik | 塔吉克語 | tg |
Filipino | 菲律賓語 | tl |
Turkish | 土耳其語 | tr |
Ukrainian | 烏克蘭語 | uk |
Urdu | 烏爾都語 | ur |
Uzbek | 烏茲別克語 | uz |
Yiddish | 意第緒語 | yi |
Yoruba | 約魯巴語 | yo |
Cantonese (Traditional) | 粵語 | yue |
Zulu | 南非祖魯語 | zu |
自動(dòng)識(shí)別 | auto |
注意:若列表語言出現(xiàn)不支持的問題,請(qǐng)參考產(chǎn)品定價(jià)列表語種互譯的限制
服務(wù)配置
支持圖片格式 | 圖片大小 | 每小時(shí)最大查詢次數(shù) | 支持語言 |
---|
jpgpngbmp | 2M 內(nèi)(編碼后) | 3600 | 支持多種語言互譯,具體語種參考文檔支持的語言列表 |
錯(cuò)誤代碼列表
錯(cuò)誤碼 | 含義 |
---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后確認(rèn)參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應(yīng)類型 |
107 | 不支持的傳輸加密類型 |
108 | 應(yīng)用ID無效,注冊(cè)賬號(hào),登錄后臺(tái)創(chuàng)建應(yīng)用和實(shí)例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息, |
109 | batchLog格式不正確 |
110 | 無相關(guān)服務(wù)的有效實(shí)例,應(yīng)用沒有綁定服務(wù)實(shí)例,可以新建服務(wù)實(shí)例,綁定服務(wù)實(shí)例。注:某些服務(wù)的翻譯結(jié)果發(fā)音需要tts實(shí)例,需要在控制臺(tái)創(chuàng)建語音合成實(shí)例綁定應(yīng)用后方能使用。 |
111 | 開發(fā)者賬號(hào)無效 |
112 | 請(qǐng)求服務(wù)無效 |
113 | q不能為空 |
114 | 不支持的圖片傳輸方式 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯(cuò)誤 |
202 | 簽名檢驗(yàn)失敗,如果確認(rèn)應(yīng)用ID和應(yīng)用密鑰的正確性,仍返回202,一般是編碼問題。請(qǐng)確保翻譯文本 q 為UTF-8編碼. |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請(qǐng)求的接口與應(yīng)用的平臺(tái)類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺(tái)類型一致。如有疑問請(qǐng)參考入門指南. |
206 | 因?yàn)闀r(shí)間戳無效導(dǎo)致簽名校驗(yàn)失敗 |
207 | 重放請(qǐng)求(接口salt+curtime來防重放(即一個(gè)請(qǐng)求不可以被請(qǐng)求2次),所以salt最好為UUID。) |
301 | 辭典查詢失敗 |
302 | 翻譯查詢失敗 |
303 | 服務(wù)端的其它異常 |
304 | 會(huì)話閑置太久超時(shí) |
401 | 賬戶已經(jīng)欠費(fèi)停 |
402 | offlinesdk不可用 |
411 | 訪問頻率受限,請(qǐng)稍后訪問 |
412 | 長請(qǐng)求過于頻繁,請(qǐng)稍后訪問 |
1001 | 無效的OCR類型 |
1002 | 不支持的OCR image類型 |
1003 | 不支持的OCR Language類型 |
1004 | 識(shí)別圖片過大 |
1201 | 圖片base64解密失敗 |
1301 | OCR段落識(shí)別失敗 |
1411 | 訪問頻率受限 |
1412 | 超過最大識(shí)別字節(jié)數(shù) |
2003 | 不支持的語言識(shí)別Language類型 |
2004 | 合成字符過長 |
2005 | 不支持的音頻文件類型 |
2006 | 不支持的發(fā)音類型 |
2201 | 解密失敗 |
2301 | 服務(wù)的異常 |
2411 | 訪問頻率受限,請(qǐng)稍后訪問 |
2412 | 超過最大請(qǐng)求字符數(shù) |
3001 | 不支持的語音格式 |
3002 | 不支持的語音采樣率 |
3003 | 不支持的語音聲道 |
3004 | 不支持的語音上傳類型 |
3005 | 不支持的語言類型 |
3006 | 不支持的識(shí)別類型 |
3007 | 識(shí)別音頻文件過大 |
3008 | 識(shí)別音頻時(shí)長過長 |
3009 | 不支持的音頻文件類型 |
3010 | 不支持的發(fā)音類型 |
3201 | 解密失敗 |
3301 | 語音識(shí)別失敗 |
3302 | 語音翻譯失敗 |
3303 | 服務(wù)的異常 |
3411 | 訪問頻率受限,請(qǐng)稍后訪問 |
3412 | 超過最大請(qǐng)求字符數(shù) |
4001 | 不支持的語音識(shí)別格式 |
4002 | 不支持的語音識(shí)別采樣率 |
4003 | 不支持的語音識(shí)別聲道 |
4004 | 不支持的語音上傳類型 |
4005 | 不支持的語言類型 |
4006 | 識(shí)別音頻文件過大 |
4007 | 識(shí)別音頻時(shí)長過長 |
4201 | 解密失敗 |
4301 | 語音識(shí)別失敗 |
4303 | 服務(wù)的異常 |
4411 | 訪問頻率受限,請(qǐng)稍后訪問 |
4412 | 超過最大請(qǐng)求時(shí)長 |
5001 | 無效的OCR類型 |
5002 | 不支持的OCR image類型 |
5003 | 不支持的語言類型 |
5004 | 識(shí)別圖片過大 |
5005 | 不支持的圖片類型 |
5006 | 文件為空 |
5201 | 解密錯(cuò)誤,圖片base64解密失敗 |
5301 | OCR段落識(shí)別失敗 |
5411 | 訪問頻率受限 |
5412 | 超過最大識(shí)別流量 |
9001 | 不支持的語音格式 |
9002 | 不支持的語音采樣率 |
9003 | 不支持的語音聲道 |
9004 | 不支持的語音上傳類型 |
9005 | 不支持的語音識(shí)別 Language類型 |
9301 | ASR識(shí)別失敗 |
9303 | 服務(wù)器內(nèi)部錯(cuò)誤 |
9411 | 訪問頻率受限(超過最大調(diào)用次數(shù)) |
9412 | 超過最大處理語音長度 |
10001 | 無效的OCR類型 |
10002 | 不支持的OCR image類型 |
10004 | 識(shí)別圖片過大 |
10201 | 圖片base64解密失敗 |
10301 | OCR段落識(shí)別失敗 |
10411 | 訪問頻率受限 |
10412 | 超過最大識(shí)別流量 |
11001 | 不支持的語音識(shí)別格式 |
11002 | 不支持的語音識(shí)別采樣率 |
11003 | 不支持的語音識(shí)別聲道 |
11004 | 不支持的語音上傳類型 |
11005 | 不支持的語言類型 |
11006 | 識(shí)別音頻文件過大 |
11007 | 識(shí)別音頻時(shí)長過長,最大支持30s |
11201 | 解密失敗 |
11301 | 語音識(shí)別失敗 |
11303 | 服務(wù)的異常 |
11411 | 訪問頻率受限,請(qǐng)稍后訪問 |
11412 | 超過最大請(qǐng)求時(shí)長 |
12001 | 圖片尺寸過大 |
12002 | 圖片base64解密失敗 |
12003 | 引擎服務(wù)器返回錯(cuò)誤 |
12004 | 圖片為空 |
12005 | 不支持的識(shí)別圖片類型 |
12006 | 圖片無匹配結(jié)果 |
13001 | 不支持的角度類型 |
13002 | 不支持的文件類型 |
13003 | 表格識(shí)別圖片過大 |
13004 | 文件為空 |
13301 | 表格識(shí)別失敗 |
15001 | 需要圖片 |
15002 | 圖片過大(1M) |
15003 | 服務(wù)調(diào)用失敗 |
17001 | 需要圖片 |
17002 | 圖片過大(1M) |
17003 | 識(shí)別類型未找到 |
17004 | 不支持的識(shí)別類型 |
17005 | 服務(wù)調(diào)用失敗 |
常用語言 Demo
Java 示例
圖片翻譯 Java demo
Python3 示例
圖片翻譯 python3 demo
C#示例
圖片翻譯 C# demo
PHP1 示例
圖片翻譯 php demo
go 示例
圖片翻譯 go demo