更新时间:2024-12-17 GMT+08:00
分享

图像内容审核(V3)

功能介绍

分析并识别用户上传的图像内容是否有敏感内容(如涉及暴恐元素、涉黄内容等),并将识别结果返回给用户。

调试

您可以在API Explorer中调试该接口,支持自动认证鉴权。API Explorer可以自动生成SDK代码示例,并提供SDK代码示例调试功能。

URI

POST /v3/{project_id}/moderation/image

表1 路径参数

参数

是否必选

参数类型

描述

project_id

String

项目ID。获取方法请参见获取项目ID

请求参数

表2 请求Header参数

参数

是否必选

参数类型

描述

X-Auth-Token

String

用户Token。

用于获取操作API的权限。获取方法请参见获取Token接口,响应消息头中X-Subject-Token的值即为Token。

Enterprise-Project-Id

String

企业项目ID。Moderation支持通过企业项目管理(EPS)对不同用户组和用户的资源使用,进行分账。 获取方法:进入“企业项目管理”页面,单击企业项目名称,在企业项目详情页获取Enterprise-Project-Id(企业项目ID)。 企业项目创建步骤请参见用户指南。

说明: 创建企业项目后,在传参时,有以下三类场景:

  • 携带正确的ID,正常使用Moderation服务,账单的企业项目会被分类到企业ID对应的企业项目中。
  • 携带格式正确但不存在的ID,正常使用Moderation服务,账单的企业项目会显示对应不存在的企业项目ID。
  • 不携带ID或格式错误ID(包含特殊字符等),正常使用Moderation服务,账单的企业项目会被分类到"default"中。
表3 请求Body参数

参数

是否必选

参数类型

描述

event_type

String

事件类型。 可选值如下:

  • head_image:头像
  • album:相册
  • dynamic:动态
  • article:帖子
  • comment:评论
  • room_cover:房间封面
  • group_message:群聊图片
  • message:私聊图片
  • product:商品图片
说明:
  • 群聊图片是指多人聊天的图片。
  • 事件类型是服务提前预置的业务场景(部分场景下存在未拦截情况)。
    1. 如果您需要开启自定义审核策略,可以通过在控制台上自行添加自定义策略。
    2. 如果您有特殊的审核需求,可以通过工单的方式联系我们进行调整。

categories

Array of strings

检测场景。可添加的检测场景如下:

  • terrorism:暴恐元素的检测。
  • porn:涉黄元素的检测。
  • image_text:广告图文的检测。

可通过配置上述场景,来完成对应场景元素的检测。

说明:

每个检测场景的检测次数会分类统计。

image_text_config

ImgTextConfig object

图文审核黑白词库配置。

url

String

与image二选一。

图片url,目前支持:公网HTTP/HTTPS URL。

image

String

与url二选一。

图片文件Base64编码字符串,要求base64编码后大小不超过10M,图片宽高不低于20 x 20像素,支持JPG/PNG/JPEG/WEBP/GIF/TIFF/TIF/HEIF等格式。

language

String

可指定图片中的文字语种,目前支持中文(zh)。默认值为zh。

biz_type

String

用户在控制台界面创建的自定义审核策略名称,具体创建步骤请参见策略管理

  • 如果请求参数中传了biz_type则优先使用biz_type,event_type和categories参数将不生效,审核策略由biz_type的设置决定。
  • 如果用户没传biz_type则event_type和categories必须传。
表4 ImgTextConfig

参数

是否必选

参数类型

描述

black_glossary_names

Array of strings

检测时使用的自定义黑名单词库列表。

详情请看配置自定义词库 V3

white_glossary_names

Array of strings

检测时使用的自定义白名单词库列表。

详情请看配置自定义词库 V3

响应参数

状态码: 200

表5 响应Body参数

参数

参数类型

描述

request_id

String

本次请求的唯一标识,用于问题排查,建议保存。

最小长度:2

最大长度:64

result

ImageDetectionResult object

调用成功时表示调用结果。 调用失败时无此字段。

表6 ImageDetectionResult

参数

参数类型

描述

suggestion

String

审核结果是否通过。

  • block:包含敏感信息,不通过
  • pass:不包含敏感信息,通过
  • review:需要人工复检

category

String

检测结果的一级标签。 支持category列表如下:

  • terrorism: 暴恐
  • porn: 色情
  • image_text: 图文审核

details

Array of ImageDetectionResultDetail objects

检测详情。

ocr_text

String

图文审核检测出的文本,只有在category参数配置image_text且检测出文本时展示该字段。

表7 ImageDetectionResultDetail

参数

参数类型

描述

suggestion

String

审核结果是否通过。

  • block:包含敏感信息,不通过
  • pass:不包含敏感信息,通过
  • review:需要人工复检

category

String

检测结果的一级标签。 支持category列表如下:

  • terrorism: 暴恐
  • porn: 色情
  • image_text: 图文审核

confidence

Float

置信度,可选值在0-1之间,值越大,可信度越高。

face_location

FaceLocationDetail object

人物位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。

例如:[207,522,340,567],207代表的是左上角的横坐标,522代表左上角的纵坐标,340代表的是右下角的横坐标,567代表的是右下角的纵坐标。

qr_location

QRLocationDetail object

二维码位置信息,该数组有四个值,分别代表左上角的坐标和右下角的坐标。

例如:[207,522,340,567],207代表的是左上角的横坐标,522代表左上角的纵坐标,340代表的是右下角的横坐标,567代表的是右下角的纵坐标。

qr_content

String

图片中二维码指向的链接,当请求参数categories中包含image_text时存在。

segments

Array of OCRTextDetail objects

image_text场景下命中的文本片段。

label

String

识别的详细标签。

表8 FaceLocationDetail

参数

参数类型

描述

top_left_x

Integer

检测出人脸的左上角横坐标。

top_left_y

Integer

检测出人脸的左上角纵坐标。

bottom_right_x

Integer

检测出人脸的右下角横坐标。

bottom_right_y

Integer

检测出人脸的右下角纵坐标。

表9 QRLocationDetail

参数

参数类型

描述

top_left_x

Integer

检测出的二维码左上角横坐标。

top_left_y

Integer

检测出的二维码左上角纵坐标。

bottom_right_x

Integer

检测出的二维码右下角横坐标。

bottom_right_y

Integer

检测出的二维码右下角纵坐标。

表10 OCRTextDetail

参数

参数类型

描述

segment

String

命中的风险片段

glossary_name

String

命中的自定义词库名称。 命中自定义词库时,才会返回当前字段。

状态码: 400

表11 响应Body参数

参数

参数类型

描述

error_code

String

调用失败时的错误码,具体请参见错误码。

调用成功时无此字段。

最小长度:8

最大长度:36

error_msg

String

调用失败时的错误信息。

调用成功时无此字段。

最小长度:2

最大长度:512

请求示例

“endpoint”即调用API的请求地址,不同服务不同区域的endpoint不同,具体请参见终端节点

例如,服务部署在“华北-北京四”区域的“endpoint”“moderation.cn-north-4.myhuaweicloud.com”,请求URL为“https://moderation.cn-north-4.myhuaweicloud.com/v3/{project_id}/moderation/image”“project_id”为项目ID,获取方法请参见获取项目ID

  • 使用图片的BASE64编码,分析并识别用户上传的图像内容是否有敏感内容,事件类型为头像,检测场景为涉黄,暴恐。
    POST https://{endpoint}/v3/{project_id}/moderation/image
    
    {
      "event_type" : "head_image",
      "image" : "/9j/4AAQSkZJRgABAgEASABIAAD/4RFZRXhpZgAATU0AKgAAAAgABwESAAMAAAABAAEAAAEaAAUAAAABAAAAYgEbAAUAAAABAAAA...",
      "categories" : [ "porn", "terrorism" ],
      "image_text_config" : {
        "black_glossary_names" : [ "test" ]
      }
    }
  • 使用图片的url,分析并识别用户上传的图像内容是否有敏感内容,事件类型为头像,检测场景为涉黄,暴恐。
    POST https://{endpoint}/v3/{project_id}/moderation/image
    
    {
      "event_type" : "head_image",
      "url" : "https://bucketname.obs.myhwclouds.com/ObjectName1",
      "categories" : [ "porn", "terrorism" ],
      "image_text_config" : {
        "black_glossary_names" : [ "test" ]
      }
    }
  • 使用biz_type请求
    POST https://{endpoint}/v3/{project_id}/moderation/image
    
    {
      "url" : "https://bucketname.obs.myhwclouds.com/ObjectName1",
      "biz_type" : "test-type"
    }

响应示例

状态码: 200

成功响应示例

{
  "request_id" : "53f9719c3730d1169e47403d5c8a9473",
  "result" : {
    "category" : "porn",
    "details" : [ {
      "category" : "porn",
      "confidence" : 0.9934315,
      "label" : "sexy_female",
      "suggestion" : "review"
    }, {
      "category" : "porn",
      "confidence" : 0.99798274,
      "label" : "intimacy",
      "suggestion" : "review"
    } ],
    "suggestion" : "review"
  }
}

状态码: 400

失败响应示例

{
  "error_code" : "AIS.0402",
  "error_msg" : "The image format is not supported."
}

状态码

状态码

描述

200

成功响应示例。

400

失败响应示例。

相关文档