本文介绍图片内容安全ScanImage的语法及示例。

功能描述

图片内容安全结合行为、内容,采用多维度、多模型、多检测手段,识别图片中的敏感信息,规避图片中存在敏感人物照片、敏感事件等内容风险。

支持检测的场景包括:图片智能鉴黄、图片敏感内容识别、图片风险人物识别、图片垃圾广告识别、图片不良场景识别、图片Logo识别。

在提交检测任务时,您需要指定scenes参数,并且支持组合使用,即可对同一张图片的多种风险进行检测。

说明 在同时检测多个scene的情况下,将按照每个场景的检测图片数量×每个场景的单价进行累加计费。

而在检测返回结果中,则包含了您指定的scenes对应的label。您可以根据参数的返回值判断风险的具体类型。然后对图片进行处理。

在图片审核中,scene与label的对应关系如下:

scene

描述

label

porn

图片智能鉴黄:适用于图片涉及色情、低俗内容检测。

normal(正常图片)、sexy(性感图片)、porn(色情图片)

terrorism

图片敏感内容识别:适用于图片涉及敏感事件、暴力、武器、恐怖、血腥、爆炸等内容识别。

图片风险人物识别:适用于图片涉及敏感人物、明星的识别。

normal(正常图片)、bloody(血腥)、explosion(爆炸烟光)、outfit(特殊装束)、logo(特殊标识)、weapon(武器)、politics(敏感内容)、violence(打斗)、crowd(聚众)、parade(游行)、carcrash(车祸现场)、flag(旗帜)、location(地标)、others(其他)

ad

图片垃圾广告识别:适用于图片中含有广告信息的识别,特別是针对于类似牛皮癣的文字广告有较好的识别效果。

normal(正常图片)、politics(文字含敏感内容)、porn(文字含涉黄内容)、abuse(文字含辱骂内容)、terrorism(文字含涉恐内容)、contraband(文字含违禁内容)、spam(文字含其他垃圾内容)、npx(牛皮癣广告)、qrcode(包含二维码)、programCode(包含小程序码)、ad(其他广告)

live

图片不良场景识别:适用于图片中涉及毒品、赌博、画中画等内容的识别。

normal(正常图片)、meaningless(无意义图片)、PIP(画中画)、smoking(吸烟)、drivelive(车内直播)

logo

图片Logo识别:适用于图片中含有台标、水印、商标等内容的检测。

normal(正常图片)、TV(带有管控logo的图片)、trademark(商标)

前提条件

请确保您已开通内容审核服务,若未开通服务请立即开通

输入限制

  • 图片格式:PNG、JPG、JPEG、BMP、GIF、WEBP。
  • 图片大小:不超过10MB。如果您有大图需求, 请提工单申请。
  • 图片像素:建议大于256×256像素,像素过低可能会影响识别效果。
  • URL地址中不能包含中文字符。

检测说明

  • 最长检测时间是6秒,如果在该时间范围内没有完成检测,系统会返回超时错误码。
  • 图片下载时间限制为3秒,如果下载时间超过3秒,则会返回下载超时。
  • 图片检测接口响应时间依赖图片的下载时间。请确保被检测图片所在的存储服务稳定可靠,建议您使用阿里云OSS存储或者CDN缓存。

计费说明

关于图片内容安全的计费方式及报价,请参见计费介绍

说明 下方调试接口为付费接口,如需免费体验调试请前往体验中心,对应体验入口如下表所示。

能力

体验中心

图片智能鉴黄

免费调试入口

图片敏感内容识别

免费调试入口

图片Logo识别

免费调试入口

图片垃圾广告识别

免费调试入口

图片不良场景识别

免费调试入口

图片风险人物识别

免费调试入口

调试

您可以在OpenAPI Explorer中直接运行该接口,免去您计算签名的困扰。运行成功后,OpenAPI Explorer可以自动生成SDK代码示例。

请求参数

名称 类型 是否必选 示例值 描述
Action String ScanImage

要执行的操作。取值:ScanImage。

Scene.N RepeatList porn

指定图片检测的应用场景,可选值包括:

  • porn:图片智能鉴黄
  • terrorism:图片敏感内容识别、图片风险人物识别
  • ad:图片垃圾广告识别
  • live:图片不良场景识别
  • logo:图片Logo识别
说明 支持多场景(scenes)一起检测。例如scenes=[“porn”, “terrorism”],即对一张图片同时进行鉴黄和涉恐识别,此时也会按照两个场景计费。
Task.N.ImageURL String http://xxx.xxx.com/xxx.jpg

待检测图像的URL。支持HTTP和HTTPS协议。当前仅支持上海地域的OSS链接,如何生成URL请参见生成URL

说明 对于该接口,系统会自动将OSS链接地址转成内网地址然后再下载文件,所以调用该接口并不会产生OSS流量计费。
Task.N.DataId String uuid-xxxx-xxxx-1234

数据ID。需要保证在一次请求中所有的ID不重复。

Task.N.ImageTimeMillisecond Long 1

图片创建或编辑时间,单位为毫秒。

Task.N.Interval Integer 1

截帧频率,GIF图或者长图检测专用。GIF图可理解为图片数组,每interval张图片抽取一张进行检测。只有该值存在时,才会对GIF进行截帧。长图同时支持长竖图和长横图。

  • 长竖图(高大于400像素,高宽比大于2.5),会按照高/宽取整来计算总图数,并进行切割。
  • 长横图(宽大于400像素,宽高比大于2.5),会按照宽/高取整来计算总图数,并进行切割。
说明 默认只会检测GIF图或长图的第一帧,interval参数用于指示后台在检测时可按照该间隔跳着检测,以节省检测成本。需要与maxFrames参数组合使用。例如,设置interval为2,maxFrames为100,检测长图或GIF图时,将每间隔1帧检测一次,最多检测100帧,计费则按照实际检测的数量计算。
Task.N.MaxFrames Integer 1

最大截帧数量,GIF图或长图检测专用,默认值为1。

当interval*maxFrames小于该图片所包含的图片数量时,截帧间隔会自动修改为该图片所包含的图片数/maxFrames,以提高整体检测效果。

说明 最多指定10个检测对象,即最多同时对10张图片进行检测。

返回数据

名称 类型 示例值 描述
Data Struct

返回的结果数据内容。

Results Array of Result

图片检测结果。

DataId String uuid-xxxx-xxx-1234

数据ID。

ImageURL String http://xxx.xxx.xxx/xxx.jpg

图像URL地址。

SubResults Array of SubResult

单张图片的检测结果。

Frames Array of Frame

如果待检测图片因为过长被截断,该参数返回截断后的每一帧图像的临时访问地址供您参考。

Rate Float 89.85

结果为该分类的概率,取值范围为0~100。值越高,表示越有可能属于该分类。

URL String http://xxx.xxx.com/xxx-0.jpg

被截断的图片的临时访问URL,地址有效期是5分钟。

HintWordsInfoList Array of HintWordsInfo

图片中含有广告时,返回图片中广告文字命中的风险关键词信息。格式为数组。

说明 仅适用于ad场景。示例值:”hintWordsInfo”:[{“context”:”敏感词”}]
Context String abc

图片中文字命中的风险关键词内容。

Label String normal

检测结果的分类,与具体的scene对应。取值范围参见scene和label对应关系说明。

LogoDataList Array of LogoData

图片中含有Logo时,返回识别出来的Logo信息。

说明 仅适用于Logo场景。
Height Float 106

Logo区域高度。

Name String abc

识别出的Logo名称。

Type String TV

识别出的logo类型,取值为TV(台标)。

Width Float 106

Logo区域宽度。

X Float 140

以图片左上角为坐标原点,Logo区域左上角到y轴距离。

Y Float 68

以图片左上角为坐标原点,Logo区域左上角到x轴距离。

OCRDataList List abc

识别到的图片中的完整文字信息。

ProgramCodeDataList Array of ProgramCodeData

图片中含有小程序码时,返回小程序码的位置信息。

说明 仅适用于qrcode场景,且已通过工单联系我们开通了小程序码识别。
Height Float 413.0

小程序码区域高度。

Width Float 402.0

小程序码区域宽度。

X Float 11.0

以图片左上角为坐标原点,小程序码区域左上角到y轴距离。

Y Float 0.0

以图片左上角为坐标原点,小程序码区域左上角到x轴距离。

Rate Float 99.91

结果为该分类的概率,取值范围为0~100。值越高,表示越有可能属于该分类。

Scene String ad

图片检测场景,和调用请求中的场景(scenes)对应。

SfaceDataList Array of SfaceData

图片中包含暴恐敏感内容时,返回识别出来的暴恐敏感信息。

说明 仅适用于terrorism和sface场景。关于该参数在sface场景中的具体内容,请参见敏感人脸检测。
Faces Array of Face

识别出的人脸信息。

Id String AliFace_0001234

人脸ID。

Name String abc

相似人物的名称。

Rate Float 91.54

相似概率。

Height Float 131

人脸区域高度。

Width Float 97

人脸区域宽度。

X Float 49

以图片左上角为坐标原点,人脸区域左上角到y轴距离。

Y Float 39

以图片左上角为坐标原点,人脸区域左上角到x轴距离。

Suggestion String block

建议您执行的操作。

  • pass:图片正常,无需进行其余操作;或者未识别出目标对象。
  • review:检测结果不确定,需要进行人工审核;或者未识别出目标对象。
  • block:图片违规,建议执行进一步操作(如直接删除或做限制处理)。
TaskId String img4wlJcb7p4wH4lAP3111111-123456

任务ID。

RequestId String 69B41AE8-1234-1234-1234-12D395695D2D

请求ID。

示例

请求示例

http(s)://imageaudit.cn-shanghai.aliyuncs.com/?Action=ScanImage
&Scene.1=porn
&Task.1.DataId=uuid-xxxx-xxxx-1234
&Task.1.ImageURL=http://viapi-test.oss-cn-shanghai.aliyuncs.com/sanjiye-meizi/%E9%A3%8E%E9%99%A9%E4%BA%BA%E7%89%A9.jpg
&<公共请求参数>

正常返回示例

XML格式

<Data>
    <Results>
        <Code>200</Code>
        <Message>OK</Message>
        <DataId>uuid-xxxx-xxx-1234</DataId>
        <SubResults>
            <Rate>99.63</Rate>
            <Suggestion>block</Suggestion>
            <Label>sexy</Label>
            <Scene>porn</Scene>
        </SubResults>
        <SubResults>
            <Label>politics</Label>
            <Rate>91.54</Rate>
            <Scene>terrorism</Scene>
            <SfaceDataList>
                <Faces>
                    <Id>AliFace_0001234</Id>
                    <Name>命中人名</Name>
                    <Rate>91.54</Rate>
                </Faces>
                <Height>131</Height>
                <Width>97</Width>
                <X>49</X>
                <y>39</y>
            </SfaceDataList>
            <Suggestion>block</Suggestion>
        </SubResults>
        <SubResults>
            <ProgramCodeDataList>
                <Width>402</Width>
                <Height>413</Height>
                <X>11</X>
                <y>0</y>
            </ProgramCodeDataList>
            <Frames>
                <Rate>89.85</Rate>
                <URL>http://xxx.xxx.com/xxx-0.jpg</URL>
            </Frames>
            <Frames>
                <Rate>68.06</Rate>
                <URL>http://xxx.xxx.com/xxx-1.jpg</URL>
            </Frames>
            <Rate>99.91</Rate>
            <Suggestion>block</Suggestion>
            <Label>ad</Label>
            <Scene>ad</Scene>
        </SubResults>
        <SubResults>
            <Rate>99.91</Rate>
            <Suggestion>block</Suggestion>
            <Label>drug</Label>
            <Scene>live</Scene>
        </SubResults>
        <SubResults>
            <LogoDataList>
                <Name>xxx台</Name>
                <Type>TV</Type>
                <X>140</X>
                <y>68</y>
                <Width>106</Width>
                <Height>106</Height>
            </LogoDataList>
            <Rate>99.9</Rate>
            <Suggestion>block</Suggestion>
            <Label>TV</Label>
            <Scene>logo</Scene>
        </SubResults>
        <TaskId>img4wlJcb7p4wH4lAP3111111-123456</TaskId>
        <ImageURL>http://xxx.xxx.xxx/xxx.jpg</ImageURL>
    </Results>
</Data>
<RequestId>69B41AE8-1234-1234-1234-12D395695D2D</RequestId>

JSON格式

{
  "Data": {
    "Results": [
      {
        "Code":200,
        "Message":"OK",
        "DataId": "uuid-xxxx-xxx-1234",
        "SubResults": [
          {
            "Rate": 99.63,
            "Suggestion": "block",
            "Label": "sexy",
            "Scene": "porn"
          },
          {
            "Label": "politics",
            "Rate": 91.54,
            "Scene": "terrorism",
            "SfaceDataList": [
              {
                "Faces": [
                  {
                    "Id": "AliFace_0001234",
                    "Name": "命中人名",
                    "Rate": 91.54
                  }
                ],
                "Height": 131,
                "Width": 97,
                "X": 49,
                "y": 39
              }
            ],
            "Suggestion": "block"
          },
          {
            "ProgramCodeDataList": [
              {
                "Width": 402.0,
                "Height": 413.0,
                "X": 11.0,
                "y": 0.0
              }
            ],
            "Frames": [
              {
                "Rate": 89.85,
                "URL": "http://xxx.xxx.com/xxx-0.jpg"
              },
              {
                "Rate": 68.06,
                "URL": "http://xxx.xxx.com/xxx-1.jpg"
              }
            ],
            "Rate": 99.91,
            "Suggestion": "block",
            "Label": "ad",
            "Scene": "ad"
          },
          {
            "Rate": 99.91,
            "Suggestion": "block",
            "Label": "drug",
            "Scene": "live"
          },
          {
            "LogoDataList": [
              {
                "Name": "xxx台",
                "Type": "TV",
                "X": 140,
                "y": 68,
                "Width": 106,
                "Height": 106
              }
            ],
            "Rate": 99.9,
            "Suggestion": "block",
            "Label": "TV",
            "Scene": "logo"
          }
        ],
        "TaskId": "img4wlJcb7p4wH4lAP3111111-123456",
        "ImageURL": "http://xxx.xxx.xxx/xxx.jpg"
      }
    ]
  },
  "RequestId": "69B41AE8-1234-1234-1234-12D395695D2D"
}

错误码

关于图片内容安全的错误码,详情请参见常见错误码

SDK参考

阿里云视觉AI能力支持使用SDK调用,具体可参见SDK总览下载安装。

安全声明

  • 请确保上传的图片或文件来源符合相应的法律法规。
  • 通过体验调试上传的临时文件有效期为1小时,在24小时后会被系统自动清理删除。