# 音视频内容安全识别
该接口方法需要安装 小程序安全能力,如未安装需要前往安装才可以使用
# 接口英文名
wx_security_media_check
# 功能描述
本接口用于异步校验图片/音频是否含有违法违规内容。
应用场景举例:
- 语音风险识别:社交类用户发表的语音内容检测;
- 图片智能鉴黄:涉及拍照的工具类应用(如美拍,识图类应用)用户拍照上传检测;电商类商品上架图片检测;媒体类用户文章里的图片检测等;
- 敏感人脸识别:用户头像;媒体类用户文章里的图片检测;社交类用户上传的图片检测等。
# 调用方式
# 小程序端云能力初始化
参考使用指南-快速上手
中小程序端初始化过程
# 获取检测的图片或音频的链接 url
如果要检测的图片或音频的链接本身已经是 https://
格式,可以直接进入下一步的发起检测
如果要检测的图片或音频的链接是 cloud://
开头的,需要先用 Cloud.getTempFileURL
来换取临时访问地址。
wx.cloud
.getTempFileURL({
fileList: [
{
fileID: 'cloud://xxx', // 传入 cloudid
maxAge: 60 * 60, // one hour
},
],
})
.then((res) => {
console.log('url', res.fileList[0]);
});
# 发起异步检测
有了媒体资源的访问 url 之后,可以调用云模板提供的 wx_security_media_check
接口来发起异步的检测
例如,进行用户个人资料违规文字检测
wx.cloud.callFunction({
name: 'cloudbase_module',
data: {
name: 'wx_security_media_check',
data: {
scene: 1, // 场景值 1, 代表资料
version: 2, // 接口版本号,2.0版本为固定值2
media_url: 'https://developers.weixin.qq.com/miniprogram/assets/images/head_global_z_@all.png', // 要检测的内容
media_type: 2, //媒体资源类型,2 代表图片图片
},
},
success: (res) => {
console.log('traceId', res.result.traceId);
console.log('错误码', res.result.errcode);
console.log('错误信息', res.result.errmsg);
},
});
# 接收检测结果
由于检测是异步的,不会直接返回结果,异步检测结果在 30 分钟内会推送到你的消息接收服务器。
可以参考 搭建处理微信消息推送工作流 来实现接收异步检测结果。
异步检测结果推送示例
{
"ToUserName": "gh_9df7d78a1234",
"FromUserName": "o4_t144jTUSEoxydysUA2E234_tc",
"CreateTime": 1626959646,
"MsgType": "event",
"Event": "wxa_media_check",
"appid": "wx8f16a5be77871234",
"trace_id": "60f96f1d-3845297a-1976a3ae",
"version": 2,
"detail": [
{
"strategy": "content_model",
"errcode": 0,
"suggest": "pass",
"label": 100,
"prob": 90
}
],
"errcode": 0,
"errmsg": "ok",
"result": {
"suggest": "pass",
"label": 100
}
}
# 注意事项
频率限制:单个 appId 调用上限为 2000 次/分钟,200,000 次/天;文件大小限制:单个文件大小不超过 10M
# 更多说明和错误码
请参考微信小程序 音视频内容安全识别
# 入参:
参数 | 类型 | 必填 | 描述 |
---|---|---|---|
media_url | string | 是 | 要检测的图片或音频的url,支持图片格式包括jpg, jepg, png, bmp, gif(取首帧),支持的音频格式包括mp3, aac, ac3, wma, flac, vorbis, opus, wav |
media_type | number | 是 | 1:音频;2:图片 |
version | number | 是 | 接口版本号,2.0版本为固定值2 |
scene | number | 是 | 场景枚举值(1 资料;2 评论;3 论坛;4 社交日志) |
openid | string | 否 | 用户的openid(用户需在近两小时访问过小程序),小程序前端调用时无需传递此参数,默认会用当前登录用户的 openid |
# 出参:
参数 | 类型 | 描述 |
---|---|---|
result | object | |
result.errcode | number | 微信开放接口错误码 |
result.errmsg | string | 微信开放接口错误信息 |
result.trace_id | string | 唯一请求标识,标记单次请求,用于匹配异步推送结果 |
errMsg | string | 云开发错误信息 |
requestID | string | 云开发请求 ID |