百度智能云图片翻译API文档
文档简介:
接口描述:
基于业界领先的深度学习技术及翻译技术,提供多场景、多语种、高精度的整图识别+翻译服务。您只需传入图片,即可识别图片中的文字并进行翻译。
接口描述
基于业界领先的深度学习技术及翻译技术,提供多场景、多语种、高精度的整图识别+翻译服务。您只需传入图片,即可识别图片中的文字并进行翻译。
请求说明
请求示例
HTTP 方法:POST 请求URL:https://aip.baidubce.com/file/2.0/mt/pictrans/v1
URL参数:
接口类型 | 描述 |
---|---|
access_token | 通过API Key和Secret Key获取的access_token,参考“Access Token获取” |
Header如下:
参数 | 值 |
---|---|
Content-Type | multipart/form-data |
Body中放置请求参数,参数详情如下:
请求参数
字段名 | 类型 | 是否必填 | 描述 |
---|---|---|---|
image | FILES | Y | 请求翻译的图片数据 |
from | TEXT | Y | 源语种方向 |
to | TEXT | Y | 译文语种方向 |
v | INT | Y | 固定值:3 |
paste | INT | N | 图片贴合类型:0 - 关闭文字贴合 1 - 返回整图贴合 2 - 返回块区贴合 |
注:
1)图片类型使用image/jpeg、image/png,注意均为小写。图片大小不超过4M,最短边至少30px,最长边最大4096px,长宽比3:1以内。
2)image使用FILE协议图片上传Content-Type=mutipart/form-data。
返回参数
参数 | 描述 | 备注 | 类型 | |
---|---|---|---|---|
error_code | 返回错误码 | 0 成功 详情查看错误码列表 | int | |
error_msg | 错误信息 | success | ||
data | 返回数据 | 数据结构类似app拍照翻译,去掉一些返回参数 | object | |
from | 源语种方向 | 支持语种方向见下方 | string | |
to | 目标语种方向 | 支持语种方向见下方 | string | |
content | 分段翻译内容 | 包含每一段识别内容详情及定位信息 | array | |
sumSrc | 未分段翻译原文 | 多段之间,请用\n拼接 | string | |
sumDst | 未分段翻译译文 | 多段之间,请用\n拼接 | string | |
pasteImg | 图片贴合 (整屏贴合) | paste=1有效,base64格式 | string |
content数据结构
参数 | 描述 | 备注 |
---|---|---|
src | 识别原文 | |
dst | 翻译译文 | |
rect | 原文擦除矩形位置 | 格式:"rect":"0 0 321 199"矩形的位置信息,依次顺序left, top, wide, high (以图片左上角顶点为坐标原点) |
points | 译文贴合矩形位置 | (坐标0点为左上角),坐标顺序左上,右上,右下,左下 |
lineCount | 合并行数 | 表示该分段信息是原文的多少行合并在一起 |
pasteImg | 分段贴合图片 | paste=2有效,base64格式 |
支持语种方向
语言 | 标识 |
---|---|
自动检测 | auto(目标语言不可设置为auto) |
英语 | en |
中文 | zh |
日语 | jp |
韩语 | kor |
葡萄牙语 | pt |
法语 | fra |
德语 | de |
意大利语 | it |
西班牙 | spa |
俄语 | ru |
荷兰语 | nl |
马来语 | may |
丹麦语 | dan |
瑞典语 | swe |
印尼语 | id |
波兰语 | pl |
罗马尼亚语 | rom |
土耳其语 | tr |
希腊语 | el |
匈牙利语 | hu |
错误码列表
接口流控及鉴权错误码
错误码 | 错误信息 | 描述 | 解决方法 |
---|---|---|---|
1 | Unknown error | 未知错误 | 请重试 |
2 | Service temporarily unavailable | 服务处理超时 | 请重试 |
4 | Open api request limit reached | 集群超限额 | 请重试 |
6 | no permission to access data | 没有接口权限 | 请确认您调用的接口已经被赋权。企业认证生效时间为1小时左右,使用需要企业认证的服务,请等待生效后重试 |
18 | Open api qps request limit reached | QPS超限额 | 请降低您的调用频率 |
19 | Open api total request limit reached | 请求总量超限额 | 请检查当前可用字符/次数包额度 |
100 | Invalid parameter | 请求参数不合法 | 请检查请求参数是否正确,可能的原因是token拉取失败,无效的access token参数等” |
110 | Access token invalid or no longer valid | Access Token失效 | token有效期为30天,注意需要定期更换,也可以每次请求都拉取新token |
111 | Access token expired | Access token过期 | token有效期为30天,注意需要定期更换,也可以每次请求都拉取新token |
通用及业务错误码
错误码 | 错误信息 | 描述 | 解决方法 |
---|---|---|---|
0 | Success | 成功 | |
52001 | TIMEOUT | 请求超时 | 重试 |
52002 | SYSTEM ERROR | 系统错误 | 重试 |
54000 | PARAM_FROM_TO_OR_Q_EMPTY | 必填参数为空或固定参数有误 | 检查参数是否误传 |
54003 | Invalid Access Limit | 访问频率受限 | 请降低您的访问频率 |
54005 | Long query overflow, retry later | 长query请求频繁 | 请降低长query的发送频率,3s后再试 |
58001 | INVALID_TO_PARAM | 译文语言方向不支持,或译文语言字段有误 | 请检查译文语言是否在语言列表里 |
69001 | picture fail | 上传图片数据有误 | 检查图片是否有问题 |
69002 | picture recognition time out | 图片识别超时 | 重试 |
69003 | picture recognition fail | 内容识别失败 | 更换图片重试 |
69004 | picture recognition empty | 识别内容为空 | 更换图片重试 |
69005 | picture size limit 4M | 图片大小超限(超过4M) | 更换图片重试 |
69006 | picture px error | 图片尺寸不符合标准(最短边至少30px,最长边最大4096px) | 更换图片重试 |
69007 | picture format error | 图片格式不支持 | 更换图片重试 |
69012 | Invalid param paste type | 文字贴合参数异常 | 请检查参数 paste,枚举示例:0-关闭文字贴合 1-返回整图贴合 2-返回块区贴合 |
使用案例
如下是一张照片:
返回格式
{
"error_code":"0",
"error_msg":"success",
"data":{
"from":"zh",
"to":"en",
"content":[
{
"src":"这是一个测试 ",
"dst":"This is a test.",
"rect":"79 23 246 43",
"lineCount":1,
"pasteImg":"xxx",
"points":[{"x":254,"y":280},{"x":506,"y":278},{"x":506,"y":303},{"x":254,"y":305}]
},
{
"src":"这是一个例子 ",
"dst":"This is an example.",
"rect":"79 122 201 37",
"lineCount":1,
"pasteImg":"xxx",
"points":[{"x":254,"y":280},{"x":506,"y":278},{"x":506,"y":303},{"x":254,"y":305}]
}
],
"sumSrc":"这是一个测试 这是一个例子 ",
"sumDst":"This is a test. This is an example."
"pasteImg":"xxx"
}
}
请求代码示例
提示一:使用示例代码前,请记得替换其中的示例Token、图片地址或Base64信息。
提示二:部分语言依赖的类或库,请在代码注释中查看下载地址。
<?php /**
* Send post request.
*
* @param string $url request url
* @param string $imgPath 本地图片地址
* @param string $from 翻译源语种
* @param string $to 翻译目标语种
* @param int $paste 贴合类型 0-不贴合 1-整图贴合 2-块区贴合
* @return mixed
*/ function sendPostRequest(string $url, string $imgPath, string $from,
string $to, int $paste = 0) { $header = ['Content-Type' => 'multipart/form-data'];
$formData = [ 'from' => $from, 'to' => $to, 'v' => 3, 'paste' => $paste, 'image' =>
'@' . realpath($imgPath) . ';type=image/jpeg', ]; if (class_exists('CURLFile'))
{ $formData['image'] = new CURLFile(realpath($imgPath)); } $ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $header); curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $formData); curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_TIMEOUT, 10); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
$res = curl_exec($ch); curl_close($ch); return $res; } $token = '[调用鉴权接口获取的token]';/
/ example: xxx $url = 'https://aip.baidubce.com/file/2.0/mt/pictrans/v1?access_token='
. $token; $imgPath = '本地文件绝对路径'; // example: /xx/xx.jpg $from = '源语种方向';
// example: zh $to = '目标语种方向'; // example: en $paste = 1; //图片贴合类型 $res =
sendPostRequest($url, $imgPath, $from, $to, $paste); var_dump($res);