# 音视频内容安全识别

该接口方法需要安装 小程序安全能力,如未安装需要前往安装才可以使用

# 接口英文名

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