短视频审核
<h3>接口描述</h3>
<ul>
<li>短视频接口针对5分钟以内的短视频,实时返回检测结果</li>
</ul>
<h3>请求地址</h3>
<p><code>https://api.jumdata.com/short-video/check</code></p>
<h3>请求方式</h3>
<ul>
<li>POST</li>
</ul>
<h3>请求格式</h3>
<ul>
<li>x-www-form-urlencoded</li>
</ul>
<h3>请求参数</h3>
<table>
<thead>
<tr>
<th>名称</th>
<th>类型</th>
<th>必须</th>
<th><div style="width:420px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>appId</td>
<td>String</td>
<td>是</td>
<td>服务商分配的唯一标识</td>
</tr>
<tr>
<td>timestamp</td>
<td>Long</td>
<td>是</td>
<td>当前时间的毫秒数</td>
</tr>
<tr>
<td>sign</td>
<td>String</td>
<td>是</td>
<td>签名,见签名算法说明</td>
</tr>
<tr>
<td>name</td>
<td>String</td>
<td>是</td>
<td>视频名称</td>
</tr>
<tr>
<td>videoUrl</td>
<td>String</td>
<td>是</td>
<td>视频URL地址</td>
</tr>
<tr>
<td>extInfo</td>
<td>String</td>
<td>否</td>
<td>用户自定义字段,此字段会展示在审核员页面以帮助审核人员更好的判断视频内容是否合规,示例:[ { "subject": "漫展信息", "fields": [ { "title": "漫展", "value": "杭州动漫展" }, { "title": "UID", "value": "ae020798-b1b3-4db0-83b7-0f3907b9b194" }, { "title": "来源", "value": "自拍" } ] }, { "subject": "地区", "fields": [ { "title": "杭州市", "value": "3456789" } ] } ]</td>
</tr>
</tbody>
</table>
<h3>签名算法说明</h3>
<pre><code>sign = sha256( appId + appSecret + timestamp)</code></pre>
<p>用服务商分配的 appId、服务商分配的 appSecret,当前时间毫秒数 timestamp,按上述顺序拼接成字符串,再进行 sha256 哈希得到。如下:</p>
<pre><code class="language-java">String appId = &quot;xyzxy2121zxyz&quot;;
String timestamp = &quot;1555378976238&quot;;
String appSecret = &quot;efcefcef1121cefcefc1212121&quot;;
String str = appId + appSecret + timestamp;
String sign = sha256(str);</code></pre>
<h3>正确返回样例</h3>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;成功&quot;,//返回码对应描述
&quot;code&quot;: 200,//返回码,详见返回码说明
&quot;taskNo&quot;: &quot;196221445211500016691377&quot;,//本次请求号
&quot;charge&quot;: true,//计费标志
&quot;data&quot;: {
&quot;uuid&quot;: &quot;894ef554-a165-42b0-821a-eed42e049d58&quot;,
&quot;conclusion&quot;: &quot;合规&quot;,//审核结果描述,可取值:合规、不合规、疑似
&quot;conclusionType&quot;: 1,//审核结果,可取值:1 合规,2 不合规,3 疑似, 4 审核失败
&quot;isHitMd5&quot;: false,//是否命中视频黑库MD5提示,true:命中 false:未命中
&quot;msg&quot;: &quot;未命中视频黑库&quot;,//命中MD5提示
&quot;frames&quot;: [
{
&quot;conclusionType&quot;: 2,//帧审核结果,可取值:1 合规,2 不合规,3 疑似, 4 审核失败
&quot;conclusion&quot;: &quot;不合规&quot;,//帧审核结果描述,可取值:合规、不合规、疑似
&quot;frameTimeStamp&quot;: 0,//帧时间戳
&quot;frameUrl&quot;: &quot;xxxxx&quot;,//帧url地址
&quot;frameThumbnailUrl&quot;: &quot;xxxxx&quot;,//帧缩略图url地址
&quot;data&quot;: [//各维度明细审核结果 合格无返回
{
&quot;conclusionType&quot;: 2,
&quot;conclusion&quot;: &quot;不合规&quot;,
&quot;type&quot;: 5,//审核主类型,0:违禁图库、1:色情识别、3:恶心图识别、4:广告检测、6:图像质量检测、7:用户图像黑名单、8:用户图像白名单、10:用户头像审核、11:百度违禁词库、12:图文审核、13:自定义文本黑名单、14:自定义文本白名单、15:EasyDL自定义模型、21:违禁识别、22:直播场景审核
&quot;subType&quot;: 1,//详见subType说明
&quot;msg&quot;: &quot;存在公众人物不合规&quot;,//不合规项描述信息
&quot;stars&quot;: [//命中人脸的信息
{
&quot;probability&quot;: 0.96015228271484,//人脸相似度
&quot;name&quot;: &quot;圆圆&quot; //人名
}
]
},
{
&quot;conclusionType&quot;: 2,
&quot;conclusion&quot;: &quot;不合规&quot;,
&quot;probability&quot;: 0.99330544,//不合规项置信度
&quot;type&quot;: 4,
&quot;subType&quot;: 0,
&quot;msg&quot;: &quot;存在watermark不合规&quot;
},
{
&quot;conclusionType&quot;: 2,
&quot;conclusion&quot;: &quot;不合规&quot;,
&quot;type&quot;: 13,
&quot;subType&quot;: 0,
&quot;msg&quot;: &quot;存在自定义文本黑名单不合规&quot;,
&quot;hits&quot;: [//命中信息
{
&quot;datasetName&quot;: &quot;#################111&quot;,//违规项目所属数据集名称
&quot;words&quot;: [//送检文本命中词库的关键词
&quot;好看视频&quot;,
&quot;好看视频&quot;
],
&quot;modelHitPositions&quot;:&quot;&quot;,//送检文本命中模型的详细信息,包含位置信息及置信度信息。位置信息:命中模型的违规内容在送检原文中的位置(从0开始计算):“开始位置”、“结束位置”;置信度信息:命中模型对应的置信度分数(范围:0至1,数字越大,可能性越高)。返回示例见下方“成功响应示例——不合规”部分
&quot;wordHitPositions&quot;:[//送检文本命中词库的详细信息,为Object的列表,包含words、positions、label三个字段,详细描述如下表所示。返回示例见下方“成功响应示例——不合规”部分
{
&quot;keyword&quot;:&quot;&quot;,//送检文本命中词库的关键词
&quot;positions&quot;:&quot;&quot;,//关键词在送检原文中的位置(从0开始计算):分别为“起始位置”,“结束位置”
&quot;label&quot;:&quot;&quot;//关键词命中的细分标签
}
],
&quot;modelName&quot;:&quot;&quot;,//命中自定义模型名称
&quot;score&quot;:&quot;&quot;,//命中自定义模型置信度
&quot;modelId&quot;:&quot;&quot;,//命中自定义模型ID
&quot;label&quot;:&quot;&quot;//命中自定义模型标签名称
}
]
}
]
}
],
&quot;conclusionTypeGroupInfos&quot;: [//审核结论汇总
{
&quot;msg&quot;: &quot;存在watermark不合规&quot;,//一级违规类型描述信息
&quot;typeInfo&quot;: {//一级违规类型描述
&quot;type&quot;: &quot;广告检测&quot;
},
&quot;subTypeInfoList&quot;: [//二级违规列表。timestamp:帧时间戳;subType:二级违规类型描述
{
&quot;subType&quot;: &quot;watermark&quot;,
&quot;timestamp&quot;: 0
},
{
&quot;subType&quot;: &quot;watermark&quot;,
&quot;timestamp&quot;: 3033
}
]
},
{
&quot;msg&quot;: &quot;存在公众人物不合规&quot;,
&quot;typeInfo&quot;: {
&quot;type&quot;: &quot;敏感信息识别&quot;
},
&quot;subTypeInfoList&quot;: [
{
&quot;subType&quot;: &quot;公众人物&quot;,
&quot;timestamp&quot;: 0
}
]
}
]
}
}</code></pre>
<h3>错误返回样例</h3>
<pre><code class="language-json">{
&quot;msg&quot;: &quot;视频名称不能为空&quot;,
&quot;code&quot;: 400
}</code></pre>
<h3>返回字段说明</h3>
<table>
<thead>
<tr>
<th>字段名</th>
<th><div style="width:420px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>code</td>
<td>返回码,详见code返回码说明</td>
</tr>
<tr>
<td>msg</td>
<td>code对应的描述</td>
</tr>
<tr>
<td>charge</td>
<td>是否计费</td>
</tr>
<tr>
<td>taskNo</td>
<td>本次请求号</td>
</tr>
<tr>
<td>data</td>
<td>返回具体结果,object类型,详见成功返回体</td>
</tr>
</tbody>
</table>
<h4>subType说明</h4>
<table>
<thead>
<tr>
<th>type值</th>
<th><div style="width:420px">type对应subType说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>0</td>
<td>0:百度官方违禁图</td>
</tr>
<tr>
<td>1</td>
<td>0:一般色情、1:卡通色情、2:SM、3:低俗、4:儿童裸露、5:艺术品色情、6:性玩具、7:男性性感、8:自然男性裸露、9:女性性感、10:卡通女性性感、11:特殊类、12:亲密行为、13:卡通亲密行为、14:孕肚裸露、15:臀部特写、16:脚部特写、17:裆部特写</td>
</tr>
<tr>
<td>3</td>
<td>1:性器官特写、2:脏器、3:疾病表症、4:密集恐惧症、5:腐烂食物、6:排泄物、7:恶心动物、8:人体血腥和尸体、9:动物血腥及尸体</td>
</tr>
<tr>
<td>4</td>
<td>0:水印、1:二维码、2:条形码、3:识别二维码中内容、4:识别条形码中内容、5:不过滤字幕、6:小程序码、7:水印自定义黑名单、8:水印自定义白名单</td>
</tr>
<tr>
<td>6</td>
<td>0:图像清晰度、1:图像美观度</td>
</tr>
<tr>
<td>7</td>
<td>0:用户自定义图像黑名单</td>
</tr>
<tr>
<td>8</td>
<td>0:用户自定义图像白名单</td>
</tr>
<tr>
<td>10</td>
<td>0:图像中必须是真人脸、1:人脸必须为正脸、2:左右旋转角度、3:俯仰角度、4:歪头角度、5:人脸不能有遮挡、6:不能遮挡眼睛、7:不能遮挡鼻子、8:不能遮挡嘴、9:不能遮挡下巴、10:不能遮挡脸颊、11:人脸不能佩戴墨镜、12:人脸占比、13:人脸必须清晰</td>
</tr>
<tr>
<td>11</td>
<td>0:百度默认违禁词库</td>
</tr>
<tr>
<td>12</td>
<td>0:低质灌水、2:文本色情、4:恶意推广、5:低俗辱骂、7:隐私信息</td>
</tr>
<tr>
<td>13</td>
<td>0:自定义文本黑名单</td>
</tr>
<tr>
<td>14</td>
<td>0:自定义文本白名单</td>
</tr>
<tr>
<td>21</td>
<td>1:真人吸烟、2:卡通吸烟、3:毒品、4:真人饮酒、5:卡通饮酒、6:赌博、7:纹身、9:竖中指、10:野生动物制品</td>
</tr>
<tr>
<td>24</td>
<td>0:卫生间场景、1:车内场景、2:卧室场景、3:无意义场景、4:普通场景</td>
</tr>
</tbody>
</table>
<h4>code返回码说明</h4>
<table>
<thead>
<tr>
<th>code</th>
<th><div style="width:420px">说明</div></th>
</tr>
</thead>
<tbody>
<tr>
<td>200</td>
<td>成功 (计费)</td>
</tr>
<tr>
<td>400</td>
<td>参数错误</td>
</tr>
<tr>
<td>404</td>
<td>接口地址不正确</td>
</tr>
<tr>
<td>500</td>
<td>系统维护,请稍候再试</td>
</tr>
<tr>
<td>601</td>
<td>接口未开通</td>
</tr>
<tr>
<td>602</td>
<td>账号停用</td>
</tr>
<tr>
<td>603</td>
<td>余额不足请充值</td>
</tr>
<tr>
<td>604</td>
<td>接口停用</td>
</tr>
<tr>
<td>606</td>
<td>调用超限,请稍候再试</td>
</tr>
<tr>
<td>607</td>
<td>ip不在白名单</td>
</tr>
<tr>
<td>609</td>
<td>请求过于频繁,请稍候再试</td>
</tr>
<tr>
<td>610</td>
<td>请求超时</td>
</tr>
<tr>
<td>999</td>
<td>其他,以实际返回为准</td>
</tr>
</tbody>
</table>