融媒体解决方案离线结果获取
接口地址
https://as.dun.163.com/v1/mediasolution/callback/results
接口描述
融媒体解决方案检测结果获取接口,获取离线处理的数据后,下次调用,不会再次返回之前获取过的离线数据。建议您使用POST请求, 且仅接受 application/x-www-form-urlencoded 编码格式。
接口请求频率
小于10s/20次,请求频率过快服务器会拒绝处理。
请求参数
该接口参数与请求公共参数一致,businessId可不传,详细见 请求公共参数
参数名称 | 类型 | 是否必选 | 最大长度 | 描述 |
---|---|---|---|---|
version | String | Y | 4 | 接口版本v1 |
响应结果
响应字段如下,响应通用字段已省略,详细见 响应通用字段:
result 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
dataId | String | 调用融媒体检测时传递的dataId字段 |
taskId | String | 数据请求标识,可以根据该标识查询融媒体数据最新结果 |
callback | String | 调用检测时传递的callback字段 |
checkStatus | Number | 检测状态, 1:检测中 2:检测成功 3:检测失败 |
result | Number | 检测结果, 0:无结果(检测失败)1:正常 2:异常 3:疑似 |
resultType | Number | 审核类型,1:机器检测,2:审核 |
censorSource | Number | 审核来源,0:易盾人审,1:用户人审,2:易盾机审 |
evidences | json对象 | 机审证据信息 |
reviewEvidences | json对象 | 人审证据信息,接入人工审核后,参考人审证据信息 |
evidences 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
texts | json数组 | 文本证据信息 |
images | json数组 | 图片证据信息 |
audios | json数组 | 语音证据信息 |
videos | json数组 | 视频证据信息 |
audiovideos | json数组 | 语音视频证据信息 |
files | json数组 | 文档证据信息 |
texts 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
dataId | String | 提交检测时标识的数据id |
action | Number | 检测结果,0:通过,1:嫌疑,2:不通过 |
labels | json数组 | 分类信息 详细数据与文本在线检测labels数据结构一致 |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂,700:灌水,900:其他 |
level | Number | 分类级别,0:通过, 1:嫌疑,2:不通过 |
details | json对象 | 其他信息 |
details 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hint | json数组 | 线索信息,用于定位文本中有问题的部分,辅助人工审核 |
images 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
name | String | 图片标识 |
dataId | String | 提交检测时标识的数据id |
status | Number | 图片检测状态码,定义为:0:检测成功,610:图片下载失败,620:图片格式错误,630:其它 |
action | Number | 检测结果,0:通过,1:嫌疑,2:不通过 |
labels | json数组 | 分类信息 |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,110:性感低俗,200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,900:其他 |
level | Number | 分类级别,0:通过,1:嫌疑,2:不通过 |
rate | Number | 置信度分数,0-1之间取值,1为置信度最高,0为置信度最低。若level为正常,置信度越大,说明正常的可能性越高。若level为不确定或确定,置信度越大,说明垃圾的可能性越高 |
audios 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
dataId | String | 提交检测时标识的数据id |
asrStatus | Number | 音频翻译结果,2:检测中,3:检测完成,4:检测失败 |
asrResult | Number | 音频翻译检测失败原因,1:文件格式错误,2:文件下载失败,3:解析失败,4:音频流不存在 |
action | Number | 检测结果,0:通过,1:嫌疑,2:不通过 |
labels | json数组 | 分类信息 |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,200:广告,260:广告法,300:暴恐,400:违禁,500:涉政,600:谩骂 |
level | Number | 分类级别,0:通过,1:嫌疑,2:不通过 |
details | json对象 | 其他信息 |
details 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
hint | Number | 线索信息,用于定位文本中有问题的部分,辅助人工审核 |
hitType | Number | 命中检测器类型:10:用户名单 11:IP名单 12:设备名单 30:敏感词 110:IP地区限制 130:声纹检测 |
hint 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
value | String | 命中的敏感词或者声纹检测的分值 |
segments | json数组 | 命中敏感词或者声纹检测的音频时间点 |
segments 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
startTime | Number | 最近开始时间点,单位毫秒 |
endTime | Number | 最近结束时间点,单位毫秒 |
videos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
dataId | String | 提交检测时标识的数据id |
status | Number | 视频处理状态码,定义为:0:检测成功,110:请求重复,120:参数错误,130:解析错误,140:数据类型错误 |
level | Number | 视频级别信息,分为0:正常,1:不确定,2:确定,其中不确定的建议人工复审 |
evidences | json对象数组 | 证据信息数组 |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
evidences 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
beginTime | Number | 证据开始相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29" |
endTime | Number | 证据结束相对时间,单位为毫秒,调用方获取后可自行格式化为可视化时间,如:149000 转换为"00:02:29" |
type | Number | 1:图片,2:视频 |
url | String | 证据信息 |
labels | json对象数组 | 证据结果数组 |
labels 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
label | Number | 分类信息,100:色情,110:性感;200:广告,210:二维码,260:广告法,300:暴恐,400:违禁,500:涉政,1020:黑屏,1030:挂机 |
level | Number | 级别信息,分为1:不确定,2:确定 |
rate | Number | 分数 |
audiovideos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
dataId | String | 提交检测时标识的数据id |
result | Number | 检测结果 0:无结果(检测失败), 1:正常 2:异常 3:嫌疑 |
evidences | json对象 | 证据信息数组 |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
evidences 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
audio | json对象 | 语音证据信息,结构与audios数组元素一致 |
video | json对象 | 语音证据信息,结构与videos数组元素一致 |
files 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
dataId | String | 提交检测时标识的数据id |
result | Number | 检测结果 0:无结果(检测失败), 1:正常 2:异常 3:嫌疑 |
failureReason | json对象 | 检测失败原因 |
evidences | json对象 | 证据信息数组 |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
failureReason 说明
错误码 | 描述 |
---|---|
1000 | 文档大小超过上限 |
1001 | 文档格式不支持 |
1002 | 文档下载失败 |
2000 | 文档内容提取失败 |
2001 | 文档内容提取超时 |
3000 | 文档检测失败 |
3001 | 文档文本检测失败 |
3002 | 文档图片检测失败 |
evidences 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
texts | json对象数组 | 文本证据信息 |
images | json对象数组 | 图片证据信息 |
texts 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 当前分段检测数据标识 |
sequence | Number | 当前文本在原始文档中的分段(5000字符/段)序号 |
startText | String | 每段文本的起始20个字符 |
endText | String | 每段文本的结尾20个字符 |
action | Number | 检测结果,0:通过,1:嫌疑,2:不通过 |
labels | json对象数组 | 分类信息 详细数据与文本在线检测labels数据结构一致 |
images 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
taskId | String | 当前图片检测数据标识 |
sequence | Number | 当前图片在原始文档中的序号 |
imageUrl | String | 图片下载地址 |
level | Number | 分类级别,0:正常,1:不确定,2:确定 |
labels | json对象数组 | 分类信息 详细数据与图片在线检测labels数据结构一致 |
reviewEvidences 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
reason | String | 判定原因 |
remark | String | 备注信息 |
detail | json对象数组 | 人审证据详细信息 |
detail 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
texts | json对象数组 | 文本证据信息 |
images | json对象数组 | 图片证据信息 |
audios | json数组 | 语音证据信息 |
videos | json数组 | 视频证据信息 |
audiovideos | json数组 | 语音视频证据信息 |
files | json数组 | 文档证据信息 |
texts 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
text | String | 人审标注文本 |
reason | String | 文本判定原因 |
dataId | String | 提交检测时标识的数据id |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
images 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
url | String | 人审标注图片url |
reason | String | 图片判定原因 |
dataId | String | 提交检测时标识的数据id |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
audios 和 videos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
url | String | 人审标音频或视频url |
startTime | Number | 标注开始时间点,单位毫秒 |
endTime | Number | 标注结束时间点,单位毫秒 |
reason | String | 图片判定原因 |
dataId | String | 提交检测时标识的数据id |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
audiovideos 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
reason | String | 图片判定原因 |
dataId | String | 提交检测时标识的数据id |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
videos | json对象数组 | 视频证据信息 |
audios | json对象数组 | 音频证据信息 |
audiovideos 节点下 videos 和 audios 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
url | String | 人审标音频或视频url |
startTime | Number | 标注开始时间点,单位毫秒 |
endTime | Number | 标注结束时间点,单位毫秒 |
reason | String | 图片判定原因 |
files 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
reason | String | 图片判定原因 |
dataId | String | 提交检测时标识的数据id |
field | String | 数据来源字段名。当数据来自提交接口的 title 或 content 时,此字段值为 title 或 content,当数据来自提交接口扩展字段时,此字段值为扩展字段名 |
texts | json对象数组 | 文本证据信息 |
images | json对象数组 | 图片证据信息 |
files 节点下 texts 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
text | String | 人审标注文本 |
reason | String | 文本判定原因 |
files 节点下 images 数据结构
参数名称 | 类型 | 描述 |
---|---|---|
url | String | 人审标注图片url |
reason | String | 图片判定原因 |
请求示例
/** 产品密钥ID,产品标识 */
private final static String SECRETID = "your_secret_id";
/** 产品私有密钥,服务端生成签名信息使用,请严格保管,避免泄露 */
private final static String SECRETKEY = "your_secret_key";
/** 易盾反垃圾音视频解决方案离线检测结果获取接口地址 */
private final static String API_URL = "https://as.dun.163.com/v1/mediasolution/callback/results";
/** 实例化HttpClient,发送http请求使用,可根据需要自行调参 */
private static HttpClient httpClient = HttpClient4Utils.createHttpClient(100, 20, 10000, 2000, 2000);
/**
*
* @param args
* @throws Exception
*/
public static void main(String[] args) throws Exception {
Map<String, String> params = new HashMap<String, String>();
// 1.设置公共参数
params.put("secretId", SECRETID);
params.put("version", "v1.0");
params.put("timestamp", String.valueOf(System.currentTimeMillis()));
params.put("nonce", String.valueOf(new Random().nextInt()));
// 2.生成签名信息
String signature = SignatureUtils.genSignature(SECRETKEY, params);
params.put("signature", signature);
// 3.发送HTTP请求,这里使用的是HttpClient工具包,产品可自行选择自己熟悉的工具包发送请求
String response = HttpClient4Utils.sendPost(httpClient, API_URL, params, Consts.UTF_8);
// 4.解析接口返回值
JsonObject resultObject = new JsonParser().parse(response).getAsJsonObject();
int code = resultObject.get("code").getAsInt();
String msg = resultObject.get("msg").getAsString();
if (code == 200) {
JsonArray resultArray = resultObject.getAsJsonArray("result");
System.out.println(resultArray);
} else {
System.out.println(String.format("ERROR: code=%s, msg=%s", code, msg));
}
}
响应示例
当获取机器检测离线结果时,输出示例如下:
{
"code": 200,
"msg": "ok",
"result": [
{
"dataId": "81016504",
"taskId": "xxx",
"callback": "xxx",
"result": 2,
"resultType": 1,
"censorSource": 2,
"evidences": {
"texts": [
{
"action": 2,
"labels": [{"label":100,"level":2,"details":{"hint":[]}}],
"field": "content"
}
],
"images": [
{
"name": "xxx",
"labels": [{"label":100,"level":2,"rate":1}],
"field": "content"
},
{
"name": "xxx",
"labels": [{"label":100,"level":2,"rate":1}],
"field": "content"
}
],
"audios": [
{
"action": 2,
"asrStatus": 3,
"asrResult": 0,
"labels": [{"label":100,"level":2,"details":{"hint":[{"value":"嘿嘿","segments":[{"startTime":1,"endTime":4}]}],"hitType":30}}],
"field": "content"
}
],
"videos": [
{
"status": 0,
"level": 2,
"evidences": [{"type":1,"url":"xxx","beginTime":0,"endTime":0,"labels":[{"label":100,"level":2,"rate":1}]}],
"field": "content"
}
],
"audiovideos": [
{
"result": 2,
"evidences": {"audio":{"action":2,"asrStatus":3,"asrResult":0,"labels":[{"label":100,"level":2,"details":{"hint":[{"value":"嘿嘿","segments":[{"startTime":1,"endTime":4}]}],"hitType":30}}]},"video":[{"status":0,"level":2,"evidences":[{"type":1,"url":"xxx","beginTime":0,"endTime":0,"labels":[{"label":100,"level":2,"rate":1}]}]}]},
"field": "content"
}
],
"files": [
{
"dataId": "3104109",
"taskId": "xxx",
"callback": "367299101",
"result": 2,
"evidences": {"texts":[{"taskId":"xxx","sequence":0,"startText":"第0083章 烧!烧!烧!火焰熊熊烧!","endText":"瓦娜斯将军,是没人能担得起这个责任的。","action":2,"labels":[{"level":2,"details":{"hint":["火焰熊熊烧"]},"label":200}]}],"images":[{"taskId":"xxx","sequence":0,"imageUrl":"xxx","level":2,"labels":[{"level":2,"rate":1,"label":200,"source":0},{"level":1,"rate":1,"label":242,"source":1}]}]},
"field": "content"
}
]
}
}
]
}
当获取人工审核离线结果时,输出示例如下:
{
"code": 200,
"msg": "ok",
"result": [
{
"taskId": "0c32b124e4bd43c69ed0e832c1ee1cb5",
"dataId": "242365478655main",
"callback": "callback",
"result": 2,
"checkStatus": 2,
"resultType": 2,
"censorSource": 1,
"reviewEvidences": {
"detail": {
"texts": [
{
"text": "xxxx",
"reason": "原因1",
"field": "title",
"dataId": "0c32b124e4bd43c69ed0e832c1ee1cb5"
},
{
"text": "正常",
"reason": "原因2",
"field": "content",
"dataId": "sample-text"
}
],
"images": [
{
"url": "https://xxxxx",
"reason": "原因3",
"field": "content",
"dataId": "sample-image"
}
],
"audios": [
{
"startTime": 0,
"endTime": 7,
"url": "https://xxxx",
"field": "content",
"dataId": "bad-audio"
}
],
"videos": [
{
"startTime": 0,
"endTime": 7,
"url": "https://xxxx",
"field": "content",
"dataId": "bad-video"
}
],
"audiovideos": [
{
"field": "content",
"dataId": "good-video",
"videos": [{"url":"http://xxxx","startTime":0,"endTime":0,"reason":"原因7"}],
"audios": [{"url":"http://xxxx","startTime":0,"endTime":0,"reason":"原因8"}]
}
],
"files": [
{
"field": "content",
"texts": [{"text":"谓是有","reason":"原因5"}],
"images": [{"url":"https://xxxx","reason":"原因4"}]
}
]
}
}
}
]
}
当无最新离线结果需要获取时,输出示例如下:
{
"code": 200,
"msg": "ok",
"result":[]
}
融媒体解决方案主动回调说明
接口描述
易盾提供主动回调和被动回调数据两种方式,主动回调以数据为维度根据提交时设置的回调地址,检测完成之后将结果推送到回调地址。
主动回调接入
客户接入主动回调的方式很简单,只需要在调用在线检测接口请求参数中指定回调通知参数callbackUrl(即一个http(s)协议接口的URL)
业务类型 | 回调参数名称 | 类型 | 最大长度 | 描述 |
---|---|---|---|---|
融媒体解决方案 | callbackUrl | String | 256 | 融媒体解决方案提交接口中添加callbackUrl字段 |
请求回调接口说明
客户提供的回调地址,需支持 POST 方法,请求数据编码皆为 utf-8。
返回参数结构
| 参数名称 | 类型 | 是否必传 | 描述 | |----------|------|------|------|-----| | secretId | String | Y | 产品秘钥 id ,由易盾反垃圾云服务分配,产品标识 | | signature | String | Y | 请求签名,用来验证此次请求的合法性,具体算法见 接口鉴权 | | callbackData | String | Y | 主动回调推送数据,格式为json字符串,callbackData返回结构与离线结构一致,具体返回结构请查看响应示例 |
接口鉴权
客户主动回调接收接口可以通过业务开通时易盾分配的密钥信息字段进行接口鉴权
/**
* 通过HttpServletRequest做签名验证
*
* @param request
* @return
*/
public static boolean verifySignature(HttpServletRequest request) {
String secretId = request.getParameter("secretId");
String businessId = request.getParameter("businessId");
String signature = request.getParameter("signature");
if (StringUtils.isEmpty(secretId) || StringUtils.isEmpty(signature)) {
// 签名参数为空,直接返回失败
return false;
}
Map<String, String> params = Maps.newHashMap();
for (String paramName : request.getParameterMap().keySet()) {
if (!"signature".equals(paramName)) {
params.put(paramName, request.getParameter(paramName));
}
}
// SECRETKEY:产品私有密钥 SECRETID:产品密钥ID BUSINESSID:业务ID,开通服务时,易盾会提供相关密钥信息
String serverSignature = getSignature(SECRETKEY, params);
return signature.equals(serverSignature) && SECRETID.equals(secretId) && BUSINESSID.equals(businessId);
}
/**
* 生成签名信息
* @param secretKey 产品私钥
* @param params 接口请求参数名和参数值map,不包括signature参数名
* @return
* @throws UnsupportedEncodingException
*/
public static String genSignature(String secretKey, Map<String, String> params) throws UnsupportedEncodingException {
// 1. 参数名按照ASCII码表升序排序
String[] keys = params.keySet().toArray(new String[0]);
Arrays.sort(keys);
// 2. 按照排序拼接参数名与参数值
StringBuffer paramBuffer = new StringBuffer();
for (String key : keys) {
paramBuffer.append(key).append(params.get(key) == null ? "" : params.get(key));
}
// 3. 将secretKey拼接到最后
paramBuffer.append(secretKey);
// 4. MD5是128位长度的摘要算法,用16进制表示,一个十六进制的字符能表示4个位,所以签名后的字符串长度固定为32个十六进制字符。
return DigestUtils.md5Hex(paramBuffer.toString().getBytes("UTF-8"));
}
融媒体解决方案主动回调响应示例
{
"taskId": "934cabc9c5fb4e99a0372ce34f544083",
"dataId": "6060760",
"callback": "1605075259",
"result": 2,
"checkStatus": 2,
"resultType": 1,
"censorSource": 2,
"evidences":
{
"texts": [
{
"action": 1,
"dataId": "972197",
"labels": [
{
"label": 400,
"level": 1,
"details": {
"hint": []
}
}
],
"field": "content"
},
{
"action": 1,
"dataId": "972897",
"labels": [
{
"label": 400,
"level": 1,
"details": {
"hint": []
}
}
],
"field": "content"
}
],
"images": [
{
"name": "934cabc9c5fb4e99a0372ce34f544083",
"dataId": "976667",
"status": 0,
"action": 2,
"labels": [
{
"label": 500,
"level": 2,
"rate": 1
},
{
"label": 300,
"level": 0,
"rate": 0.9075589
},
{
"label": 100,
"level": 0,
"rate": 0.9995516
},
{
"label": 400,
"level": 0,
"rate": 1
},
{
"label": 110,
"level": 0,
"rate": 0.9993758
},
{
"label": 200,
"level": 0,
"rate": 1
},
{
"label": 210,
"level": 0,
"rate": 1
},
{
"label": 900,
"level": 0,
"rate": 1
}
],
"field": "topicTest"
},
{
"name": "934cabc9c5fb4e99a0372ce34f544083",
"dataId": "975557",
"status": 0,
"action": 2,
"labels": [
{
"label": 500,
"level": 2,
"rate": 1
},
{
"label": 300,
"level": 0,
"rate": 0.99643004
},
{
"label": 100,
"level": 0,
"rate": 0.9999136
},
{
"label": 400,
"level": 0,
"rate": 1
},
{
"label": 110,
"level": 0,
"rate": 0.99986494
},
{
"label": 200,
"level": 0,
"rate": 1
},
{
"label": 210,
"level": 0,
"rate": 1
},
{
"label": 900,
"level": 0,
"rate": 1
}
],
"field": "content"
},
{
"name": "934cabc9c5fb4e99a0372ce34f544083",
"dataId": "97551157",
"status": 0,
"action": 2,
"labels": [
{
"label": 110,
"level": 2,
"rate": 0.99964607
},
{
"label": 500,
"level": 0,
"rate": 0.97126865
},
{
"label": 300,
"level": 0,
"rate": 0.97853136
},
{
"label": 100,
"level": 0,
"rate": 0.99979776
},
{
"label": 400,
"level": 0,
"rate": 1
},
{
"label": 200,
"level": 0,
"rate": 1
},
{
"label": 210,
"level": 0,
"rate": 1
},
{
"label": 900,
"level": 0,
"rate": 1
}
],
"field": "topicTest"
}
],
"audios": [
{
"action": 1,
"asrStatus": 3,
"asrResult": 0,
"dataId": "97289877",
"labels": [
{
"label": 500,
"level": 1,
"details": {
"hint": [
{
"value": "共和国",
"segments": [
{
"startTime": 9,
"endTime": 15
}
]
},
{
"value": "1.00",
"segments": [
{
"startTime": 3,
"endTime": 14
}
]
}
],
"hitType": 30
}
}
],
"field": "content"
}
],
"videos": [
"dataId":"972113242897",
"status":0,
"level":2,
"evidences":[
{
"type":1,
"url":"https://illegal-video.nosdn.127.net/5471f2953fad436c95594095c8d82668_1605076866539.jpg",
"beginTime":25100,
"endTime":25100,
"labels":[
{
"label": 500,
"level": 2,
"rate": 1
},
{
"label": 300,
"level": 0,
"rate": 0.99643004
},
{
"label": 100,
"level": 0,
"rate": 0.9999136
},
{
"label": 400,
"level": 0,
"rate": 1
},
{
"label": 110,
"level": 0,
"rate": 0.99986494
},
{
"label": 200,
"level": 0,
"rate": 1
},
{
"label": 210,
"level": 0,
"rate": 1
},
{
"label": 900,
"level": 0,
"rate": 1
}
]
},
],
"field":"content"
],
"audiovideos": [{
"dataId":"974562897",
"result":1,
"evidences":{
"audio":{
"action":0,
"asrStatus":3,
"asrResult":0,
"labels":[
]
},
"video":{
"status":0,
"level":0,
"evidences":[]
}
},
"field":"content"
}
],
"files": [
{
"dataId": "972556897",
"result": 2,
"evidences": {
"texts": [
{
"taskId": "1b6418a64f07475ba7d0b2680a53784b",
"sequence": 0,
"startText": "福建省委召开全省深入学习贯彻落实习近平总",
"endText": "实验区主要负责人等通过视频参加会议。\\n\\n",
"action": 1,
"labels": [
{
"label": 500,
"level": 1,
"details": {
"hint": [
"习近平"
]
}
}
]
}
],
"images": [
{
"taskId": "fb9dc62bd236405182f817ad796081f5",
"sequence": 0,
"imageUrl": "https://yidun-antispam.nos-eastchina1.126.net/fb9dc62bd236405182f817ad796081f5?Signature\\u003di6Dp3fciPumTyH3c04d6vgrpiUY%2BdqBuILfkYwqS6Jg%3D\\u0026Expires\\u003d1607667301\\u0026NOSAccessKeyId\\u003da681ebcbcd5646a488d275c33acb16bd",
"level": 2,
"labels": [
{
"label": 500,
"level": 2,
"rate": 1
}
]
},
{
"taskId": "a8ca6a55d70f4d8882a699a1ea7c07d1",
"sequence": 1,
"imageUrl": "https://yidun-antispam.nos-eastchina1.126.net/a8ca6a55d70f4d8882a699a1ea7c07d1?Signature\\u003djNQTmS0XhL5EOje8ezOY1KHqx803%2F%2FmQVgUO%2Ff0ltSM%3D\\u0026Expires\\u003d1607667301\\u0026NOSAccessKeyId\\u003da681ebcbcd5646a488d275c33acb16bd",
"level": 2,
"labels": [
{
"label": 500,
"level": 2,
"rate": 1
}
]
}
]
},
"resultType": 1,
"field": "content"
}
]
}
}