圖片翻譯:基于文字識別與文本翻譯技術(shù),結(jié)合組段和渲染技術(shù),滿足用戶翻譯圖片文字的需求,提升輸入效率。
Hi,您好,歡迎使用有道智云圖片翻譯API接口服務(wù)。
如果您想快速體驗服務(wù),建議您前往圖片翻譯體驗中心 或者在體驗中心右下側(cè)找到小程序二維碼,掃描進行體驗。
本文檔主要針對需要集成HTTP API的技術(shù)開發(fā)工程師,詳細描述圖片翻譯能力相關(guān)的技術(shù)內(nèi)容。
如果您有與我們商務(wù)合作的需求,可以通過以下方式聯(lián)系我們:
商務(wù)郵箱: AIcloud_Business@corp.youdao.com
如果您對文檔內(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
溫馨提示:
圖片翻譯API接口提供有道的圖片文字識別翻譯服務(wù)。您只需要通過調(diào)用圖片翻譯API,傳入圖片的Base64編碼,指定源語言與目標語言,通過POST請求方式,就可以識別圖片中的文字并進行翻譯。
圖片翻譯 API HTTPS地址:
https://openapi.youdao.com/ocrtransapi
調(diào)用方在集成文本翻譯API時,請遵循以下規(guī)則。
規(guī)則 | 描述 |
---|---|
傳輸方式 | HTTPS |
請求方式 | POST |
字符編碼 | 統(tǒng)一使用UTF-8編碼 |
請求格式 | 表單 |
響應(yīng)格式 | JSON |
調(diào)用API需要向接口發(fā)送以下字段來訪問服務(wù)。
字段名 | 類型 | 含義 | 必填 | 備注 |
---|---|---|---|---|
type | text | 文件上傳類型 | True | 目前支持Base64,請置該字段值為1 |
from | text | 源語言 | True | 參考下方的 支持語言 (可設(shè)置為auto) |
to | text | 目標語言 | True | 參考下方的 支持語言 (可設(shè)置為auto) |
appKey | text | 應(yīng)用ID | True | 可在應(yīng)用管理 查看 |
salt | text | UUID | True | uuid,唯一通用識別碼,例:1995882C5064805BC30A39829B779D7B |
sign | text | 簽名 | True | sha256(應(yīng)用ID+input+salt+curtime+應(yīng)用密鑰) |
signType | text | 簽名類型 | True | v3 |
curtime | text | 當前UTC時間戳(秒) | true | TimeStamp |
ext | text | 翻譯結(jié)果音頻格式,支持mp3 | false | mp3 |
q | text | 要識別的圖片 | true | type為1時必填,圖片的Base64編碼 |
docType | text | 服務(wù)器響應(yīng)類型,目前只支持json | false | json |
render | text | 是否需要服務(wù)端返回渲染的圖片,0:否;1:是,默認是0 | false | 0 |
簽名生成方法如下:
signType=v3;
sign=sha256(應(yīng)用ID
+input
+salt
+curtime
+應(yīng)用密鑰
);
其中,input的計算方式為:input
=q前10個字符
+q長度
+q后10個字符
(當q長度大于20)或input
=q字符串
(當q長度小于等于20);
注意:
應(yīng)用ID+q+salt+應(yīng)用密鑰
字符串時,q
不需要做 URL encode,在生成簽名之后,發(fā)送 HTTP 請求之前才需要對要發(fā)送的 q
做URL encode。返回的結(jié)果是json格式,具體說明如下:
字段名 | 字段說明 |
---|---|
orientation | 圖片所對應(yīng)的方向 |
lanFrom | ocr所識別出來認為的圖片中的語言 |
textAngle | 圖片的傾斜角度 |
errorCode | 錯誤碼 |
lanTo | 目標語言 |
resRegions | 圖片翻譯的具體內(nèi)容 |
-boundingBox | 區(qū)域范圍,四個值: 左上角的x值,左上角的y值,區(qū)域的的寬,區(qū)域的高 例如:134,0,1066,249 |
-linesCount | 行數(shù)(用于前端排版) |
-lineheight | 行高 |
-context | 該區(qū)域的原文 |
-linespace | 行間距 |
-tranContent | 翻譯結(jié)果 |
-lines | 當render=1即返回渲染圖片,返回結(jié)果lines |
-color | 圖片顏色(默認字段,暫不支持修改) |
-words | 字數(shù)組,當render=1即返回渲染圖片 |
-text | 行識別結(jié)果,當render=1即返回渲染圖片 |
-word | 識別的字的結(jié)果,當render=1即返回渲染圖片 |
-textHeight | 文字的高度,當render=1即返回渲染圖片 |
注:resRegions是一個json列表,表示圖中多個區(qū)域?qū)?yīng)的翻譯結(jié)果,每個json中有6個參數(shù):boundingBox、linesCount、lineheight、context、linespace、tranContent。
發(fā)送請求,調(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": "有兩種方法可以解決政府的問題。一個(在前一章中討論的)是在一個市場環(huán)境中提供服務(wù)或產(chǎn)品。將評估的負擔從專業(yè)評估人員的肩膀上轉(zhuǎn)移到客戶和客戶的肩上,讓后者用腳投票。這些案件的“委托人”可以是公民個人或政府機構(gòu);重要的是客戶可以從競爭對手那里選擇。"
}, {
"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é)校里選擇,但我們無法想象讓他們在警察部門或軍隊中選擇(至少是在大多數(shù)情況下)。在這種情況下,應(yīng)該采用第二種評價公共服務(wù)的方法:進行示范項目或進行現(xiàn)場試驗。(我將把這兩種觀點交替使用,盡管有些學(xué)校將兩者區(qū)分開來。)實驗是一種計劃中的改變,旨在衡量干預(yù)的效果。它涉及到問這個問題,“如果我改變X, Y會發(fā)生什么,首先確定其他一切都保持不變?”這聽起來很容易,但事實并非如此。"
}, {
"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": "一個好的實驗(壞的實驗比沒有實驗更糟糕)需要一個人做以下的事情:首先,確定要測試的行動過程;叫它治療?!爸委煛笨梢允蔷斓牟呗裕部梢允菍W(xué)校里的,或者是福利項目。其次,確定治療的影響。"
}]
}
下表為各語言對應(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 | 卡納達語 | 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 | |
自動識別 | auto |
注意:若列表語言出現(xiàn)不支持的問題,請參考產(chǎn)品定價列表語種互譯的限制
支持圖片格式 | 圖片大小 | 每小時最大查詢次數(shù) | 支持語言 |
---|---|---|---|
jpgpngbmp | 2M 內(nèi)(編碼后) | 3600 | 支持多種語言互譯,具體語種參考文檔支持的語言列表 |
錯誤碼 | 含義 |
---|---|
101 | 缺少必填的參數(shù),首先確保必填參數(shù)齊全,然后確認參數(shù)書寫是否正確。 |
102 | 不支持的語言類型 |
103 | 翻譯文本過長 |
104 | 不支持的API類型 |
105 | 不支持的簽名類型 |
106 | 不支持的響應(yīng)類型 |
107 | 不支持的傳輸加密類型 |
108 | 應(yīng)用ID無效,注冊賬號,登錄后臺創(chuàng)建應(yīng)用和實例并完成綁定,可獲得應(yīng)用ID和應(yīng)用密鑰等信息, |
109 | batchLog格式不正確 |
110 | 無相關(guān)服務(wù)的有效實例,應(yīng)用沒有綁定服務(wù)實例,可以新建服務(wù)實例,綁定服務(wù)實例。注:某些服務(wù)的翻譯結(jié)果發(fā)音需要tts實例,需要在控制臺創(chuàng)建語音合成實例綁定應(yīng)用后方能使用。 |
111 | 開發(fā)者賬號無效 |
112 | 請求服務(wù)無效 |
113 | q不能為空 |
114 | 不支持的圖片傳輸方式 |
201 | 解密失敗,可能為DES,BASE64,URLDecode的錯誤 |
202 | 簽名檢驗失敗,如果確認應(yīng)用ID和應(yīng)用密鑰的正確性,仍返回202,一般是編碼問題。請確保翻譯文本 q 為UTF-8編碼. |
203 | 訪問IP地址不在可訪問IP列表 |
205 | 請求的接口與應(yīng)用的平臺類型不一致,確保接入方式(Android SDK、IOS SDK、API)與創(chuàng)建的應(yīng)用平臺類型一致。如有疑問請參考入門指南. |
206 | 因為時間戳無效導(dǎo)致簽名校驗失敗 |
207 | 重放請求(接口salt+curtime來防重放(即一個請求不可以被請求2次),所以salt最好為UUID。) |
301 | 辭典查詢失敗 |
302 | 翻譯查詢失敗 |
303 | 服務(wù)端的其它異常 |
304 | 會話閑置太久超時 |
401 | 賬戶已經(jīng)欠費停 |
402 | offlinesdk不可用 |
411 | 訪問頻率受限,請稍后訪問 |
412 | 長請求過于頻繁,請稍后訪問 |
1001 | 無效的OCR類型 |
1002 | 不支持的OCR image類型 |
1003 | 不支持的OCR Language類型 |
1004 | 識別圖片過大 |
1201 | 圖片base64解密失敗 |
1301 | OCR段落識別失敗 |
1411 | 訪問頻率受限 |
1412 | 超過最大識別字節(jié)數(shù) |
2003 | 不支持的語言識別Language類型 |
2004 | 合成字符過長 |
2005 | 不支持的音頻文件類型 |
2006 | 不支持的發(fā)音類型 |
2201 | 解密失敗 |
2301 | 服務(wù)的異常 |
2411 | 訪問頻率受限,請稍后訪問 |
2412 | 超過最大請求字符數(shù) |
3001 | 不支持的語音格式 |
3002 | 不支持的語音采樣率 |
3003 | 不支持的語音聲道 |
3004 | 不支持的語音上傳類型 |
3005 | 不支持的語言類型 |
3006 | 不支持的識別類型 |
3007 | 識別音頻文件過大 |
3008 | 識別音頻時長過長 |
3009 | 不支持的音頻文件類型 |
3010 | 不支持的發(fā)音類型 |
3201 | 解密失敗 |
3301 | 語音識別失敗 |
3302 | 語音翻譯失敗 |
3303 | 服務(wù)的異常 |
3411 | 訪問頻率受限,請稍后訪問 |
3412 | 超過最大請求字符數(shù) |
4001 | 不支持的語音識別格式 |
4002 | 不支持的語音識別采樣率 |
4003 | 不支持的語音識別聲道 |
4004 | 不支持的語音上傳類型 |
4005 | 不支持的語言類型 |
4006 | 識別音頻文件過大 |
4007 | 識別音頻時長過長 |
4201 | 解密失敗 |
4301 | 語音識別失敗 |
4303 | 服務(wù)的異常 |
4411 | 訪問頻率受限,請稍后訪問 |
4412 | 超過最大請求時長 |
5001 | 無效的OCR類型 |
5002 | 不支持的OCR image類型 |
5003 | 不支持的語言類型 |
5004 | 識別圖片過大 |
5005 | 不支持的圖片類型 |
5006 | 文件為空 |
5201 | 解密錯誤,圖片base64解密失敗 |
5301 | OCR段落識別失敗 |
5411 | 訪問頻率受限 |
5412 | 超過最大識別流量 |
9001 | 不支持的語音格式 |
9002 | 不支持的語音采樣率 |
9003 | 不支持的語音聲道 |
9004 | 不支持的語音上傳類型 |
9005 | 不支持的語音識別 Language類型 |
9301 | ASR識別失敗 |
9303 | 服務(wù)器內(nèi)部錯誤 |
9411 | 訪問頻率受限(超過最大調(diào)用次數(shù)) |
9412 | 超過最大處理語音長度 |
10001 | 無效的OCR類型 |
10002 | 不支持的OCR image類型 |
10004 | 識別圖片過大 |
10201 | 圖片base64解密失敗 |
10301 | OCR段落識別失敗 |
10411 | 訪問頻率受限 |
10412 | 超過最大識別流量 |
11001 | 不支持的語音識別格式 |
11002 | 不支持的語音識別采樣率 |
11003 | 不支持的語音識別聲道 |
11004 | 不支持的語音上傳類型 |
11005 | 不支持的語言類型 |
11006 | 識別音頻文件過大 |
11007 | 識別音頻時長過長,最大支持30s |
11201 | 解密失敗 |
11301 | 語音識別失敗 |
11303 | 服務(wù)的異常 |
11411 | 訪問頻率受限,請稍后訪問 |
11412 | 超過最大請求時長 |
12001 | 圖片尺寸過大 |
12002 | 圖片base64解密失敗 |
12003 | 引擎服務(wù)器返回錯誤 |
12004 | 圖片為空 |
12005 | 不支持的識別圖片類型 |
12006 | 圖片無匹配結(jié)果 |
13001 | 不支持的角度類型 |
13002 | 不支持的文件類型 |
13003 | 表格識別圖片過大 |
13004 | 文件為空 |
13301 | 表格識別失敗 |
15001 | 需要圖片 |
15002 | 圖片過大(1M) |
15003 | 服務(wù)調(diào)用失敗 |
17001 | 需要圖片 |
17002 | 圖片過大(1M) |
17003 | 識別類型未找到 |
17004 | 不支持的識別類型 |
17005 | 服務(wù)調(diào)用失敗 |