# 图片内容安全识别

接口应在服务器端调用,不可在前端(小程序、网页、APP等)直接调用,具体可参考接口调用指南

接口英文名:gamesecurity.mediaCheck

图片审核接口能够识别游戏领域常见的违规内容,例如:色情,低俗软色情、血腥、恐怖、恶心不适、营销引流广告,辱骂以及违法违规,帮助构建健康的游戏环境。

  • 违法违规图片识别
  • 色情图片识别
  • 低俗软色情图片识别
  • 血腥、恐怖、恶心不适图片识别
  • 营销引流广告图片识别
  • 辱骂图片识别

应用场景:

  • 用户头像检测
  • 公屏聊天图片检测
  • 游戏素材类检测
  • 资料类图片检测
  • 社区类图片检测
  • 其他图片检测场景

# 1. 调用方式

# HTTPS 调用

POST https://api.weixin.qq.com/wxa/game/content_spam/media_check_sync?access_token=ACCESS_TOKEN

# 云调用

  • 调用方法:wxa.game.contentSpam.mediaCheckSync

  • 出入参和 HTTPS 调用相同,调用方式可查看 云调用 说明文档。

# 第三方调用

  • 本接口不支持第三方平台调用。

# 2. 请求参数

# 查询参数 Query String Parameters

参数名类型必填示例说明
access_tokenstringACCESS_TOKEN接口调用凭证,可使用 access_token

# 请求体 Request Payload

参数名类型必填说明
openidstring用户的 openid
versionnumber接口版本号,固定值 2
scenenumber场景枚举值:1 资料;2 评论;3 论坛;4 社交日志;5 聊天;
media_urlstring检测的图片 url,支持图片格式jpg,jpeg,png,bmp,tif,tiff,webp,gif。
media_typenumber媒体类型: 固定填 2 图片

# 3. 返回参数

# 返回体 Response Payload

参数名类型说明
errcodenumber错误码
errmsgstring错误信息
trace_idstring唯一请求标识,标记单次请求
resultobject综合结果
detailobjarray详细检测结果

# Res.result Object Payload

综合结果

参数名类型说明枚举
suggeststring有risky(拦截)、pass(通过)三种值-
labelnumber命中标签枚举值

# Res.detail(Array) Object Payload

详细检测结果

参数名类型说明枚举
strategystring策略类型-
errcodenumber错误码,仅当该值为0时,该项结果有效-
suggeststring有risky(拦截)、pass(通过)三种值-
labelnumber命中标签枚举值
probnumber0-100,代表置信度,越高代表越有可能属于当前返回的标签(label)-

# 4. 枚举信息

# Res.result.label Enum

命中标签

枚举值描述
100正常
10001营销广告
20001时政
20002色情
20003辱骂
20006违法犯罪
20012低俗
21000其他

# Res.detail(Array).label Enum

命中标签

枚举值描述
100正常
10001营销广告
20001时政
20002色情
20003辱骂
20006违法犯罪
20012低俗
21000其他

# 5. 注意事项

  • 版本说明: 原 1.0 和 2.0 内容安全接口【点击查看】适配通用场景,小游戏建议使用游戏专用场景内容安全接口(本接口适配游戏场景标准,新增低俗软色情、血腥、恐怖、恶心不适、营销引流等图片识别能力);
  • 频率限制: 单个 AppID 调用上限为 2 千/分钟,20 万/天,单个文件不超过 10M,特殊情况可申请上调;
  • 请求耗时: 接口同步返回,一般耗时在 3s 内,建议设置超时 5s;
  • 图片下载: 传入的图片链接需要保证可以被检测服务器下载;
  • 资料头像: 资料场景的头像图片建议定期请求一次,当接口能力更新后可以召回历史头像;
  • 数据范围: 所有在微信端展示的数据,都建议请求本接口,包括小游戏用户产生的内容,以及其他渠道产生但会在微信端曝光的内容;

调用过程中如遇到问题,点击咨询小助手

# 6. 代码示例

# 6.1 HTTP 示例

请求示例

{
  "openid": "OPENID",
  "scene": 1,
  "version": 2,
  "media_type": 2,
  "media_url": "https://res.wx.qq.com/wxdoc/dist/assets/img/3-3.9b4ebdf8.png"
}

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "trace_id": "54bf091a-821t3794-237p1237",
  "result": {
    "suggest": "pass",
    "label": 100
  },
  "detail": [
    {
      "strategy": "minigame_content_model",
      "errcode": 0,
      "suggest": "pass",
      "label": 100,
      "prob": 90
    }
  ]
}

# 6.2 云调用示例

请求示例

const cloud = require('wx-server-sdk');
cloud.init({
  env: cloud.DYNAMIC_CURRENT_ENV,
});
exports.main = async (event, context) => {
  try {
    const result = await cloud.openapi.wxa.game.contentSpam.mediaCheckSync({
      openid: 'OPENID',
      scene: 1,
      version: 2,
      media_type: 2,
      media_url: 'https://res.wx.qq.com/wxdoc/dist/assets/img/3-3.9b4ebdf8.png',
    });
    return result;
  } catch (err) {
    return err;
  }
};

返回示例

{
  "errcode": 0,
  "errmsg": "ok",
  "trace_id": "54bf091a-821t3794-237p1237",
  "result": {
    "suggest": "pass",
    "label": 100
  },
  "detail": [
    {
      "strategy": "minigame_content_model",
      "errcode": 0,
      "suggest": "pass",
      "label": 100,
      "prob": 90
    }
  ]
}

# 7. 错误码

以下是本接口的错误码列表,其他错误码可参考 通用错误码;调用接口遇到报错,可使用官方提供的 API 诊断工具 辅助定位和分析问题。

错误码错误描述
0成功
40001access_token 无效或不为最新获取的 access_token,请开发者确认 access_token 的有效性
40003不合法的 OpenID ,请开发者确认 OpenID 的有效性
40129场景值错误(目前支持场景:1 资料;2 评论;3 论坛;4 社交日志;5 聊天;)
43002方法调用错误,请用 post 方法调用
43104appid 与 openid 不匹配
44002POST 的数据包为空。post 请求 body 参数不能为空
47001解析 JSON/XML 内容错误;post 数据中参数缺失;检查修正后重试。
750030版本号错误
750031该游戏不支持,联系小游戏侧配置
750032每分钟调用超过上限,有需求可联系小游戏侧修改
750033每日调用超过上限,有需求可联系小游戏侧修改
750034media_type值不合法

# 8. 适用范围

本接口支持「小游戏」账号类型调用。其他账号类型如无特殊说明,均不可调用。

点击咨询小助手