异步图片识别

异步图片识别服务支持批量提交图片任务进行识别,通过查询和回调的方式异步获取结果,适用于需要异步处理数据的场景。

注意:

  1. 当您通过回调地址接收回调结果时,需要在 5 秒内返回 HTTP 状态码 200 的响应,回调最多重试 2 次,建议您在回调接口中考虑幂等操作。

  2. 识别结果缓存 2 小时,在此期间您可以通过图片的 requestId 查询结果。

  3. 目前异步图片识别支持通过图片链接或 base64 提交。

1. 通过图片链接进行异步识别

1.1 请求地址

区域 请求地址
国内 http://api.open.tuputech.com/v3/recognition/image/async/<SecretId>

SecretId 需替换为您的应用 ID(SID)。

1.2 请求方法

POST

1.3 请求头

Content-Type: application/json

1.4 并发及文件大小说明

默认每秒请求数不超过 50 次,单次请求图片数量不超过 10 张,图片大小不超过 10MB。请联系我们调整并发及文件限制。

1.5 请求参数

参数名称 类型 是否必需 说明
timestamp Number 当前的服务器的 Unix 时间戳,可以是毫秒或秒级
nonce Number 随机数
signature String RSA-SHA256 算法签名。签名步骤:
1. 将参与签名的参数(secretIdtimestampnonce)用英文半角逗号 , 拼接,得到 SignString
2. 使用您的私钥以 RSA-SHA256 算法对 SignString 签名,然后进行 Base64 编码,得到 signature 字符串。

点击 数字证书 下载私钥;
点击 签名及验证示例 查看签名示例
images Array<image> 图片链接数组。
1. 支持的图片格式:png、jpg、jpeg、tif、webp、bmp、gif、heif;
2. 为了加快网络传输速度,图片大小默认限制在 10MB 以内,建议对图片进行压缩处理,等比压缩到 [256, 512] 之间
tasks Array[String] TaskId 数组。通过此参数指定应用(SID)下需要调用的识别任务,如:["54bcfc6c329af61034f7c2fc"];不传该参数时,调用该应用(SID)下的全部识别任务

Image

参数名称 类型 是否必需 说明
url String 图片链接
callbackUrl String 回调地址。若为空,不进行结果回调
tag String 图片额外的业务信息,例如直播房间 ID,消息 ID 或 JSON 字符串,调用完成后可以在控制台根据 tag 搜索调用记录。
sequenceId String 连续帧图的组别 ID,例如直播间 ID 等,基于此 ID 进行该 ID 组别下的连续帧相似度识别(调用连续帧相似度识别任务时必传)。
1. 需要保证同一 sequenceId 下的图片帧,在同一请求中唯一,并且在不同请求间按照时间顺序有一定的间隔(防止乱序)

1.6 响应内容

参数名称 类型 说明
json String 响应内容 JSON 转义后的字符串
signature String 响应内容签名

1.6.1 响应参数

参数名称 类型 是否可能为空 说明
images Array<image> 图片提交结果,与请求参数 images 一一对应

Image

参数名称 类型 是否可能为空 说明
code Number 状态码,标识该图片是否提交成功,参考 服务公共状态码解析
message String 错误信息
requestId String 图片请求 ID,唯一标识该图片。字符串长度 24 ~ 255 (可能随着应用演进产生变化)
tag String 图片额外的业务信息
sequenceId String 连续帧图的组别 ID

1.7 请求示例

{
  "timestamp": "<timestamp>",
  "nonce": "<nonce>",
  "signature": "<signature>",
  "tasks": [
    "54bcfc6c329af61034f7c2fc"
  ],
  "images": [
    {
      "content": "http://example.com/sample.jpeg",
      "callbackUrl": "http://example.com/callback?roomId=test",
      "tag": "<tag>",
      "sequenceId": "<sequenceId>"
    }
  ]
}

1.8 响应示例

{
  "json": "{\"code\":0,\"images\":[{\"code\":0,\"message\":\"success\",\"requestId\":\"1656562127-62bd21cfb502a595c17a0d29\",\"tag\":\"test\"},{\"code\":0,\"message\":\"success\",\"requestId\":\"1656562127-62bd21cfb502a595c17a0d2a\",\"tag\":\"test\"},{\"code\":0,\"message\":\"success\",\"requestId\":\"1656562127-62bd21cfb502a595c17a0d2b\",\"tag\":\"test\"}],\"message\":\"success\",\"nonce\":0.7824416824349484,\"timestamp\":1656562127}",
  "signature": "iq72eJlFhYrbMJQxwPOG9my9kGSAVZnnW5GeH8kTOUaxj1sn0J2nDMSBi/5EnOU6nhUm2sgEWEoR4C/Oou4CD3++jV4BYfg/wAq5Vs953IaPJESGt+k9bgkxtijlYhKWyMtWecl41A9JkQAt+Vh2I7JxCy5n5/MRfRlqw49XSac="
}

2. 通过图片 Base64 进行异步识别

2.1 请求地址

区域 请求地址
国内 http://api.open.tuputech.com/v3/recognition/image/async/base64/<SecretId>

SecretId 需替换为您的应用 ID(SID)。

2.2 请求方法

POST

2.3 请求头

Content-Type: application/json

2.4 并发及文件大小说明

默认每秒请求数不超过 50 次,单次请求图片数量不超过 10 张,图片大小不超过 10MB。请联系我们调整并发及文件限制。

2.5 请求参数

参数名称 类型 是否必需 说明
timestamp Number 当前的服务器的 Unix 时间戳,可以是毫秒或秒级
nonce Number 随机数
signature String RSA-SHA256 算法签名。签名步骤:
1. 将参与签名的参数(secretIdtimestampnonce)用英文半角逗号 , 拼接,得到 SignString
2. 使用您的私钥以 RSA-SHA256 算法对 SignString 签名,然后进行 Base64 编码,得到 signature 字符串。

点击 数字证书 下载私钥;
点击 签名及验证示例 查看签名示例
images Array<image> 图片 Base64 数组。
1. 支持的图片格式:png、jpg、jpeg、tif、webp、bmp、gif、heif;
2. 为了加快网络传输速度,图片大小默认限制在 10MB 以内,建议对图片进行压缩处理,等比压缩到 [256, 512] 之间
tasks Array[String] TaskId 数组。通过此参数指定应用(SID)下需要调用的识别任务,如:["54bcfc6c329af61034f7c2fc"];不传该参数时,调用该应用(SID)下的全部识别任务

Image

参数名称 类型 是否必需 说明
content String 图片 Base64
callbackUrl String 回调地址。若为空,不进行结果回调
tag String 图片额外的业务信息,例如直播房间 ID,消息 ID 或 JSON 字符串,调用完成后可以在控制台根据 tag 搜索调用记录。
sequenceId String 连续帧图的组别 ID,例如直播间 ID 等,基于此 ID 进行该 ID 组别下的连续帧相似度识别(调用连续帧相似度识别任务时必传)。
1. 需要保证同一 sequenceId 下的图片帧,在同一请求中唯一,并且在不同请求间按照时间顺序有一定的间隔(防止乱序)

2.6 响应内容

参数名称 类型 说明
json String 响应内容 JSON 转义后的字符串
signature String 响应内容签名

2.6.1 响应参数

参数名称 类型 是否可能为空 说明
images Array<image> 图片提交结果,与请求参数 images 一一对应

Image

参数名称 类型 是否可能为空 说明
code Number 状态码,标识该图片是否提交成功,参考 服务公共状态码解析
message String 错误信息
requestId String 图片请求 ID,唯一标识该图片。字符串长度 24 ~ 255 (可能随着应用演进产生变化)
tag String 图片额外的业务信息
sequenceId String 连续帧图的组别 ID

2.7 请求示例

{
  "timestamp": "<timestamp>",
  "nonce": "<nonce>",
  "signature": "<signature>",
  "tasks": [
    "54bcfc6c329af61034f7c2fc"
  ],
  "images": [
    {
      "content": "4AAQSkZJRgABAQAA...SEBIXFRQYHjIhHhwc==",
      "callbackUrl": "http://example.com/callback?roomId=test",
      "tag": "<tag>",
      "sequenceId": "<sequenceId>"
    }
  ]
}

2.8 响应示例

{
  "json": "{\"code\":0,\"images\":[{\"code\":0,\"message\":\"success\",\"requestId\":\"1656562127-62bd21cfb502a595c17a0d29\",\"tag\":\"test\"},{\"code\":0,\"message\":\"success\",\"requestId\":\"1656562127-62bd21cfb502a595c17a0d2a\",\"tag\":\"test\"},{\"code\":0,\"message\":\"success\",\"requestId\":\"1656562127-62bd21cfb502a595c17a0d2b\",\"tag\":\"test\"}],\"message\":\"success\",\"nonce\":0.7824416824349484,\"timestamp\":1656562127}",
  "signature": "iq72eJlFhYrbMJQxwPOG9my9kGSAVZnnW5GeH8kTOUaxj1sn0J2nDMSBi/5EnOU6nhUm2sgEWEoR4C/Oou4CD3++jV4BYfg/wAq5Vs953IaPJESGt+k9bgkxtijlYhKWyMtWecl41A9JkQAt+Vh2I7JxCy5n5/MRfRlqw49XSac="
}

3. 查询异步识别结果

3.1 请求地址

区域 请求地址
国内 http://api.open.tuputech.com/v3/recognition/image/async/result/<SecretId>

SecretId 需替换为您的应用 ID(SID)。

3.2 请求方法

POST

3.3 请求头

Content-Type: application/json

3.4 并发说明

默认每秒请求数不超过 10 次。请联系我们调整并发限制。

3.5 请求参数

参数名称 类型 是否必需 说明
timestamp Number 当前的服务器的 Unix 时间戳,可以是毫秒或秒级
nonce Number 随机数
signature String RSA-SHA256 算法签名。签名步骤:
1. 将参与签名的参数(secretIdtimestampnonce)用英文半角逗号 , 拼接,得到 SignString
2. 使用您的私钥以 RSA-SHA256 算法对 SignString 签名,然后进行 Base64 编码,得到 signature 字符串。

点击 数字证书 下载私钥;
点击 签名及验证示例 查看签名示例
requestIds Array[String] 图片 RequestId 数组,单次请求不超过 10 个

3.6 响应内容

参数名称 类型 说明
json String 响应内容 JSON 转义后的字符串
signature String 响应内容签名

3.6.1 响应参数

参数名称 类型 是否可能为空 说明
images Array<image> 图片识别结果,与请求参数 images 一一对应

Image

参数名称 类型 是否可能为空 说明
code Number 状态码,标识该图片是否识别成功,参考 服务公共状态码解析
message String 错误信息
requestId String 图片请求 ID,唯一标识该图片。字符串长度 24 ~ 255 (可能随着应用演进产生变化)
tag String 图片额外的业务信息
sequenceId String 连续帧图的组别 ID
summary Summary 图片所有识别任务的汇总结果,数组长度与入参图片数量对应
[TaskId] Object 图片识别任务的结果,每个识别任务会有 全局固定不变 的 TaskId 和对应数据结构。具体各识别任务的数据结构,请参考任务页面,例如 色情识别

Summary

参数名 类型 是否可能为空 说明
code Number 图片识别状态码,参考 服务公共状态码解析
name String 图片链接或文件名
suggestion Number 建议的操作,参考 汇总结果解析
riskType Number 风险类型,参考 汇总结果解析
riskTask String 风险任务 ID
tag String 图片额外的业务信息

3.7 请求示例

{
  "timestamp": "<timestamp>",
  "nonce": "<nonce>",
  "signature": "<signature>",
  "requestIds": [
    "1656520958-62bc80fe52b2a9f9f694d822",
    "1656507668-62bc4d148611743c8788265b",
    "1656507668-62bc4d148611743c8788265c"
  ]
}

3.8 响应示例

{
  "json": "{\"code\":0,\"images\":[{\"54bcfc6c329af61034f7c2fc\":{\"fileList\":[{\"label\":2,\"name\":\"1656507668-62bc4d148611743c8788265a-0.jpg\",\"rate\":0.9511421918869019,\"review\":true,\"subLabels\":[]}],\"reviewCount\":1,\"statistic\":[0,0,1]},\"code\":0,\"message\":\"success\",\"requestId\":\"1656507668-62bc4d148611743c8788265a\",\"riskType\":0,\"suggestion\":0,\"summary\":[{\"code\":0,\"name\":\"1656507668-62bc4d148611743c8788265a-0.jpg\",\"riskType\":0,\"suggestion\":0}]},{\"54bcfc6c329af61034f7c2fc\":{\"fileList\":[{\"label\":2,\"name\":\"1656507668-62bc4d148611743c8788265b-0.jpg\",\"rate\":0.9501341581344604,\"review\":true,\"subLabels\":[]}],\"reviewCount\":1,\"statistic\":[0,0,1]},\"code\":0,\"message\":\"success\",\"requestId\":\"1656507668-62bc4d148611743c8788265b\",\"riskType\":0,\"suggestion\":0,\"summary\":[{\"code\":0,\"name\":\"1656507668-62bc4d148611743c8788265b-0.jpg\",\"riskType\":0,\"suggestion\":0}]},{\"54bcfc6c329af61034f7c2fc\":{\"fileList\":[{\"label\":2,\"name\":\"1656507668-62bc4d148611743c8788265c-0.jpg\",\"rate\":0.8764230012893677,\"review\":true,\"subLabels\":[]}],\"reviewCount\":1,\"statistic\":[0,0,1]},\"code\":0,\"message\":\"success\",\"requestId\":\"1656507668-62bc4d148611743c8788265c\",\"riskType\":0,\"suggestion\":0,\"summary\":[{\"code\":0,\"name\":\"1656507668-62bc4d148611743c8788265c-0.jpg\",\"riskType\":0,\"suggestion\":0}]}],\"message\":\"success\",\"nonce\":0.4117626883450162,\"timestamp\":1656510461}",
  "signature": "Aeafuc3mydTCL/Hou+U9mb6PiLsxJ5xBZOCRGlxnkzWMl0IzmxqLxdRhAnlmB38nff+oqMim0UpWWlqAk+Sqn/ypwV/bbT1v4TElcp9MeYrQSa+q0qk6VFIhQ4PQ3XJ3gg3f/T8yROjkq6R0Y7VoUbRIfE9VAGMGMmyW6Pk2L4k="
}

4. 识别结果回调请求

4.1 请求方法:

POST

4.2 请求头:

Content-Type: application/json

4.3 回调说明

当您通过回调地址接收回调结果时,需要在 5 秒内返回 HTTP 状态码 200 的响应,回调最多重试 2 次,建议您在回调接口中考虑幂等操作。

4.4 回调内容

参数名称 类型 说明
json String 回调内容 JSON 转义后的字符串
signature String 回调内容签名

4.4.1 回调参数

参数名称 类型 是否可能为空 说明
code Number 状态码,标识该图片是否识别成功,参考 服务公共状态码解析
message String 错误信息
requestId String 图片请求 ID,唯一标识该图片。字符串长度 24 ~ 255 (可能随着应用演进产生变化)
summary Array[Summary] 图片所有识别任务的汇总结果,在此回调场景中长度始终为 1
tag String 图片额外的业务信息
sequenceId String 连续帧图的组别 ID
[TaskId] Object 图片识别任务的结果,每个识别任务会有 全局固定不变 的 TaskId 和对应数据结构。具体各识别任务的数据结构,请参考任务页面,例如 色情识别

Summary

参数名 类型 是否可能为空 说明
code Number 图片识别状态码,参考 服务公共状态码解析
name String 图片链接或文件名
suggestion Number 建议的操作,参考 汇总结果解析
riskType Number 风险类型,参考 汇总结果解析
riskTask String 风险任务 ID
tag String 图片额外的业务信息

4.5 回调示例

{
  "json": "{\"code\":0,\"message\":\"success\",\"nonce\":0.272136242,\"requestId\":\"1662345263-6315602f30d01d799fe6702f\",\"riskType\":0,\"suggestion\":0,\"summary\":[{\"code\":0,\"name\":\"https://static.tuputech.com/api/image/original/cloud-api/storage-233/2022-09-05/10-1/6311be21b6dc05001e63f4a5/1662345263.8674665223082153551.jpg\",\"riskType\":0,\"suggestion\":0,\"tag\":\"test\"}],\"timestamp\":1662345264272,\"54bcfc6c329af61034f7c2fc\":{\"fileList\":[{\"label\":2,\"name\":\"https://static.tuputech.com/api/image/original/cloud-api/storage-233/2022-09-05/10-1/6311be21b6dc05001e63f4a5/1662345263.8674665223082153551.jpg\",\"rate\":0.9321324717952923,\"review\":false,\"subLabel\":{\"label\":27,\"rate\":0.8816077208194688,\"review\":false},\"tag\":\"test\"}],\"reviewCount\":0,\"statistic\":[0,0,1]}}",
  "signature": "Aeafuc3mydTCL/Hou+U9mb6PiLsxJ5xBZOCRGlxnkzWMl0IzmxqLxdRhAnlmB38nff+oqMim0UpWWlqAk+Sqn/ypwV/bbT1v4TElcp9MeYrQSa+q0qk6VFIhQ4PQ3XJ3gg3f/T8yROjkq6R0Y7VoUbRIfE9VAGMGMmyW6Pk2L4k="
}

results matching ""

    No results matching ""