快速开始

内容审核服务以RESTful API方式对外提供服务,服务接口清单见下面接口清单

1. 访问域名

服务接入采用域名解析方式,不用地区接入域名如下:

地区域名
中国ai.aivacom.com

其他地区接入,请联系技术支持。

2. 请求结构

RESTful API HTTP请求的内容为JSON格式的结构体。各服务请求的JSON结构有所不一样,详见接口清单点击进去各服务接口定义。
为保证接口清晰、通信安全,对请求路径格式、通信方式等定义如下:

请求路径

通过请求路径区分不同的检测服务,各服务访问路径详见接口清单点击进去各服务接口定义。
以图片内容同步检测接口路径说明路径为例,完整的请求路径为:
https://ai.aivacom.com/app/123456789/v1/image/sync?traceId=bd526528-c0d7-4aa4-803b-f5a3fdc05805

其中

  • ai.aivacom.com 指定了内容检测API服务的服务接入域名;
  • 123456789 指定业务id;
  • v1 指API版本,当前版本为v1
  • /image/sync 指定了具体的业务url,即图片内容同步审核接口;
  • traceId=bd526528-c0d7-4aa4-803b-f5a3fdc05805 指定traceId,用于用户标识每一次请求;

通信协议

所有接口使用HTTPS协议发送请求,如使用HTTP请求则会返回跳转到HTTPS的响应。

字符编码

请求及返回结果都使用UTF-8字符集进行编码。

请求参数

请求参数以JSON格式填到http请求body中。各服务参数详见服务接口详细介绍页面。

3. 身份认证

在使用RESTful API请求获得服务时,您需要在http请求header中填入token字段,用于身份认证。token值的方法生成如下:

  1. 登录后在“个人中心”,点击右上角账户名,进入下拉菜单“接口证书”页面,获得证书ID和证书秘钥;
  2. 将证书ID和秘钥按“证书ID:证书秘钥”格式组成plainIDSecret字符串,对plainIDSecret执行Base64算法编码获得base64IDSecret字符串;
  3. 将“Basic base64IDSecret”填到http请求头部的token字段。

以下为Java 和 Python生成 token 字段的示例代码。

Java示例代码
Python示例代码

4. 接口清单

内容智能鉴审,目前支持面向图片、文本、音频、视频文件,提供基于API URL发起HTTPS POST请求:

检测对象产品功能功能描述
图片图片内容审核检测图片中是否包含违规信息
音频音频内容审核检测声音片段中是否包含违规信息
文本文本内容审核检测文本片段中是否包含违规信息
视频视频内容审核检测视频片段中的视频数据、音频数据是否包含违规信息
实时流实时拉流审核检测实时音频、视频流中是否包含违规信息
聚联云直播聚联云直播审核检测聚联云直播系统音频、视频直播流中是否包含违规信息

图片内容审核

接口检测方式默认并发描述
app/{appid}/v1/image/sync同步20次并发同步图片检测

音频内容审核

接口检测方式默认并发描述
app/{appid}/v1/audio/sync同步20次并发同步音频检测
app/{appid}/v1/audio/async异步20次并发异步音频检测

文本内容审核

接口检测方式默认并发描述
app/{appid}/v1/text/sync同步20次并发同步文本检测

视频内容审核

接口检测方式默认并发描述
app/{appid}/v1/video/async异步20次并发异步视频检测

实时拉流审核

接口检测方式默认并发描述
app/{appid}/v1/video/live实时任务20次并发实时音视频流审核

聚联云直播审核

接口检测方式默认并发描述
app/{appId}/v1/audio/stream实时任务20次并发聚联云互动音频审核
app/{appId}/v1/video/stream实时任务20次并发聚联云互动视频审核

5. 返回结果

所有请求均返回JSON格式数据。

返回结果示例

{                       // 1. 当前请求
  "code": 200,          // 请求错误码
  "message": "OK",
  "traceId": "817ac1c0-7875-41ee-9bea-7edc7d2e9285",
  "requestId": "21028cd6-8d9a-448c-acf6-54a17429b2ad",
  "timestamp": 1590548848,
  "data": [
    {                   // 2. 当前请求的每个送审数据
      "code": 200,      // 数据处理错误码
      "message": "OK",
      "dataId": "sex.jpg",
      "taskId": "af65f1ab-df37-440b-a550-5eab48e87774",
      "results": [
        {               // 3. 当前数据每个检测类型的结果
          "code": 200,  // 检测错误码
          "message": "OK",
          "action": "porn",
          "label": "sexy",
          "rate": 0.9660250544548035,
          "suggestion": "block"
        }
      ]
    }
  ]
}

如上返回结果示例,结果JSON结构从外到内依次对应:1.当前请求;2.当前请求的每个送审数据;3.当前数据每个检测类型的结果。

请求错误码

codemessage描述
200OK成功
400不确定请求内容解析异常 或者 参数错误
429Too many requests请求超过流量限制

数据处理和检测错误码

codemessage描述
200OK成功
400不确定通用输入异常
401Download data from URL failed数据下载失败
402Decode BASE64 data failed数据BASE64解码失败
403Input too large传入数据过大
410Audio decode failed音频解码异常
411Input audio too long音频输入时长过长
412Convert audio to text failed音频转文字失败
413Audio check failed音频鉴别失败
420Image decode failed图片解码异常
421Image check failed图片识别失败
500不确定内部服务异常
503Service temporarily unavailable服务临时不可用

附件一 身份认证示例代码

Java示例代码

String restfulId = "qawsedrftg";        // 您的证书ID
String restfulSecret = "abcdefghijk";   // 您的证书秘钥

// 生成token
String plainIDSecret = restfulId + ":" + restfulSecret;
String base64IDSecret = new String(Base64.encodeBase64(plainIDSecret.getBytes("UTF-8")));

// 生成request对象,并将token信息加入请求header
Request request = new Request.Builder()
    .addHeader("token", "Basic " + base64IDSecret)
    ...

Python示例代码

#!/usr/bin/python3
import requests
import base64

appid = 123456                 # 您的业务ID
restful_id = 'qawsedrftg'      # 您的证书ID
restful_secret = 'abcdefghijk' # 您的证书秘钥

# 填写http header
headers = {
    "content-type": "application/json"
}
# 生成token
auth = base64.b64encode(("%s:%s" % (restful_id, restful_secret)).encode('utf-8'))
headers['token'] = 'Base ' + str(auth,'utf-8')

# request
url = "https://ai.aivacom.com/app/123456/v1/image/sync?traceId=bd526528-c0d7-4aa4-803b-f5a3fdc05805"
body = {}
res = requests.post(url, json=body, headers=headers)

附件二 检测流程图

同步检测流程

image


异步检测流程

image


实时任务检测流程

image

<