资讯 社区 文档
技术能力
语音技术
文字识别
人脸与人体
图像技术
语言与知识
视频技术

接口说明

内容审核平台-图像

为用户提供色情识别、广告识别、图像垃圾文本识别(反作弊)、恶心图像识别等一系列图像识别接口的一站式服务调用,并且支持用户在控制台中自定义配置所有接口的报警阈值和疑似区间,上传自定义文本黑库和敏感人物名单等。相比于组合服务接口,本接口除了支持自定义配置外,还对返回结果进行了总体的包装,按照用户在控制台中配置的规则直接返回是否合规,如果不合规则指出具体不合规的内容。

public void sample(AipContentCensor client) {
    // 参数为本地图片路径
    String path = "test.jpg";
    JSONObject response = client.imageCensorUserDefined(path, EImgType.FILE, null);
    System.out.println(response.toString());

	// 参数为url
	String url = "http://testurl";
    response = client.imageCensorUserDefined(url, EImgType.URL, null);
    System.out.println(response.toString());

    // 参数为本地图片文件二进制数组
    byte[] file = readImageFile(imagePath);
    response = client.imageCensorUserDefined(file, null);
    System.out.println(response.toString());
}

请求参数详情

参数名称 数据类型 是否必须 备注 样例
image String N
(和imgUrl二选一)
待审核图像Base64编码字符串,
以图像文件形式请求时必填
/9j/4AAQSkZJRgABAQAASABIAAD/4
QBYRXhpZgAATU0AKgAAAAgAAgESAAMAAAABAAYAAIdp
imgUrl String N
(和image二选一)
网图URL地址,
以网图形式请求,
图像Url需要做UrlEncode
https://ai-solution-admin.cdn.bcebos.com/audit%2F
demo%2Fcensoring-demo.jpg
imgType uint64 N 图片类型0:静态图片,1:gif动态图片 1

返回参数详情

参数名称 数据类型 是否必须 备注
log_id Long Y 请求唯一id,用于问题排查
error_code Long N 错误提示码,失败才返回,成功不返回
error_msg String N 错误提示信息,失败才返回,成功不返回
conclusion String N 审核结果,可取值描述:合规、不合规、疑似、审核失败
conclusionType uint64 N 审核结果类型,可取值1、2、3、4,分别代表1:合规,2:不合规,3:疑似,4:审核失败
data Array N 不合规/疑似/命中白名单项详细信息。响应成功并且conclusion为疑似或不合规或命中白名单时才返回,响应失败或conclusion为合规且未命中白名单时不返回。
+error_code uint64 内层错误提示码,底层服务失败才返回,成功不返回
+error_msg string 内层错误提示信息,底层服务失败才返回,成功不返回
+type Integer N 结果具体命中的模型:0:百度官方违禁图库、1:色情识别、2:暴恐识别、3:恶心图识别、4:广告监测、5:政治敏感识别、6:图像质量检测、7:用户图像黑名单、8:用户图像白名单、9:图文审核、11:百度官方违禁词库、12:文本反作弊、13:自定义文本黑名单、14:自定义文本白名单、15:EasyDL自定义模型
+subType Integer N 审核子类型,此字段需参照type主类型字段决定其含义:
当type=0时subType取值含义 :
0:百度官方违禁图
当type=1时subType取值含义: 0:一般色情、1:卡通色情、2:SM、3:低俗、4:儿童裸露、5:艺术品色情、6:性玩具、7:男性性感、8:自然男性裸露、9:女性性感、10:卡通女性性感、11:特殊类、12:亲密行为、13:卡通亲密行为
当type=2时subType取值含义:
0:警察、1:血腥、2:尸体、3:爆炸火灾、4:杀人、5:暴乱、6:暴恐人物、7:军事武器、8:暴恐旗帜、9:血腥动物或动物尸体、10:车祸
当type=3时subType取值含义:
0:恶心图
当type=4时subType取值含义:0:水印、1:二维码、2:条形码
当type=5时subType取值含义:0:政治敏感、1:公众人物、2:自定义敏感人物
当type=6时subType取值含义:
0:图像清晰度、1:图像美观度
当type=7时subType取值含义:
0:用户自定义图像黑名单
当type=8时subType取值含义:
0:用户自定义图像白名单
当type=9时subType取值含义:
0:图像中必须是真人脸
1:人脸必须为正脸
2:左右旋转角度
3:俯仰角度
4:歪头角度
5:人脸不能有遮挡
6:不能遮挡眼睛
7:不能遮挡鼻子
8:不能遮挡嘴
9:不能遮挡下巴
10:不能遮挡脸颊
11:人脸不能佩戴墨镜
12:人脸占比
13:人脸必须清晰
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:违禁、2:文本色情、3:敏感信息、4恶意推广、5:低俗辱骂
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
+msg String N 不合规项描述信息
+probability Float N 不合规项置信度
+datasetName Float N 违规项目所属数据集名称
+stars Array N 敏感人物列表数组,只有敏感人物审核不通过才有
++name String N 敏感人物名称
++probability Float N 人脸相似度
++datasetName Float N 人脸所属数据集名称
+hits Array N 命中关键词信息
++words String N 违规文本关键字
+codes Array N (如果您在策略配置中勾选了二维码识别)二维码或者条形码识别结果
++modelName String N (如果您勾选了EasyDL的模型)命中自定义模型名称
++score Float N (如果您勾选了EasyDL的模型)命中自定义模型置信度
++modelId Array N (如果您勾选了EasyDL的模型)命中自定义模型ID
++label String N (如果您勾选了EasyDL的模型)命中自定义模型标签名称
+type int N 原生结果的类型1:色情识别、2:暴恐识别、3:恶心图识别、4:广告监测、5:政治敏感识别、6:图像质量检测、7:用户图像黑名单、8:用户图像白名单、9:图文审核
+results JSONArray N 每个type可能会调用多个底层服务,此处可能有多个结果

返回示例

// 失败返回示例
{
    "log_id": 149319909347709,
    "error_code": 282800,
    "error_msg":"configId param is error or null"
}
// 成功返回示例-合规
{
    "log_id": 123456789,
    "conclusion": "合规"
}
// 成功返回示例-不合规
{
    "log_id": 123456789,
    "conclusion": "不合规",
    "data": [
        {
            "msg": "存在色情内容",
            "probability": 0.94308,
            "type": 1
        },
        {
            "msg": "存在性感内容",
            "probability": 0.94308,
            "type": 2
        },
        {
            "msg": "存在暴恐内容",
            "probability": 0.94308,
            "type": 3
        },
        {
        "msg": "存在恶心内容",
        "probability": 0.9688154,
        "type": 4
    },
        {
            "msg": "存在政治敏感内容",
            "stars": [
                {
                    "probability": 0.94308,
                    "name": "xxx"
                },
                {
                    "probability": 0.44308,
                    "name": "xxx"
                }
            ],
            "type": 8
        },
        {
            "msg": "存在二维码内容",
            "probability": 0.94308,
            "type": 6
        },
        {
            "msg": "存在水印码内容",
            "probability": 0.94308,
            "type": 5
        },
        {
            "msg": "存在条形码内容",
            "probability": 0.94308,
            "type": 7
        },
        {
            "msg": "包含联系方式",
            "probability": 0.94308,
            "words": "包含联系方式",
            "type": 8
        }
    ]
}

内容审核平台-文本

public void sample(AipContentCensor client) {
    // 参数为待审核的文本字符串
    String text = "测试文本";
    JSONObject response = client.textCensorUserDefined(text);

    System.out.println(response.toString());
}

请求参数详情

参数名称 数据类型 是否必须 备注 样例
text String N 待审核文本字符串 "测试文本"

返回数据参数详情

参数名称 数据类型 是否必须 备注 样例
log_id Long Y 请求唯一id
error_code Long N 错误提示码,失败才返回,成功不返回
error_msg String N 错误提示信息,失败才返回,成功不返回
conclusion String N 审核结果,可取值:合规、不合规、疑似、审核失败
conclusionType uint64 N 审核结果类型,可取值1.合规,2.不合规,3.疑似,4.审核失败
data Array N 不合规/疑似/命中白名单项详细信息。响应成功并且conclusion为疑似或不合规或命中白名单时才返回,响应失败或conclusion为合规且未命中白名单时不返回。
+error_code uint64 内层错误提示码,底层服务失败才返回,成功不返回
+error_msg string 内层错误提示信息,底层服务失败才返回,成功不返回
+type Integer N 审核主类型,11:百度官方违禁词库、12:文本反作弊、13:自定义文本黑名单、14:自定义文本白名单
+subType Integer N 审核子类型,此字段需参照type主类型字段决定其含义:
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:违禁、2:文本色情、3:敏感信息、4:恶意推广、5:低俗辱骂
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
+msg String N 不合规项描述信息
+probability Float N 不合规项置信度
+datasetName Float N 违规项目所属数据集名称
+hits Array N 命中关键词信息
++words。 String N 违规文本关键字

返回示例

// 成功返回示例-合规
{
    "log_id": 15556561295920002,
    "conclusion": "合规",
    "conclusionType": 1
}

或者

{
    "log_id": 15572142621780024,
    "conclusion": "合规",
    "conclusionType": 1,
    "data": [{
        "type": 14,
        "subType": 0,
        "conclusion": "合规",
        "conclusionType": 1,
        "msg": "自定义文本白名单审核通过",
        "hits": [{
            "datasetName": "SLK-测试-自定义文本白名单",
            "words": ["张三"]
        }]
    }]
}
// 成功返回示例-不合规
{
    "log_id": 123456789,
    "conclusion": "不合规",
    "conclusionType": 2,
    "data": [{
        "type": 11,
        "subType": 0,
        "conclusion": "不合规",
        "conclusionType": 2,
        "msg": "存在百度官方默认违禁词库不合规",
        "hits": [{
            "datasetName": "百度默认黑词库",
            "words": ["免费翻墙"]
        }]
    }, {
        "type": 12,
        "subType": 2,
        "conclusion": "不合规",
        "conclusionType": 2,
        "msg": "存在文本色情不合规",
        "hits": [{
            "datasetName": "百度默认文本反作弊库",
            "probability": 1.0,
            "words": ["电话 找小姐"]
        }]
    }, {
        "type": 12,
        "subType": 3,
        "conclusion": "不合规",
        "conclusionType": 2,
        "msg": "存在政治敏感不合规",
        "hits": [{
            "probability": 1.0,
            "datasetName": "百度默认文本反作弊库",
            "words": ["张三"]
        }]
    }, {
        "type": 12,
        "subType": 4,
        "conclusion": "不合规",
        "conclusionType": 2,
        "msg": "存在恶意推广不合规",
        "hits": [{
            "probability": 1.0,
            "datasetName": "百度默认文本反作弊库",
            "words": [""]
        }]
    }, {
        "type": 13,
        "subType": 0,
        "conclusion": "不合规",
        "conclusionType": 2,
        "msg": "存在自定义文本黑名单不合规",
        "hits": [{
            "datasetName": "SLK-测试-自定义黑名单",
            "words": ["我是你爹", "他妈的"]
        }]
    }]
}
// 失败响应示例
{
    "log_id": 149319909347709,
    "error_code": 0,
    "error_msg":"configId error"
}

短音频审核接口

public void sample(AipContentCensor client) {
    //设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);
    //可选参数配置
    HashMap<String, Object> options=new HashMap();
    options.put("rawText","false");
    options.put("split","true");
    // 参数为本地音频
    String path = "test.wav";
    byte[] data = Util.readFileByBytes(path);
    JSONObject response = client.voiceCensorUserDefined(data, 16000, "wav", options);
    System.out.println(response.toString());

	// 参数为音频url
	String url = "http://testurl";
    //采样率
    int rate=1600
    response = client.voiceUrlCensorUserDefined("url", rate, "wav", options);
}

请求参数详情

参数名称 数据类型 是否必须 备注 样例
voice String Y 音频二进制文件
url String Y 音频url路径 与voice二选一
fmt String Y 语言文件格式 音频文件的格式,pcm、wav、amr、m4a;不区分大小写。推荐pcm文件
rate Integer Y 音频采样率[16000] ]
rawText boolean N 是否返回音频识别结果 true:是;false:否 默认为true xxxx
split boolean N true:拆句;false:不拆句返回整段文本 默认为false xxxx

返回参数详情

参数名称 数据类型 是否必须 备注 样例
log_id Long Y 请求唯一id
error_code Long N 错误提示码,失败才返回,成功不返回
error_msg String N 错误提示信息,失败才返回,成功不返回
conclusion String N 总体审核结果,可取值:合规、不合规、疑似、审核失败
conclusionType int N 总体审核结果类型,可取值1.合规,2.不合规,3.疑似,4.审核失败
rawText list N 音频识别文本结果
sn String N 音频数据唯一标识,系统内部产生。如果反馈及debug请提供sn。
data list N 不合规/疑似/命中白名单项详细信息。响应成功并且conclusion为疑似或不合规或命中白名单时才返回,响应失败或conclusion为合规且未命中白名单时不返回。
+text list Y 分段文本结果,若不拆句,则为整段文本
+conclusion list N 当前文本审核结果,可取值:合规、不合规、疑似、审核失败
+conclusionType list N 当前文本审核结果类型,可取值1.合规,2.不合规,3.疑似,4.审核失败
+auditData list N 当前文本审核结果明细
++type int N 审核主类型,11:百度官方违禁词库、12:文本反作弊、13:自定义文本黑名单、14:自定义文本白名单 20:存在娇喘内容
++subType int N 审核子类型,此字段需参照type主类型字段决定其含义:
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:违禁、2:文本色情、3:敏感信息、4:恶意推广、5:低俗辱骂、6:恶意推广-联系方式、7:恶意推广-软文推广、8:广告法审核
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
++msg String N 不合规项描述信息
++hits list N 命中信息
++probability Float N 不合规项置信度
+++datasetName Float N 违规项目所属数据集名称
+++words list N 命中关键词

成功响应示例

{
    "log_id":15656780617612718,
    "conclusion":"不合规",
    "conclusionType":2,
    "rawText":[
        "第一段文本-违规",
        "第二段文本-命中白名单合规",
        "第三段文本-自然合规"
    ],
    "data":[
     {
            "auditData": [
                {
                    "hits": [
                        {
                            "probability": 0.0023267511,
                            "words": []
                        }
                    ],
                    "msg": "存在娇喘内容",
                    "subType": 0,
                    "type": 20
                }
            ],
            "conclusion": "疑似",
            "conclusionType": 3,
            "text": "存在娇喘内容"
        },
        {
            "text":"第一段文本-违规",
            "conclusion":"不合规",
            "conclusionType":2,
            "auditData":[
                {
                    "type":11,
                    "subType":0,               
                    "msg":"存在百度官方默认违禁词库不合规",
                    "hits":[
                        {
                            "datasetName":"百度默认黑词库",
                            "words":[
                                "免费翻墙"
                            ]
                        }
                    ]
                },
                {
                    "type":12,
                    "subType":2, 
                    "msg":"存在文本色情不合规",
                    "hits":[
                        {
                            "datasetName":"百度默认文本反作弊库",
                            "probability":1,
                            "words":[
                                "电话 找小姐"
                            ]
                        }
                    ]
                },
                {
                    "type":13,
                    "subType":0,
                    "msg":"存在自定义文本黑名单不合规",
                    "hits":[
                        {
                            "datasetName":"SLK-测试-自定义黑名单",
                            "words":[
                                "我是你爹",
                                "他妈的"
                            ]
                        }
                    ]
                }
            ]
        },
        {
            "text":"第二段文本-命中白名单合规",
            "conclusion":"合规",
            "conclusionType":1,
            "auditData":[
                {
                    "type":8,
                    "subType":0,
                    "msg":"命中用户自定义白名单",
                    "datasetName":"用户自定义白名单1"
                }
            ]
        },
        {
            "text":"第三段文本-自然合规",
            "conclusion":"合规",
            "conclusionType":1
        }
    ]
}

失败响应示例

{
    "log_id": 149319909347709, 
    "error_code": 0,
    "error_msg":"configId error"
}

短视频审核接口

      AipContentCensor contentCensor = new AipContentCensor("appid","ak","sk");
      
public void sample(AipContentCensor client) {
       //可选参数
       HashMap<String, Object> options=new HashMap();
       options.put("videoUrl2",http://vfx.mtime.cn/Video/2019/03/12/mp4/190312083533415853.mp4");
       options.put("extInfo","[{\"subject\":\"账户信息\",\"fields\":[{\"title\":\"昵称\",\"value\":\"陈翔六点半\"}]}]");
       //视频url 地址
       String videoUrl = "http://vfx.mtime.cn/Video/2019/03/12/mp4/190312083533415853.mp4";
       //视频名字
       String name="videoName";
       //视频id;
       String extId="id";
       //设置链接超时时间
       contentCensor.setConnectionTimeoutInMillis(10000);
       contentCensor.setSocketTimeoutInMillis(20000);
       JSONObject res=contentCensor.videoCensorUserDefined(name, videoUrl, extId, options);
  
       System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 是否必须 备注 样例
name String Y 视频名字
videoUrl String Y 视频主URL地址,若主Url无效或抓取失败,则依次抓取备用地址videoUrl2、videoUrl3、videoUrl4,若全部抓取失败则审核失败
videoUrl2 String N 视频备用URL地址
videoUrl3 String N 视频备用URL地址
videoUrl4 String N 视频备用URL地址
extId String Y 视频在用户平台的唯一ID,方便人工审核结束时数据推送,用户利用此ID唯一锁定一条平台资源,若无可填写视频Url
extInfo JsonArray N 用户自定义字段,用户可以在此字段中添加自定义字段,此字段会展示在审核员页面以帮助审核人员更好的判断视频内容是否合规,具体格式请参照下方示例
+subject String Y 主题描述
+fields JsonArray Y 字段列表
++title String Y 字段名称
++value String Y 字段值

返回数据参数详情

参数名称 数据类型 是否必须 备注 样例
log_id Long Y 调用唯一ID
error_code uint64 N 服务调用错误码,失败才返回,成功不返回
error_msg String N 服务调用提示信息,失败才返回,成功不返回
conclusion String N 审核结果描述,可取值:合规、不合规、疑似
conclusionType Int N 审核结果,可取值:1 合规,2 不合规,3 疑似, 4 审核失败
isHitMd5 boole N 是否命中视频黑库MD5提示,true:命中 false:未命中
msg String N 命中MD5提示
frames JsonArray N 帧审核明细
+frameTimeStamp Long N 帧时间戳
+conclusion Long N 帧审核结果描述,可取值:合规、不合规、疑似
+conclusionType Int N 帧审核结果,可取值:1 合规,2 不合规,3 疑似, 4 审核失败
+frameUrl String N 帧url地址
+frameThumbnailUrl String N 帧缩略图url地址
+data JsonArray N 各维度明细审核结果
++error_code uint64 N 内层错误提示码,底层服务失败才返回,成功不返回
++error_msg string N 内层错误提示信息,底层服务失败才返回,成功不返回
++type uint64 N 审核主类型,0:百度官方违禁图库、1:色情识别、2:暴恐识别、3:恶心图识别、4:广告检测、5:政治敏感识别、6:图像质量检测、7:用户图像黑名单、8:用户图像白名单、10:用户头像审核、11:百度官方违禁词库、12:图文审核、13:自定义文本黑名单、14:自定义文本白名单、15:EasyDL自定义模型、16:敏感旗帜标志识别、21:不良场景识别
++subType uint64 N 审核子类型,此字段需参照type主类型字段决定其含义:
当type=0时subType取值含义:
0:百度官方违禁图
当type=1时subType取值含义:
0:一般色情、1:卡通色情、2:SM、3:低俗、4:儿童裸露、5:艺术品色情、6:性玩具、7:男性性感、8:自然男性裸露、9:女性性感、10:卡通女性性感、11:特殊类、12:亲密行为、13:卡通亲密行为、14:孕肚裸露、15:臀部特写、16:脚部特写、17:裆部特写
当type=2时subType取值含义:
0:警察、1:血腥、2:尸体、3:爆炸火灾、4:杀人、5:暴乱、6:暴恐人物、7:军事武器、8:暴恐旗帜、9:血腥动物或动物尸体、10:车祸、11:枪械、12:弹药、13:刀具、14:武装人员、15、特殊服饰
当type=3时subType取值含义:
0:恶心图、1:性器官特写、2:脏器、3:疾病表症、4:密集恐惧症、5:腐烂食物、6:排泄物、7:恶心动物、8:人体血腥和尸体、9:动物血腥及尸体
当type=4时subType取值含义:
0:水印、1:二维码、2:条形码、3:识别二维码中内容、4:识别条形码中内容、5:不过滤字幕、6:小程序码
当type=5时subType取值含义:
0:政治敏感、1:公众人物、2:自定义敏感人物
当type=6时subType取值含义:
0:图像清晰度、1:图像美观度
当type=7时subType取值含义:
0:用户自定义图像黑名单
当type=8时subType取值含义:
0:用户自定义图像白名单
当type=10时subType取值含义:
0:图像中必须是真人脸、1:人脸必须为正脸、2:左右旋转角度、3:俯仰角度、4:歪头角度、5:人脸不能有遮挡、6:不能遮挡眼睛、7:不能遮挡鼻子、8:不能遮挡嘴、9:不能遮挡下巴、10:不能遮挡脸颊、11:人脸不能佩戴墨镜、12:人脸占比、13:人脸必须清晰
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:违禁、2:文本色情、3:敏感信息、4:恶意推广、5:低俗辱骂、6:广告法审核
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
当type=16时subType取值含义:
0:中国国旗及类似图形、1:中国地图及类似图形、2:党旗、军旗、党徽及类似图形、3:警徽及类似图形、4:各类臂章、5:反动组织旗帜、徽章、标志
当type=21时subType取值含义:
1:真人吸烟、2:卡通吸烟、3:毒品、4:真人饮酒、5:卡通饮酒、6:赌博
++msg String N 不合规项描述信息
++probability Float N 不合规项置信度
++datasetName Float N 违规项目所属数据集名称
++stars Array N 敏感人物列表数组,只有敏感人物审核不通过才有
+++name String N 敏感人物名称
+++probability Float N 人脸相似度
+++datasetName Float N 所属数据集名称
++codes Array N 二维码或者条形码识别结果
++hits Array N 命中信息
+++words Array N 命中关键词
+++modelName String N 命中自定义模型名称
+++score Float N 命中自定义模型置信度
+++modelId Array N 命中自定义模型ID
+++label String N 命中自定义模型标签名称
conclusionTypeGroupInfos JSON N 审核结论汇总
+msg String N 一级违规类型描述信息
+subTypeInfoList List N 二级违规列表。timestamp:帧时间戳;subType:二级违规类型描述
+typeInfo json N type:一级违规类型描述

成功响应示例

{
	"log_id": 15832318739570011,
	"conclusionType": 2,
	"conclusion": "不合规",
	"isHitMd5": false,
	"msg": "未命中视频黑库",
	"frames": [{
		"conclusionType": 2,
		"conclusion": "不合规",
		"frameTimeStamp": 0,
		"frameUrl": "http://bj.bcebos.com/v1/aip-web/2877d59d-414c-4b4f-9b99-9a125b6b2055?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F8801a8dc24914caf2ea3d1c360d24002ccbbffb99c3f74d35a1257d07ea15529",
		"frameThumbnailUrl": "http://bj.bcebos.com/v1/aip-web/84e15149-2f91-4033-bff5-b7c6078107ed?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2Fa90ef9833579b3503863aea51a47e40ab2cd269a9354d8b0f4730c44803170f5",
		"data": [{
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 5,
			"subType": 1,
			"msg": "存在公众人物不合规",
			"stars": [{
				"probability": 0.96015228271484,
				"name": "圆圆"
			}]
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"probability": 0.99330544,
			"type": 4,
			"subType": 0,
			"msg": "存在watermark不合规"
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 13,
			"subType": 0,
			"msg": "存在自定义文本黑名单不合规",
			"hits": [{
				"datasetName": "#################111",
				"words": ["好看视频", "好看视频"]
			}]
		}]
	}, {
		"conclusionType": 2,
		"conclusion": "不合规",
		"frameTimeStamp": 3033,
		"frameUrl": "http://bj.bcebos.com/v1/aip-web/e4bd6b04-59f5-40c6-b83b-fb426d87e714?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F9ebb1ee1ba7d5fa864d2ad6e9a76b28ea07586152815cecba4a44597bee332af",
		"frameThumbnailUrl": "http://bj.bcebos.com/v1/aip-web/801bf227-3ff6-47bc-9759-5e920580d5f1?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F212653b237895ac5a8f6f08d689e975c4a53ca5d4ebb0cfec01fafa88dcdd0bf",
		"data": [{
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 4,
			"subType": 0,
			"probability": 0.99816656,
			"msg": "存在watermark不合规"
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 13,
			"subType": 0,
			"msg": "存在自定义文本黑名单不合规",
			"hits": [{
				"datasetName": "#################111",
				"words": ["好看视频"]
			}]
		}]
	}, {
		"conclusionType": 2,
		"conclusion": "不合规",
		"frameTimeStamp": 6033,
		"frameUrl": "http://bj.bcebos.com/v1/aip-web/b239a644-6fa2-40a1-8a59-f7d0d15918a9?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F4a923722349243c3332ac274338d89d7f8a687ed0fa60e8acb982a5744d18774",
		"frameThumbnailUrl": "http://bj.bcebos.com/v1/aip-web/b063f42f-340d-4275-b59a-21e2a51c254c?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F7a8e81ed06e09b91e92704d0a4654eccfd6a4261408322f428c255f37ab4c6a4",
		"data": [{
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 5,
			"subType": 1,
			"msg": "存在公众人物不合规",
			"stars": [{
				"probability": 0.91569610595703,
				"name": "圆圆"
			}]
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"probability": 0.9982729,
			"type": 4,
			"subType": 0,
			"msg": "存在watermark不合规"
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 13,
			"subType": 0,
			"msg": "存在自定义文本黑名单不合规",
			"hits": [{
				"datasetName": "#################111",
				"words": ["好看视频", "好看视频"]
			}]
		}]
	}, {
		"conclusionType": 2,
		"conclusion": "不合规",
		"frameTimeStamp": 9033,
		"frameUrl": "http://bj.bcebos.com/v1/aip-web/65d7cc3d-30db-48e2-8bd6-403377b79b7f?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2Fef8c29c559b0a4a903587cc9cadde5580f1e92b2934ed49353c0c6eaf085a126",
		"frameThumbnailUrl": "http://bj.bcebos.com/v1/aip-web/8ae73692-5ec6-4217-be91-2fdd706163e1?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F774b05e67fc5938af9bc0add229e3dfa738738ca5bcfd1754d12f59856a50757",
		"data": [{
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 5,
			"subType": 1,
			"msg": "存在公众人物不合规",
			"stars": [{
				"probability": 0.90749565124512,
				"name": "圆圆"
			}]
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 4,
			"subType": 0,
			"probability": 0.9990488,
			"msg": "存在watermark不合规"
		}, {

			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 13,
			"subType": 0,
			"msg": "存在自定义文本黑名单不合规",
			"hits": [{
				"datasetName": "#################111",
				"words": ["好看视频", "好看视频"]
			}]
		}]
	}, {
		"conclusionType": 2,
		"conclusion": "不合规",
		"frameTimeStamp": 12033,
		"frameUrl": "http://bj.bcebos.com/v1/aip-web/70bbd265-aa8d-47dd-ad3e-f221eacf4638?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F7edc87b8c40c7cf05d27225f771a778849bc2a36f4c0275bda4245b6620ee2ce",
		"frameThumbnailUrl": "http://bj.bcebos.com/v1/aip-web/d6853b59-4e32-4d2b-92fe-78a8deca9a42?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2Fac65249d7009c584edba4235508c7a8a99c36e4037829bfad8612a3eeeffd000",
		"data": [{
			"conclusionType": 2,
			"conclusion": "不合规",
			"probability": 0.9984498,
			"type": 4,
			"subType": 0,
			"msg": "存在watermark不合规"
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 13,
			"subType": 0,
			"msg": "存在自定义文本黑名单不合规",
			"hits": [{
				"datasetName": "#################111",
				"words": ["好看视频", "好看视频"]
			}]
		}]
	}, {
		"conclusionType": 2,
		"conclusion": "不合规",
		"frameTimeStamp": 18033,
		"frameThumbnailUrl": "http://bj.bcebos.com/v1/aip-web/b23b8992-8d13-43d3-b1d6-02fcb4b03202?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2Fb503ac106e521e4bf1cc699595ee9c6115b96b18bf91e138a6fd33e40034e1a9",
		"frameUrl": "http://bj.bcebos.com/v1/aip-web/272de021-d2b2-4abd-a9cb-c1c17b2955d0?authorization=bce-auth-v1%2Ff86a2044998643b5abc89b59158bad6d%2F2020-03-03T10%3A37%3A56Z%2F-1%2F%2F9f778dce855fca47be17c65ca0b3d9fcdac2c0e43b2bdeb4e114806c94c2fd07",
		"data": [{
			"conclusionType": 2,
			"conclusion": "不合规",
			"probability": 0.988422,
			"type": 4,
			"subType": 0,
			"msg": "存在watermark不合规"
		}, {
			"conclusionType": 2,
			"conclusion": "不合规",
			"type": 13,
			"subType": 0,
			"msg": "存在自定义文本黑名单不合规",
			"hits": [{
				"datasetName": "#################111",
				"words": ["好看视频", "好看视频", "好看视频", "好看视频"]
			}]
		}]

	}],
	"conclusionTypeGroupInfos": [{
		"msg": "存在watermark不合规",
		"typeInfo": {
			"type": "广告检测"
		},
		"subTypeInfoList": [{
			"subType": "watermark",
			"timestamp": 0
		}, {
			"subType": "watermark",
			"timestamp": 3033
		}, {
			"subType": "watermark",
			"timestamp": 6033
		}, {
			"subType": "watermark",
			"timestamp": 9033
		}, {
			"subType": "watermark",
			"timestamp": 12033
		}, {
			"subType": "watermark",
			"timestamp": 18033
		}]
	}, {
		"msg": "存在公众人物不合规",
		"typeInfo": {
			"type": "政治敏感识别"
		},
		"subTypeInfoList": [{
			"subType": "公众人物",
			"timestamp": 0
		}, {
			"subType": "公众人物",
			"timestamp": 6033
		}, {
			"subType": "公众人物",
			"timestamp": 9033
		}]
	}, {
		"msg": "存在自定义文本黑名单不合规",
		"typeInfo": {
			"type": "自定义文本黑名单"
		},
		"subTypeInfoList": [{
			"subType": "自定义文本黑名单",
			"timestamp": 0
		}, {
			"subType": "自定义文本黑名单",
			"timestamp": 3033
		}, {
			"subType": "自定义文本黑名单",
			"timestamp": 6033
		}, {
			"subType": "自定义文本黑名单",
			"timestamp": 9033
		}, {
			"subType": "自定义文本黑名单",
			"timestamp": 12033
		}, {
			"subType": "自定义文本黑名单",
			"timestamp": 18033
		}]
	}]
}

失败响应示例

{
    "log_id": 149319909347709, 
    "error_code": 0,
    "error_msg":"configId error"
}

长视频审核接口

提交视频审核任务

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);

    // 可选参数
    HashMap<String, Object> options = new HashMap<String, Object>();
    options.put("frequency", 5);

    // 长视频url
    String videoUrl = "http://testurl";

    // 用户侧视频唯一标识
    String extId = "123456";

    // sdk调用接口并输出结果
    JSONObject res = client.longVideoCensorSubmit(videoUrl, extId, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 描述 是否必须
appid Long 应用ID N
strategyId Long 策略ID N
url String 视频地址 Y
noticeUrl String 通知地址,用于用户接收百度推送的审核结果。用户调用接收结果接口以接收审核结果时必填,调用获取结果接口以获取审核结果时无需填写 N
frequency Integer 抽帧频率,默认 5s一帧,抽帧频率可在内容审核平台-策略中心配置 N
extId String 用户侧视频唯一标识 Y

返回参数详情

参数名称 数据类型 描述 是否必须
logId Long 请求唯一id,用于问题排查 Y
msg String 详细描述结果 N
ret Int 响应状态码,可取值:0处理成功,其他为处理失败 Y
data JSONObject 结果详情 Y
+taskId String 本次任务的唯一标识,可根据该标识查询审核详情 Y
+queueSize Int 队列长度,达到并发处理上线后,后续提交任务进入该队列 Y

成功响应示例
{
    "data":{
        "queueSize":0,
        "taskId":"16293673898580002"
    },
    "logId":16293673898580002,
    "msg":"success",
    "ret":"0"
}

失败响应示例
{
    "logId":16293674334040003,
    "msg":"duplicate request",
    "ret":"282005"
}

拉取视频审核结果

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);

    // 可选参数
    HashMap<String, Object> options = new HashMap<String, Object>();
    options.put("fullFrames", true);

    // taskId: 任务唯一标识
    String taskId = "xxxxxx";

    // sdk调用接口并输出结果
    JSONObject res = client.longVideoCensorPull(taskId, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 描述 是否必须
taskId String 任务唯一标识 Y
appid Long 应用Id,用于确定有没有权限查询这个taskId N
fullFrames boolean 是否需要返回全部的视频帧的审核结论,默认返回违规和疑似的审核数据,如果需要全量数据,字段设置成true。全量数据会增加数据传输时间,降低接口响应速度,建议若无特殊需要,可填写false N

返回参数详情

字段名 类型 是否必须 备注 样例
logId Long Y 请求唯一标识,用于消息追踪
ret int Y 响应状态码,可取值:0处理成功,其他为处理失败
msg String N 请求接口描述,非空,字符串,详细描述结果。
data JSONObject Y 结论详情,参见审核结论详情数据
+error_code uint64 N 服务调用错误码,失败才返回,成功不返回
+error_msg String N 服务调用提示信息,失败才返回,成功不返回
+conclusion String N 审核结果描述,可取值:合规、不合规、疑似
+conclusionType Int N 审核结果,可取值:1 合规,2 不合规,3 疑似, 4 审核失败
+frames JsonArray N 帧审核明细,定义只返回违规、疑似的帧;审核失败、合规的不返回
++frameTimeStamp Long N 帧时间戳
++conclusion Long N 帧审核结果描述,可取值:合规、不合规、疑似
++conclusionType Int N 帧审核结果,可取值:1 合规,2 不合规,3 疑似, 4 审核失败
++frameUrl String N 帧url地址
++frameThumbnailUrl String N 帧缩略图url地址
++data JsonArray N 各维度明细审核结果
+++error_code uint64 N 内层错误提示码,底层服务失败才返回,成功不返回
+++error_msg string N 内层错误提示信息,底层服务失败才返回,成功不返回
+++type uint64 N 结果具体命中的模型:0:百度官方违禁图库、1:色情识别、2:暴恐识别、3:恶心图识别、4:广告检测、5:政治敏感识别、6:图像质量检测、7:用户图像黑名单、8:用户图像白名单、11:百度官方违禁词库、12:图文审核、13:自定义文本黑名单、14:自定义文本白名单、15:EasyDL自定义模型、16:旗帜标志识别、21:违禁识别、24:直播场景审核
+++subType uint64 N 审核子类型,此字段需参照type主类型字段决定其含义:
当type=0时subType取值含义 :
0:百度官方违禁图
当type=1时subType取值含义: 0:一般色情、1:卡通色情、2:SM、3:低俗、4:儿童裸露、5:艺术品色情、6:性玩具、7:男性性感、8:自然男性裸露、9:女性性感、10:卡通女性性感、11:特殊类、12:亲密行为、13:卡通亲密行为、14:孕肚裸露、15:臀部特写、16:脚部特写、17:裆部特写
当type=2时subType取值含义:
0:警察部队、1:血腥、2:尸体、3:爆炸火灾、4:杀人、5:暴乱、6:暴恐人物、7:军事武器、8:暴恐旗帜、9:血腥动物或动物尸体、10:车祸、11:枪械、12:弹药、13:刀具、14:武装人员、15、特殊服饰
当type=3时subType取值含义:
0:恶心图、1:性器官特写、2:脏器、3:疾病表症、4:密集恐惧症、5:腐烂食物、6:排泄物、7:恶心动物、8:人体血腥和尸体、9:动物血腥及尸体
当type=4时subType取值含义:0:水印、1:二维码、2:条形码、3:识别二维码中内容、4:识别条形码中内容、5:不过滤字幕、6:小程序码
当type=5时subType取值含义:0:政治敏感、1:公众人物、2:自定义敏感人脸黑库、3:自定义敏感人脸白库、4:领导人、5:涉政正面人物、6:涉政负面人物、7:其他涉政人物、8:劣迹艺人、9:其他公众人物
当type=6时subType取值含义:
0:图像清晰度、1:图像美观度
当type=7时subType取值含义:
0:用户自定义图像黑名单
当type=8时subType取值含义:
0:用户自定义图像白名单
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:暴恐违禁、2:文本色情、3:政治敏感、4恶意推广、5:低俗辱骂、6:恶意推广-联系方式、7:恶意推广-软文推广、8:广告法审核
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
当type=16时subType取值含义:
0:中国国旗及类似图形、1:中国地图及类似图形、2:党旗、军旗、党徽及类似图形、3:警徽及类似图形、4:各类臂章、5:反动组织旗帜、徽章、标志、6:政治敏感事件、7:领导人影射、8:宗教雕塑
当type=21时subType取值含义:
1:真人吸烟、2:卡通吸烟、3:毒品、4:真人饮酒、5:卡通饮酒、6:赌博、7:纹身、8:钱币、9:竖中指
当type=24时subType取值含义:
0:卫生间场景、1:车内场景、2:卧室场景、3:无意义场景、4:普通场景
+++msg String N 不合规项描述信息
+++probability Float N 不合规项置信度
+++datasetName Float N 违规项目所属数据集名称
+++stars Array N 敏感人物列表数组,只有敏感人物审核不通过才有
++++name String N 敏感人物名称
++++probability Float N 人脸相似度
++++datasetName Float N 所属数据集名称
+++codes Array N 二维码或者条形码识别结果
+++hits Array N 命中信息
++++words Array N 命中关键词
++++modelName String N 命中自定义模型名称
++++score Float N 命中自定义模型置信度
++++modelId Array N 命中自定义模型ID
++++label String N 命中自定义模型标签名称
+conclusionTypeGroupInfos JSON N 审核结论汇总,合规没有该字段返回
++msg String N 一级违规类型描述信息
++subTypeInfoList List N 二级违规列表。timestamp:帧时间戳;subType:二级违规类型描述
++typeInfo json N type:一级违规类型描述

成功响应示例
{
    "data":{
        "conclusion":"不合规",
        "frames":[
            {
                "conclusion":"不合规",
                "frameTimeStamp":480,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/480.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A35Z%2F2592000%2F%2Fad06a942baa1c4e63907a0953b303ecf607b3da4c5944cb21f0dd66908d49c95",
                "data":[
                    {
                        "msg":"存在watermark不合规",
                        "conclusion":"不合规",
                        "probability":0.9168264,
                        "subType":0,
                        "conclusionType":2,
                        "type":4
                    }
                ],
                "conclusionType":2,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/480.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A35Z%2F2592000%2F%2Fad06a942baa1c4e63907a0953b303ecf607b3da4c5944cb21f0dd66908d49c95"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":120,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/120.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2Fcc9b9528d1c6f2db8010f17c29ae1a0d2221af32e6a90ef6f1e8b5d07a909197",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.88397026,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/120.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2Fcc9b9528d1c6f2db8010f17c29ae1a0d2221af32e6a90ef6f1e8b5d07a909197"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":150,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/150.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F3baee8925f5f24059468fb6f8ee987d402408e4437ae0975a20f8b19f5857956",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.85340554,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/150.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F3baee8925f5f24059468fb6f8ee987d402408e4437ae0975a20f8b19f5857956"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":180,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/180.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F0331c417d8b721d4ee88b53f436295c891b531aaf801098d5ebde2205ce4bc3f",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.85520506,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/180.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F0331c417d8b721d4ee88b53f436295c891b531aaf801098d5ebde2205ce4bc3f"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":210,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/210.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F15c32196ee914a6996f2b329f71422c1823922cea6d95701f90095f99a2834fd",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.89889395,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/210.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F15c32196ee914a6996f2b329f71422c1823922cea6d95701f90095f99a2834fd"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":240,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/240.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2Fcc708de7912d927dde56b365d3aecbe362ad47ca962bf77fa9a01a3e92e5ad8b",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.8332106,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/240.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2Fcc708de7912d927dde56b365d3aecbe362ad47ca962bf77fa9a01a3e92e5ad8b"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":360,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/360.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2Ffd9c7788c1da708c5dde025cb7db27547b855685e148295c3423776fc8c9a4aa",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.81543106,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/360.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2Ffd9c7788c1da708c5dde025cb7db27547b855685e148295c3423776fc8c9a4aa"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":300,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/300.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F4b09619af986557f7a612470b04b4df659072117fbce995c38c87466483c9b71",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.86002344,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/300.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F4b09619af986557f7a612470b04b4df659072117fbce995c38c87466483c9b71"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":330,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/330.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F274e0e8d04c1ea62ef68e1f44593b71330f7783a9c769214f1aef16be4d7548f",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.8592974,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/330.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A25Z%2F2592000%2F%2F274e0e8d04c1ea62ef68e1f44593b71330f7783a9c769214f1aef16be4d7548f"
            },
            {
                "conclusion":"疑似",
                "frameTimeStamp":510,
                "frameUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/510.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A35Z%2F2592000%2F%2Fc703deef16674dd2404217ccea19bc2df9a22833e8244d15e545d35ea285a651",
                "data":[
                    {
                        "msg":"疑似存在watermark不合规",
                        "conclusion":"疑似",
                        "probability":0.87063086,
                        "subType":0,
                        "conclusionType":3,
                        "type":4
                    }
                ],
                "conclusionType":3,
                "frameThumbnailUrl":"http://bj.bcebos.com/aip-web/81219/2021-08-12/162877275333721741/510.jpg?authorization=bce-auth-v1%2F5c28b2780c0d4df8a99aec39a07fdb79%2F2021-08-12T15%3A39%3A35Z%2F2592000%2F%2Fc703deef16674dd2404217ccea19bc2df9a22833e8244d15e545d35ea285a651"
            }
        ],
        "conclusionTypeGroupInfos":[
            {
                "msg":"疑似存在watermark不合规",
                "typeInfo":{
                    "type":"广告检测"
                },
                "subTypeInfoList":[
                    {
                        "subType":"watermark",
                        "timestamp":480
                    },
                    {
                        "subType":"watermark",
                        "timestamp":120
                    },
                    {
                        "subType":"watermark",
                        "timestamp":150
                    },
                    {
                        "subType":"watermark",
                        "timestamp":180
                    },
                    {
                        "subType":"watermark",
                        "timestamp":210
                    },
                    {
                        "subType":"watermark",
                        "timestamp":240
                    },
                    {
                        "subType":"watermark",
                        "timestamp":360
                    },
                    {
                        "subType":"watermark",
                        "timestamp":300
                    },
                    {
                        "subType":"watermark",
                        "timestamp":330
                    },
                    {
                        "subType":"watermark",
                        "timestamp":510
                    }
                ]
            }
        ],
        "conclusionType":2
    },
    "logId":16293678179780004,
    "msg":"success",
    "ret":"0"
}

失败响应示例
{
    "logId":16293679811620005,
    "msg":"用户下taskId对应审核任务不存在",
    "ret":"282006"
}

长音频审核接口

提交任务

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);

    // 可选参数
    HashMap<String, Object> options = new HashMap<String, Object>();
    options.put("rawText", true);
    options.put("audioId", "11223344");

    // 音频url
    String voiceUrl = "http://testurl";

    // 音频文件格式
    String fmt = "mp3";

    // 音频采样率
    Integer rate = 16000;

    // sdk调用接口并输出结果
    JSONObject res = client.asyncVoiceCensorSubmit(voiceUrl, fmt, rate, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 是否必须 描述
url String Y 音频地址
fmt String Y 音频文件格式[pcm、wav、amr、m4a、mp3]
rate Integer Y 音频采样率[16000 ]
audioId String N 音频信息标识,限长128位字符长度
account String N 用户信息标识,限长64位字符长度
callbackUrl String N 回调地址,用来接收审核结论的地址
rawText Boolean N 回调接口是否返回音频识别结果,true:返回,false:不返回, 默认为false
split Boolean N 回调接口返回结果rawText字段是否拆句,true:拆句,false:不拆句, 默认为false

返回参数详情

参数名称 数据类型 描述
logId Long 请求唯一id,用于问题排查
msg String 详细描述结果
ret Integer 响应状态码,可取值:0表示处理成功
data JSONObject 结果详情
+taskId String 本次任务的唯一标识,可根据该标识查询审核详情
+audioId Int 用户侧音频标识,如果入参中有该字段,才会透传

成功响应示例
{
	"msg": "success",
	"ret": "0",
	"data": {
		"taskId": "8aa70aa5-f9cf-4aff-973e-98b3a53ef855"
	},
	"logId": 16469816944643902
}

失败响应示例
{
    "log_id": 16469819789325589,
    "error_msg": "invalid parameter",
    "error_code": 282004
}

获取结果——轮询模式

仅输入taskId,获取结果

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);
		
  	// taskId: 任务唯一标识
    String taskId = "xxxxxx";

  	// sdk调用接口并输出结果
    JSONObject res = client.asyncVoiceCensorPullByTaskId(taskId, null);
    System.out.println(res.toString(2));
}

仅输入audioId,获取结果

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);
		
  	// audioId: 用户侧音频唯一标识
    String audioId = "xxxxxx";

  	// sdk调用接口并输出结果
    JSONObject res = client.asyncVoiceCensorPullByAudioId(audioId, null);
    System.out.println(res.toString(2));
}

同时输入taskId和audioId,获取结果

public void sample(AipContentCensor client) {
    // taskId: 任务唯一标识
    String taskId = "xxxxxx";

    // audioId: 用户侧音频唯一标识
    String audioId = "yyyyyy";

    // sdk调用接口并输出结果
    JSONObject res = client.asyncVoiceCensorPull(taskId, audioId, null);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 是否必须 描述
taskId String N 提交任务接口返回的任务的唯一标识(与audioId二选一)
audioId String N 用户侧音频唯一标识(与taskId二选一),当taskId与audioId同时传入时,优先查询taskId

返回参数详情

参数名称 数据类型 描述
error_code Integer 审核服务异常错误码
error_msg string 审核服务异常错误提示信息
log_id Long 请求唯一id,用于问题排查
conclusion String 音频任务审核结果描述:合规、不合规、疑似、审核失败
conclusionType Integer 音频任务审核结果值:1 合规,2 不合规,3 疑似,4 审核失败
sn String 音频数据唯一标识,系统内部产生
audioId String 用户侧音频唯一标识
account String 用户侧音频备注
rawText StringArray 音频识别文本结果,字符串数组
data JSONArray 音频识别文本审核结果,参见data结构

data结构

参数名称 数据类型 描述
text String 分段文本结果
startTime Long 文本对应音频文件的起始时间戳
endTime Long 文本对应音频文件的终止时间戳
conclusion String 文本审核结果,可取值:合规、不合规、疑似、审核失败
conclusionType Integer 文本审核结果类型,可取值1.合规,2.不合规,3.疑似,4.审核失败
auditData JSONArray 文本审核结果详情,参见auditData结构

auditData结构

参数名称 数据类型 描述
type Integer 审核主类型,11:百度官方违禁词库、12:文本反作弊、13:自定义文本黑名单、14:自定义文本白名单 20:存在娇喘内容
subType Integer 审核子类型,此字段需参照type主类型字段决定其含义:
当type=11时subType取值含义:
0:百度官方默认违禁词库
当type=12时subType取值含义:
0:低质灌水、1:违禁、2:文本色情、3:敏感信息、4:恶意推广、5:低俗辱骂、6:恶意推广-联系方式、7:恶意推广-软文推广、8:广告法审核
当type=13时subType取值含义:
0:自定义文本黑名单
当type=14时subType取值含义:
0:自定义文本白名单
msg String 不合规项描述信息
hits JSONArray 命中信息,参见hits结构

hits结构

参数名称 数据类型 描述
probability Float 不合规项置信度
datasetName Float 违规项目所属数据集名称
words StringArray 命中关键词

成功响应示例
{
    "audioId": "",
    "conclusion": "合规",
    "conclusionType": 1,
    "data": [
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 9160,
            "startTime": 0,
            "text": "那就学习那给三角形进行分类下面我们看啊可以按照什么来分类呢首先第一个的分类标准,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 19490,
            "startTime": 9160,
            "text": "就按照它们的角来分类那按照三角形的角来分类呢我们看这些同学呀他们摆出来各自不同形状的三角形,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 27810,
            "startTime": 19490,
            "text": "如何给他们按角来分类呢就有的呢我们看那三角形它角有什么样的特征有的角呢,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 32120,
            "startTime": 27720,
            "text": "它三个有的三角形它那三个角都是锐角,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 40490,
            "startTime": 32120,
            "text": "这是一种类型也就是说三个角都是锐角的三角形还有呢有的三角形呢它有一个钝角,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 44600,
            "startTime": 40490,
            "text": "而其余的那两个角呢都是锐角的,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 52800,
            "startTime": 44550,
            "text": "那还有一种情况呢就是它那个三角形呢有一个直角的那我们下面把它画出图形来看,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 60960,
            "startTime": 52840,
            "text": "说有一个直角的有两个钝角这一类的也就是这个三角形里含有一个角度是直角,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 68600,
            "startTime": 60960,
            "text": "那其余的那两个角呢是锐角那另一种类型呢就是三角形里只有一个钝角,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 79060,
            "startTime": 68600,
            "text": "其余的两个呢是锐角我们看啊这个里边一个是直角其余两个钝角一个是其余两个是锐角啊一个是钝角的时候呢其余两个是锐角,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 89170,
            "startTime": 79060,
            "text": "那还有一种情况呢三个角都是锐角的那这样呢我们就把这个三角形进行了这样以角来进行了三种不同的分类,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 99960,
            "startTime": 90140,
            "text": "分为有一个直角两个锐角的呢我们称它为直角三角形那有一个钝角两个锐角的呢我们称它为,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 109170,
            "startTime": 99960,
            "text": "钝角三角形那看见三个角都是什么锐角的时候我们称它为什么锐角三角形,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 119450,
            "startTime": 109170,
            "text": "那这样我们就是按照三角形它的角来给它进行了分类三种不同的分类包括是直角三角形钝角三角形和,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 121240,
            "startTime": 119390,
            "text": "锐角三角形,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 129030,
            "startTime": 121280,
            "text": "那我们看对于给出来这个锐角三角形直角三角形和钝角三角形我们看,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 139230,
            "startTime": 129030,
            "text": "那把所有三角形作为一个整体来看的话那上面这三种的三角形作为整体的一部分可以用这个图来表示,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 149360,
            "startTime": 139310,
            "text": "那就是整体的这一个图形里记三角形里边整体都是三角形啊它包含一部分是锐角三角形一部分是直角三角形一部分是,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 151000,
            "startTime": 149360,
            "text": "对角三角形,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 160030,
            "startTime": 152010,
            "text": "那我们来看观察下观察一下啊三角形它们这些边有什么样的不同,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 168450,
            "startTime": 160050,
            "text": "那有什么样的特点呢看这个同学说我发现呢有两条边相等的三角形,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 177290,
            "startTime": 168450,
            "text": "那另外一个同学说呢他说还有三条边相等的三角形那还有什么样呢我们看以边呢来不同,"
        },
        {
            "auditData": [],
            "conclusion": "合规",
            "conclusionType": 1,
            "endTime": 180740,
            "startTime": 177290,
            "text": "作为它的分类标准我们刚才是一角,"
        }
    ],
    "log_id": 16469822826124169,
    "sn": "bb7ea0ef-2431-4c64-b62f-e6c638d50e3e"
}

失败响应示例
{
    "error_code": 282006,
    "error_msg": "task not exist"
}

直播审核接口

公共参数说明

数据类型

数据类型 说明
日期类型 前后端传递的日期都以Long类型表示,存储距离1970年1月1日0时起的毫秒数,由前端在显示时根据时区做相应转换
String 标准的json字符串类型,默认长度255
String[] 标准的json字符串数组类型
Int 标准的json的整型类型,默认范围正负2的32次方
Long 标准的json的整型类型,默认范围正负2的64次方
Double 标准的json的浮点数类型

公共请求头

公共请求头(不包含http其他请求头)

头域(Header) 说明
Content-Type application/x-www-form-urlencoded
Accept */*

公共响应头

公共响应头(不包含http其他请求头)

头域(Header) 说明
Content-Type application/json;charset=UTF-8
Accept application/json;charset=UTF-8

公共响应体

响应体的公共部分

消息体(Body) 说明
logId 请求唯一标识,非空,唯一,字符串。用于消息追踪
ret 请求结果,非空,唯一,int,参考响应状态码
msg 请求接口描述,非空,字符串,详细描述结果。

订阅事件

code 说明
1 合规
2 不合规
3 疑似
4 审核失败

状态码

状态码 说明 描述 解决办法
0 处理成功 处理成功 处理成功
282000 logic internal error 系统内部错误 联系业务支持团队或者提交云工单
282003 missing parameters 缺少参数 核验接口文档,补充缺失的参数
282004 invalid parameter 参数无效 核验接口文档,修改不合法的参数
282006 task not exist taskId对应的任务不存在 检查taskId是否正确,taskId是提交任务后接口返回的数据
282905 stream config exist 检测任务已经存在 提交任务参数中,appId和extId的组合要求唯一,一般更换extId即可
282906 request process fail 请求处理失败 联系业务支持团队或者提交云工单

提交任务

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);

    // 可选参数
    HashMap<String, Object> options = new HashMap<>();
    options.put("detectType", 2);

    // 流地址
    String streamUrl = "http://testUrl";

    // 流地址协议类型
    String streamType = "hls";

    // 用户侧流唯一标识
    String extId = "123456789";

    // 直播开始时间戳,当前时间之后,单位ms
    Long startTime = System.currentTimeMillis() + 5 * 1000;

    // 直播结束时间戳, startTime之后,单位ms
    Long endTime = startTime + 2 * 60 * 1000;

    // 直播名称
    String streamName = "wudao";

    // sdk调用接口并输出结果
    JSONObject res = client.liveCensorSave(streamUrl, streamType, extId,
            startTime, endTime, streamName, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 描述 是否必须
appid Long 应用ID
streamUrl String 流地址,支持hls、rtmp、rtsp协议
strategyId Long 策略ID
streamType String 流地址协议类型,例如:hls、rtmp、rtsp等
extId String 用户侧流唯一标识
startTime Long 直播开始时间戳,当前时间之后,单位ms
endTime Long 直播结束时间戳,startTime之后,单位ms
streamName String 直播名称
streamDealInfo Object 音视频流处理方案,字段说明见下方 否,默认是视频抽帧频率5s,音频切分VAD模式,最长时间60s
subEvents Object 音频流、视频流订阅事件,字段说明见下方,默认音频、视频订阅都是违规
noticeUrl String 通知地址 ,接口定义见通知接口
region String hd/hn/hb 否(默认音视频流地址地域为hb,其他无效参数也是默认hb)
detectType Integer 审核类型 否(0:音、视频都审核,1:视频流,2:音频流; 默认0:音视频)

treamDealInfo结构

参数名称 数据类型 描述 是否必须
videoFrequency Integer 视频流处理抽帧频率,单位s,默认5s抽一帧图
audioCutModel Integer 音频流切分方式 ,VAD模式为0,固定时长切分为1,默认VAD切分音频流片段
audioCutLength Integer 音频流切分方式为固定时长时,切分音频的最长时长,单位s。该参数最长支持设置为60s,默认值为60s

subEvents结构

参数名称 数据类型 描述 是否必须
videoSubEvents String 视频流接收通知的订阅事件,参数是订阅事件的code,之间用英文逗号分隔,默认是2。例如 1,2,3,4
audioSubEvents String 音频流接收通知的订阅事件,参数是订阅事件的code,之间用英文逗号分隔,默认是2。例如 1,2,3,4

返回参数详情

参数名称 数据类型 描述 是否必须
公共响应体 公共响应参数,logId,ret,msg
data Object 任务提交成功的返回结构体

data结构

参数名称 数据类型 描述 是否必须
taskId String 音视频流任务的任务Id,全局唯一,用于后续停止流、查询审核结果等操作

成功响应示例
{
    "logId":16139832848680002,
    "msg":"success",
    "ret":"0",
    "data":{
        "taskId":"163214312312312"
    }
}

失败响应示例
{
    "logId": 16139873216780003,
    "msg": "stream config exist",
    "ret": "282905"
}

停止任务

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);
  
    // 可选参数
    HashMap<String, Object> options = new HashMap<>();

    // taskId: 提交任务时返回的id
    String taskId = "xxxxxx";

    // sdk调用接口并输出结果
    JSONObject res = client.liveCensorStop(taskId, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 描述 是否必须
appid Long 应用ID
taskId String 任务Id,提交任务时返回的,需要客户侧自行保存

返回参数详情

参数名称 数据类型 描述 是否必须
公共响应体 公共响应参数,logId,ret,msg

成功响应示例
{
    "logId": 16139962168020001,
    "msg": "success",
    "ret": "0"
}

失败响应示例
{
    "logId": 16469831731471462,
    "msg": "task not exist",
    "ret": "282006"
}

查看任务

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);

    // 可选参数
    HashMap<String, Object> options = new HashMap<>();
  
    // taskId: 提交任务时返回的id
    String taskId = "xxxxxx";

    // sdk调用接口并输出结果
    JSONObject res = client.liveCensorView(taskId, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 描述 是否必须
appid Long 应用ID
taskId String 任务Id

返回参数详情

参数名称 数据类型 描述 是否必须
公共响应体 公共响应参数,logId,ret,msg
data Object 任务提交成功的返回结构体

data结构

参数名称 数据类型 描述 是否必须
taskId String 音视频流任务的任务Id,全局唯一,用于后续停止流、查询审核结果等操作
appId Long 应用ID
streamUrl String 流地址
strategyId Long 策略ID
streamType String 流地址协议类型,例如:http、rmtp等
extId String 用户侧流唯一标识
createTime Long 任务创建时间戳,单位ms
startTime Long 直播开始时间戳,单位ms
endTime Long 直播结束时间戳,单位ms
streamName String 直播名称
streamDealInfo Object 音视频流处理方案,字段说明见下方 否,默认是视频抽帧频率5s,音频切分VAD模式
subEvents Object 音频流、视频流订阅事件,字段说明见下方,默认音频、视频订阅都是违规
noticeUrl String 通知地址 ,接口定义见通知接口
region String hd/hn/hb 否(默认音视频流地址地域为hb,其他无效参数也是默认hb)
detectType Integer 审核类型 否(0:音、视频都审核,1:视频流,2:音频流; 默认0:音视频)

streamDealInfo结构

参数名称 数据类型 描述 是否必须
videoFrequency Integer 视频流处理抽帧频率,单位s,默认5s抽一帧图
audioCutModel Integer 音频流切分方式 ,VAD模式为0,固定时长切分为1,默认VAD切分音频流片段
audioCutLength Integer 音频流切分方式为固定时长时,切分音频的最长时长,单位s。该参数最长支持设置为60s,默认值为60s

subEvents结构 | 参数名称 | 数据类型 | 描述 | 是否必须 | | :------------- | :------: | :----------------------------------------------------------- | :------- | | videoSubEvents | String | 视频流接收通知的订阅事件,参数是订阅事件的code,之间用英文逗号分隔,默认是2。例如 1,2,3,4 | 否 | | audioSubEvents | String | 音频流接收通知的订阅事件,参数是订阅事件的code,之间用英文逗号分隔,默认是2。例如 1,2,3,4 | 否 |


成功响应示例
{
    "data":{
        "appId":1482863739,
        "createTime":1638264055000,
        "detectType":0,
        "endTime":1638264830000,
        "extId":"18",
        "noticeUrl":"http://notice.com",
        "region":"hb",
        "startTime":1638257845000,
        "strategyId":462,
        "streamDealInfo":{
            "audioCutLength":60,
            "audioCutModel":0,
            "videoFrequency":30
        },
        "streamName":"测试终止流",
        "streamType":"rtsp",
        "streamUrl":"rtsp://caoqiyun.bcc-bdbl.baidu.com:8554/record/1_e689aaef88f1474fb9361c9ffd1e6dd0.mp4",
        "subEvents":{
            "audioSubEvents":"2,3",
            "videoSubEvents":"2,3"
        },
        "taskId":"16382640539450029"
    },
    "logId":16382764268520001,
    "msg":"success",
    "ret":"0"
}

失败响应示例
{
    "logId": 16469832999721472,
    "msg": "task not exist",
    "ret": "282006"
}

获取结果——轮询模式

public void sample(AipContentCensor client) {
    // 设置链接超时时间
    client.setConnectionTimeoutInMillis(10000);
    client.setSocketTimeoutInMillis(20000);

    // 可选参数
    HashMap<String, Object> options = new HashMap<String, Object>();
    options.put("subEvents", "1,2,3");
    options.put("mediaType", 2);

    // taskId: 提交任务时返回的id
    String taskId = "xxxxxx";

    // sdk调用接口并输出结果
    JSONObject res = client.liveCensorPull(taskId, options);
    System.out.println(res.toString(2));
}

请求参数详情

参数名称 数据类型 描述 是否必须
appid Long 应用ID
taskId String 任务Id,提交任务时返回的,需要客户侧自行保存
subEvents String 查阅的事件,包括违规、合规等,格式是审核结论的类型汇总,之间用英文逗号隔离,例如1,2,3,4。默认是只订阅不合规 2
mediaType Integer 流类型,1代表视频流,2代表音频流,默认是1
pageNum Integer 页数,默认是1
pageSize Integer 每页数量,最大为1000,默认是10

返回参数详情

参数名称 数据类型 描述 是否必须
taskId String 任务ID
total Integer 帧图或者音频片段总数量
videoFrameList List 视频流帧图信息列表,Object类型的List
audioFrameList List 音频流音频片段信息列表,Object类型的List

videoFrameList结构

参数名称 数据类型 描述 是否必须
frameTimestamp Integer 帧图时间戳,单位s
frameUrl String 帧图地址
frameAuditResult JSONObject 帧图审核结论,JSONObject中字段和图片审核的结果字段相同

audioFrameList结构

参数名称 数据类型 描述 是否必须
startTime Integer 音频片段开始时间,单位s
endTime Integer 音频片段结束时间,单位s
audioUrl String 音频片段地址
audioAuditResult JSONObject 音频片段审核结论,JSONObject中字段和音频同步审核V3返回的结果字段相同

成功响应示例

视频流审核拉取结论

{
    "data":{
        "taskId":"16371338463540001",
        "total":64,
        "videoFrameList":[
            {
                "frameAuditResult":{
                    "conclusion":"不合规",
                    "log_id":16327419922927415,
                    "data":[
                        {
                            "msg":"存在女性性感不合规",
                            "conclusion":"不合规",
                            "probability":0.9771008,
                            "subType":9,
                            "conclusionType":2,
                            "type":1
                        }
                    ],
                    "isHitMd5":false,
                    "conclusionType":2
                },
                "frameTimestamp":1,
                "frameUrl":"http://1111.com"
            },
            {
                "frameAuditResult":{
                    "conclusion":"不合规",
                    "log_id":16327419922927415,
                    "data":[
                        {
                            "msg":"存在女性性感不合规",
                            "conclusion":"不合规",
                            "probability":0.9771008,
                            "subType":9,
                            "conclusionType":2,
                            "type":1
                        }
                    ],
                    "isHitMd5":false,
                    "conclusionType":2
                },
                "frameTimestamp":1,
                "frameUrl":"http://1111.com"
            },
            {
                "frameAuditResult":{
                    "conclusion":"不合规",
                    "log_id":16327419922927415,
                    "data":[
                        {
                            "msg":"存在女性性感不合规",
                            "conclusion":"不合规",
                            "probability":0.9771008,
                            "subType":9,
                            "conclusionType":2,
                            "type":1
                        }
                    ],
                    "isHitMd5":false,
                    "conclusionType":2
                },
                "frameTimestamp":1,
                "frameUrl":"http://1111.com"
            },
            {
                "frameAuditResult":{
                    "conclusion":"不合规",
                    "log_id":16327419922927415,
                    "data":[
                        {
                            "msg":"存在女性性感不合规",
                            "conclusion":"不合规",
                            "probability":0.9771008,
                            "subType":9,
                            "conclusionType":2,
                            "type":1
                        }
                    ],
                    "isHitMd5":false,
                    "conclusionType":2
                },
                "frameTimestamp":1,
                "frameUrl":"http://1111.com"
            },
            {
                "frameAuditResult":{
                    "conclusion":"不合规",
                    "log_id":16327419922927415,
                    "data":[
                        {
                            "msg":"存在女性性感不合规",
                            "conclusion":"不合规",
                            "probability":0.9771008,
                            "subType":9,
                            "conclusionType":2,
                            "type":1
                        }
                    ],
                    "isHitMd5":false,
                    "conclusionType":2
                },
                "frameTimestamp":1,
                "frameUrl":"http://1111.com"
            }
        ]
    },
    "logId":16371356327780005,
    "msg":"success",
    "ret":"0"
}

音频流审核拉取结论

{
    "data":{
        "audioFrameList":[
            {
                "audioAuditResult":{
                    "conclusion":"不合规",
                    "log_id":16347855222910014,
                    "data":[
                        {
                            "conclusion":"不合规",
                            "auditData":[
                                {
                                    "hits":[
                                        {
                                            "probability":0.95653117,
                                            "datasetName":"百度默认文本反作弊库",
                                            "words":[

                                            ]
                                        }
                                    ],
                                    "msg":"存在文本色情不合规",
                                    "subType":2,
                                    "type":12
                                }
                            ],
                            "startTime":0,
                            "conclusionType":2,
                            "endTime":0,
                            "text":"上海啊,上海有个奶奶总没呻吟,你啥时间来的,刚进来是吧,我刚才这个听这么早呢?哦,你压根儿就没下线啊你是?"
                        }
                    ],
                    "rawText":[
                        "上海啊,上海有个奶奶总没呻吟,你啥时间来的,刚进来是吧,我刚才这个听这么早呢?哦,你压根儿就没下线啊你是?"
                    ],
                    "conclusionType":2,
                    "sn":"16347855222910014"
                },
                "audioUrl":"http://aqmidaudio.oss-cn-shanghai.aliyuncs.com/50049_a_99255161_2705227128_1761227312_0_0_1761227312_1761227312_1634782567555_c79faa32-8d8f-44f1-b96e-98715c15a5d5_bb8a97db.aac",
                "endTime":5,
                "startTime":0
            }
        ],
        "taskId":"16371338463540001",
        "total":1
    },
    "logId":16379302043000005,
    "msg":"success",
    "ret":"0"
}

失败响应示例
{
    "logId":16371357212350006,
    "msg":"invalid parameter,mediaType error",
    "ret":"282004"
}
上一篇
快速入门
下一篇
PHPSDK文档