同步图像识别
1. 通过图片链接调用
请求地址
- 国内:
http://api.open.tuputech.com/v3/recognition/<secretId>
- 国外:
http://api-us.open.tuputech.com/v3/recognition/<secretId>
http://api-oversea.open.tuputech.com/v3/recognition/<secretId>
secretId 需替换为您的 secretId,请联系我们为您开通 secretId。
如果您的图片服务器在国外,请通过国外域名调用,避免图片下载失败或超时。
请求方法:
POST
请求头:
Content-Type: application/json
调用参数说明:
参数名称 | 类型 | 是否必需 | 说明 |
---|---|---|---|
image | String/Array[String] | 是 | 1. 支持传入多个图片链接; 2. 支持的图片格式:png、jpg、jpeg、tif、webp、bmp、gif、heif; 3. 为了加快网络传输速度,图片大小默认限制在 10M 以内,且建议对图片进行压缩处理,等比压缩到 [256, 512] 之间。 |
tag | String/Array[String] | 否 | 用于给图片或文本附加额外信息(比如:直播客户可能传房间号,或者主播 ID 信息)。方便后续根据 tag 搜索到相关的图片或文本; 1. 支持多个 tag 参数,和 image 或 text 参数一一对应; 2. 如果 tag 只有一个,或者 tag 数量少于 image 或 text,缺省用最后一个 tag 补全(尾补全)。 |
task | String/Array[String] | 否 | 如果需要只执行接口下的某些审核的任务,可通过此参数指定,任务 id 的形式,如:54bcfc6c329af61034f7c2fc 。不传该参数的话,执行该接口下的全部审核任务。 |
🆕 sequenceId | String/Array[String] | 否 | 连续帧图的组别 ID,例如直播间 ID 等,基于此 ID 进行该 ID 组别下的连续帧相似度识别(启用连续帧相似度识别服务必传)。 1. 支持多个 sequenceId 参数,和 image 参数按照顺序一一对应; 2. 需要保证同一 sequenceId 下的图片帧,在同一请求中唯一,并且在不同请求间按照时间顺序有一定的间隔(防止乱序) |
referer | String | 否 | 图普根据图片 url 下载图片时,将其赋值给 HTTP Header 的 Referer,用于图片防盗链。 |
timestamp | Number | 是 | 当前的服务器的 Unix 时间戳,可以是毫秒或秒级。 |
nonce | Number | 是 | 随机数,建议是 [0-1] 之间的小数,如:0.1527317095951506 。 |
signature | String | 是 | 我们采用的数字证书签名算法是:RSA-SHA256 ,签名输出类型是:base64 ,具体步骤如下:1. 所有参与签名的参数为: secretId ,timestamp ,nonce ,用英文半角逗号 , 相连,得到 sign_string ;2. 利用您的私钥,使用 RSA-SHA256 算法签名,输出为 base64 格式,得到参数 signature 的值。点击 管理公钥证书 查看如何生成私钥,及如何上传您的公钥用于数字签名的认证。 |
QPS限制
- 1 秒最多允许请求 50 次;
- 1 个请求最多携带 10 张图片;
如有特殊并发需求,请联系我们。
2. 通过图片 base64 调用
请求地址
- 国内:
http://api.open.tuputech.com/v3/recognition/image/sync/base64/<secretId>
- 国外:
http://api-us.open.tuputech.com/v3/recognition/image/sync/base64/<secretId>
http://api-oversea.open.tuputech.com/v3/recognition/image/sync/base64/<secretId>
secretId 需替换为您的 secretId,请联系我们为您开通 secretId。
请求方法:
POST
请求头:
Content-Type: application/json
调用参数说明:
参数名称 | 类型 | 是否必需 | 说明 |
---|---|---|---|
images | Array[String] | 是 | 1. 图片列表,列表元素内容为图片 base64 内容; 2. 支持的图片格式:png、jpg、jpeg、tif、webp、bmp、gif; 3. 为了加快网络传输速度,图片大小必须在 10M 以内,且建议对图片进行压缩处理,等比压缩到 [256, 512] 之间,再进行 base64 编码 |
tags | Array[String] | 否 | 用于给图片或文本附加额外信息(比如:直播客户可能传房间号,或者主播 ID 信息)。方便后续根据 tag 搜索到相关的图片或文本。 2. tags 数目和 images 参数一一对应; 3. 如果 tags 只有一个,或者 tags 数量少于 image 或 text,缺省用最后一个 tag 补全(尾补全)。 |
tasks | Array[String] | 否 | 如果需要只执行接口下的某些审核的任务,可通过此参数指定,任务 id 的形式,如:["54bcfc6c329af61034f7c2fc"] 。不传该参数的话,执行该接口下的全部审核任务。 |
timestamp | Number | 是 | 当前的服务器的 Unix 时间戳,可以是毫秒或秒级。 |
nonce | Number | 是 | 随机数,建议是 [0-1] 之间的小数,如:0.1527317095951506 。 |
signature | String | 是 | 我们采用的数字证书签名算法是:RSA-SHA256 ,签名输出类型是:base64 ,具体步骤如下:1. 所有参与签名的参数为: secretId ,timestamp ,nonce ,用英文半角逗号 , 相连,得到 sign_string ;2. 利用您的私钥,使用 RSA-SHA256 算法签名,输出为 base64 格式,得到参数 signature 的值。点击 管理公钥证书 查看如何生成私钥,及如何上传您的公钥用于数字签名的认证。 |
QPS限制
- 1 秒最多允许请求 50 次;
- 1 个请求最多携带 10 张图片;
- 每个请求总大小必须小于等于 30MB【json body 总大小】
如有特殊并发需求,请联系我们。
3. 通过上传图片文件调用
请求地址
- 国内:
http://api.open.tuputech.com/v3/recognition/<secretId>
- 国外:
http://api-us.open.tuputech.com/v3/recognition/<secretId>
http://api-oversea.open.tuputech.com/v3/recognition/<secretId>
secretId 需替换为您的 secretId,请联系我们为您开通 secretId。
如果您的图片服务器在国外,请通过国外域名调用,避免图片下载失败或超时。
请求方法:
POST
请求头:
Content-Type: multipart/form-data
调用参数说明:
参数名称 | 类型 | 是否必需 | 说明 |
---|---|---|---|
image | File/String | 是 | 1. 支持多个 image 参数,也就是上传多个图片文件; 2. 本接口也支持传入图片链接,但建议通过 JSON 调用; 3. 支持的图片格式:png、jpg、jpeg、tif、webp、bmp、gif、heif; 4. 为了加快网络传输速度,图片大小必须在 10M 以内,且建议对图片进行压缩处理,等比压缩到 [256, 512] 之间。 |
tag | String | 否 | 用于给图片或文本附加额外信息(比如:直播客户可能传房间号,或者主播 ID 信息)。方便后续根据 tag 搜索到相关的图片或文本。 1. 支持多个 tag 参数,和 image 或 text 参数一一对应; 2. 如果 tag 只有一个,或者 tag 数量少于 image 或 text,缺省用最后一个 tag 补全(尾补全)。 |
task | String | 否 | 如果需要只执行接口下的某些审核的任务,可通过此参数指定,任务 id 的形式,如:54bcfc6c329af61034f7c2fc 。不传该参数的话,执行该接口下的全部审核任务。 |
sequenceId | String | 否 | 连续帧 id,用于连续帧相似度识别模型。 1. 支持多个 sequenceId 参数,和 image 参数一一对应; 2. 如果 sequenceId 只有一个,或者 sequenceId 数量少于 image,缺省用最后一个 sequenceId 补全(尾补全); 3. 建议按照图片帧的出现顺序分别调用接口,而非在一次请求中传入多张图片帧。 |
referer | String | 否 | 图普根据图片url下载图片时,将其赋值给 HTTP Header 的 Referer,用于图片防盗链。 |
timestamp | Number | 是 | 当前的服务器的 Unix 时间戳,可以是毫秒或秒级。 |
nonce | Number | 是 | 随机数,建议是 [0-1] 之间的小数,如:0.1527317095951506 。 |
signature | String | 是 | 我们采用的数字证书签名算法是:RSA-SHA256 ,签名输出类型是:base64 ,具体步骤如下:1. 所有参与签名的参数为: secretId ,timestamp ,nonce ,用英文半角逗号 , 相连,得到 sign_string ;2. 利用您的私钥,使用 RSA-SHA256 算法签名,输出为 base64 格式,得到参数 signature 的值。点击 管理公钥证书 查看如何生成私钥,及如何上传您的公钥用于数字签名的认证。 |
QPS限制
- 1 秒最多允许请求 50 次;
- 1 个请求最多携带 10 张图片;
如有特殊并发需求,请联系我们。
curl请求示例
单图:
curl -X POST --header 'Content-Type: multipart/form-data' \
-F 'image=@your_image_file_path_or_url' \
-F 'timestamp=1553249299' \
-F 'nonce=0.04708760756305974' \
-F 'signature=your_signature' \
'http://api.open.tuputech.com/v3/recognition/your_secret_id'
多图:
curl -X POST --header 'Content-Type: multipart/form-data' \
-F 'image=@your_image_file_path_or_url_0' \
-F 'image=@your_image_file_path_or_url_1' \
-F 'timestamp=1553249299' \
-F 'nonce=0.04708760756305974' \
-F 'signature=your_signature' \
'http://api.open.tuputech.com/v3/recognition/your_secret_id'
指定任务的curl请求示例
task指定只跑色情任务
curl -X POST --header 'Content-Type: multipart/form-data' \ -F 'image=@your_image_file_path_or_url' \ -F 'timestamp=1553249299' \ -F 'task=54bcfc6c329af61034f7c2fc' \ -F 'nonce=0.04708760756305974' \ -F 'signature=your_signature' \ 'http://api.open.tuputech.com/v3/recognition/your_secret_id'
task指定跑色情、暴恐任务
curl -X POST --header 'Content-Type: multipart/form-data' \ -F 'image=@your_image_file_path_or_url' \ -F 'timestamp=1553249299' \ -F 'task=54bcfc6c329af61034f7c2fc' \ -F 'task=5e1d70adeec2874f7318dc52' \ -F 'nonce=0.04708760756305974' \ -F 'signature=your_signature' \ 'http://api.open.tuputech.com/v3/recognition/your_secret_id'
4. 响应数据结构
接口响应
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
signature | String | 是 | 响应经过 JSON 字符串转义后的签名。我们采用的数字证书签名算法是:RSA-SHA256 ,签名输出类型是:base64 ,首先下载图普科技的公钥证书,然后按如下步骤认证:1. 接口返回的响应含两个字段:signature 和 json,signature 是数字签名,json 是真正的有效数据的字符串格式; 2. 用 signature 对 json 进行签名认证,算法: RSA-SHA256 ,输出类型:base64 ,得到认证结果;3. 认证通过后,对 json 字符串解析,得到实际审核结果数据,详见 json 字段说明。 |
json | String | 是 | JSON 字符串,是实际审核结果数据。含: message:与 code 相关的文本信息 timestamp:当前的服务器的 Unix 时间戳。 nonce:随机数。 |
接口响应示例
{
"signature": "signature_from_tupu_service",
"json": "{\"code\":0,\"message\":\"success\",\"nonce\":\"0.5442530125172196\",\"timestamp\":1595318082309}"
}
审核结果
机器审核一般结果返回会解析 label
+ review
。label
对应该模型的识别结果,review
对应是否复审。识别分数高于阈值的即返回 review=false
,即机器确定自己的判断结果;识别分数低于阈值的即返回 review=true
,即机器对自己的判断结果保留,建议人工复审。
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
code | Number | 是 | 请求的状态码,参考服务公共状态码解析 |
message | String | 是 | 请求的状态信息 |
timestamp | Number | 是 | 当前的服务器的Unix时间戳 |
nonce | Number | 是 | 随机数 |
summary | Array[Object] | 是 | 图片汇总结果,数组长度与入参图片数量对应 |
taskId | Object | 是 | 识别任务的结果,每个识别任务会有 全局固定不变 的 taskId 和对应数据结构,请参考审核结果示例中的 54bcfc6c329af61034f7c2fc 。具体各识别任务的数据结构,请参考任务页面,例如 色情识别 |
... | ... | 否 | 其它识别及请求响应结果信息 |
汇总结果
参数名 | 类型 | 是否必有 | 说明 |
---|---|---|---|
code | Number | 是 | 请求的状态码,参考服务公共状态码解析 |
name | String | 是 | 图片url或文件名 |
suggestion | Number | 否 | 建议的操作,参考汇总结果解析 |
riskType | Number | 否 | 风险类型,参考汇总结果解析 |
riskTask | String | 否 | 风险任务 id |
tag | String | 否 | 图片自定义描述 |
审核结果示例
接口响应 json 字段经过解析后得到如下数据结构。
{
"code": 0,
"message": "success",
"timestamp": 1435385737,
"nonce": 0.010413094889372587,
"summary": [{
"code": 0,
"message": "success",
"name": "http://test.com/test1.jpg",
"suggestion": 0,
"riskType": 1,
"riskTask": "<风险任务 id>",
"tag": "t1"
},
{
"code": 14,
"message": "download fail",
"name": "http://test.com/test2.jpg",
"tag": "t2"
}
],
"54bcfc6c329af61034f7c2fc": {
"statistic": [
0,
0,
1
],
"reviewCount": 0,
"fileList": [{
"rate": 0.9927366971969604,
"label": 2,
"name": "http://tuputech.com/test.jpg",
"tag": "some_tag",
"zip": "zip_file_name",
"review": false,
"subLabel": {
"label": 30,
"rate": 0.99,
"review": false
},
"subLabels": [{
"label": "隐晦性行为",
"rate": 0.989293
}, {
"label": "女性只露肩膀",
"rate": 0.774093
}]
}]
}
}