tencent cloud

文档反馈

图片单次审核

最后更新时间:2023-12-30 10:29:33

    功能描述

    图片审核功能支持同步、异步请求方式,您可以通过本接口对图片文件进行内容审核。该接口属于 GET 请求。
    该接口支持情况如下:
    注意:
    支持审核腾讯云 COS 上的图片文件。
    支持审核第三方云存储厂商的图片 URL。
    支持审核本地图片文件,需要先进行 base64编码。审核本地图片文件请调用 图片批量审核接口
    支持对 COS 上的图片文件或链接进行检测,通过深度学习技术,识别可能令人反感、不安全或不适宜的违规图片内容。
    支持对 GIF 图进行截帧审核。
    支持识别多种违规场景,包括:低俗、违法违规、色情、广告等场景。
    支持多种物体检测(实体、广告台标、二维码等)及图片中文本的 OCR 文本识别。
    支持根据不同的业务场景 配置自定义的审核策略
    支持用户通过配置自定义风险库,打击自定义的违规内容。

    费用说明

    每个审核场景单独计费,例如您选择审核涉黄、广告两种场景,则审核1张图片,计2次审核费用。
    调用接口会产生图片审核费用和 COS 读请求费用
    如果图片为 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用
    不支持审核 COS 上的归档存储类型和深度归档存储类型的文件,如果需要审核此类型文件,请先 恢复归档文件
    审核第三方云存储厂商的图片 URL 时,将产生所在云厂商的下行流量费用。

    限制说明

    图片文件大小支持:支持审核32MB以下的图片。对于大小超过5MB的图片,您需要在调用请求时,使用 large-image-detect 参数。
    图片文件分辨率支持:建议分辨率大于256x256,否则可能会影响识别效果。
    图片文件支持格式:PNG、JPG、JPEG、BMP、GIF、WEBP 格式。
    图片文件链接支持的传输协议:HTTP、HTTPS。
    调用接口需携带签名,具体规则请参见 请求签名 文档。

    推荐使用 SDK

    对象存储 SDK 提供了完整的 Demo、自动集成、计算签名等能力。您可通过 SDK 方便快捷地调用接口。点此查看 SDK 文档

    请求

    请求示例

    GET /<ObjectKey>?ci-process=sensitive-content-recognition&detect-url=<detect-url>&interval=<interval>&max-frames=<max-frames>&biz-type=<biz-type> HTTP/1.1
    Host: <BucketName-APPID>.cos.<Region>.myqcloud.com
    Date: GMT Date
    Authorization: Auth String
    说明:
    Authorization: Auth String(详情请参见 请求签名 文档)。
    通过子账号使用时,需要授予相关的权限,详情请参见 授权粒度详情 文档。

    请求头

    此接口仅使用公共请求头部,详情请参见 公共请求头部 文档。

    请求参数

    具体参数如下:
    参数名称
    描述
    类型
    是否必选
    ObjectKey
    COS 存储桶中的图片文件名称,COS 存储桶由 Host 指定,例如在北京的 examplebucket-1250000000存储桶中的目录 test 下的文件 img.jpg,则 Host 填写 examplebucket-1250000000.cos.ap-beijing.myqcloud.comObjectKey 填写 test/img.jpg
    String
    ci-process
    标识数据处理功能的字段,内容审核的值为:sensitive-content-recognition。
    String
    biz-type
    表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如涉黄、广告、违法违规等,配置指引: 设置公共审核策略。您可以在控制台上获取到 biz-type。biz-type 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。biz-type 不填写时,将自动使用默认的审核策略。
    String
    detect-url
    您可以通过填写 detect-url 审核任意公网可访问的图片链接不填写 detect-url 时,后台会默认审核 ObjectKey 填写了 detect-url 时,后台会审核 detect-url 链接,无需再填写 ObjectKey``detect-url 示例:http://www.example.com/abc.jpg
    String
    interval
    审核 GIF 动图时,可使用该参数进行截帧配置,代表截帧的间隔。例如值设为5,则表示从第1帧开始截取,每隔5帧截取一帧,默认值5。
    Int
    max-frames
    针对 GIF 动图审核的最大截帧数量,需大于0。例如值设为5,则表示最大截取5帧,默认值为5。
    Int
    large-image-detect
    对于超过大小限制的图片是否进行压缩后再审核,取值为: 0(不压缩),1(压缩)。默认为0。注:压缩最大支持32MB的图片,且会收取图片压缩费用。对于 GIF 等动态图过大时,压缩时间较长,可能会导致审核超时失败。
    Int
    dataid
    图片标识,该字段在结果中返回原始内容,长度限制为512字节。
    String
    async
    是否异步进行审核,取值 0:同步返回结果,1:异步进行审核,默认为0。
    Int
    callback
    审核结果(Detail版本)以回调形式发送至您的回调地址,异步审核时生效,支持以 http:// 或者 https:// 开头的地址,例如: http://www.callback.com
    String
    注意:
    通过 ObjectKey 进行审核为内网操作,不会产生额外的外网流量。
    通过 detect-url 进行审核,会产生图片所在源站对应的外网流量。

    请求体

    该请求的请求体为空。

    响应

    响应头

    此接口仅返回公共响应头部,详情请参见 公共响应头部 文档。

    响应体

    <RecognitionResult>
    <JobId>xxxxxxxxxxxxxxx</JobId>
    <Result>1</Result>
    <Label>Porn</Label>
    <SubLabel>SexBehavior</SubLabel>
    <Score>90</Score>
    <PornInfo>
    <Code>0</Code>
    <Msg>OK</Msg>
    <HitFlag>1</HitFlag>
    <Label>xxx</Label>
    <SubLabel>SexBehavior</SubLabel>
    <Score>100</Score>
    <OcrResults>
    <Text></Text>
    <Keywords></Keywords>
    <Location>
    <X></X>
    <Y></Y>
    <Width></Width>
    <Height></Height>
    <Rotate></Rotate>
    </Location>
    </OcrResults>
    </PornInfo>
    </RecognitionResult>
    响应包体具体数据内容如下:
    参数名称
    类型
    描述
    RecognitionResult
    Container
    图片审核结果。
    异步审核返回的RecognitionResult 节点内容:
    参数名称
    类型
    描述
    DataId
    String
    图片标识,审核结果会返回原始内容,长度限制为512字节。
    JobId
    String
    图片审核任务的 ID。
    State
    String
    审核任务的状态,值为Submitted(已提交审核)。
    Object
    String
    存储在 COS 桶中的图片名称,创建任务使用 ObjectKey 时返回。
    Url
    String
    图片文件的链接地址,创建任务使用 detect-url 时返回。
    同步审核返回的RecognitionResult 节点内容:
    参数名称
    类型
    描述
    DataId
    String
    图片标识,审核结果会返回原始内容,长度限制为512字节。
    JobId
    String
    图片审核任务的 ID。
    State
    String
    审核任务的状态,值为 Success(审核成功)。
    Object
    String
    存储在 COS 桶中的图片名称,创建任务使用 ObjectKey 时返回。
    Url
    String
    图片文件的链接地址,创建任务使用 detect-url 时返回。
    CompressionResult
    Int
    图片是否被压缩处理,值为 0(未压缩),1(正常压缩)。
    Result
    Int
    该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。
    Label
    String
    该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。返回值:Normal 表示正常,Porn 表示色情,Ads 表示广告,以及其他不安全或不适宜的类型。
    Category
    String
    该字段为 Label 的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。
    SubLabel
    String
    该图命中的二级标签结果。
    Score
    Int
    该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表该内容越有可能属于当前返回审核信息例如:色情 99,则表明该内容非常有可能属于色情内容。
    Text
    String
    该图里的文字内容(OCR),当审核策略开启文本内容检测时返回。
    PornInfo
    Container
    审核场景为涉黄的审核结果信息。
    AdsInfo
    Container
    审核场景为广告引导的审核结果信息。
    审核信息(PornInfo、AdsInfo)中包含如下内容:
    参数名称
    类型
    描述
    Code
    Int
    错误码,0为正确,其他数字对应相应错误。详情请参见 错误码
    Msg
    String
    具体错误信息,如正常则为 OK。
    HitFlag
    Int
    用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。
    Score
    Int
    该字段表示审核结果命中审核信息的置信度,取值范围:0(置信度最低)-100(置信度最高),越高代表该内容越有可能属于当前返回审核信息。其中0 - 60分表示图片正常,61 - 90分表示图片疑似敏感,91 - 100分表示图片确定敏感。例如:色情 99,表明该内容非常有可能属于色情内容。
    Label
    String
    该字段表示该截图的综合结果标签(可能为 SubLabel,可能为人物名字等)。
    Category
    String
    该字段为 Label 的子集,表示审核命中的具体审核类别。例如 Sexy,表示色情标签中的性感类别。
    SubLabel
    String
    该字段表示审核命中的具体子标签,例如:Porn 下的 SexBehavior 子标签。注意:该字段可能返回空,表示未命中具体的子标签。
    OcrResults
    Container Array
    该字段表示 OCR 文本识别的详细检测结果,包括文本识别结果、命中的关键词等信息,有相关违规内容时返回。
    LibResults
    Container Array
    该字段用于返回基于风险库识别的结果。注意:未命中风险库中样本时,此字段不返回。
    Container 节点 LibResults 的内容:
    参数名称
    类型
    描述
    ImageId
    String
    该字段表示命中的风险库中的图片样本 ID。
    Score
    Integer
    该字段用于返回当前标签下的置信度,取值范围:0(置信度最低)-100(置信度最高 ),越高代表当前的图片越有可能命中库中的样本。例如:色情 99,表明该数据非常有可能命中库中的色情样本。
    Container 节点 OcrResults 的内容:
    参数名称
    类型
    描述
    Text
    String
    图片 OCR 文本识别出的具体文本内容。
    Keywords
    String Array
    在当前审核场景下命中的关键词。
    Location
    Container
    该参数用于返回 OCR 检测框在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位识别文字的相关信息。
    Container 节点 Location 的内容:
    名称
    类型
    描述
    X
    Float
    该参数用于返回检测框左上角位置的横坐标(x)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。
    Y
    Float
    该参数用于返回检测框左上角位置的纵坐标(y)所在的像素位置,结合剩余参数可唯一确定检测框的大小和位置。
    Width
    Float
    该参数用于返回检测框的宽度(由左上角出发在 x 轴向右延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。
    Height
    Float
    该参数用于返回检测框的高度(由左上角出发在 y 轴向下延伸的长度),结合剩余参数可唯一确定检测框的大小和位置。
    Rotate
    Float
    该参数用于返回检测框的旋转角度,该参数结合 X 和 Y 两个坐标参数可唯一确定检测框的具体位置;取值:0-360角度制),方向为逆时针旋转
    Container 节点 ObjectResults 的内容:
    名称
    类型
    描述
    Name
    String
    该标签用于返回所识别出的实体名称,例如人名。
    Location
    Container
    该参数用于返回检测结果在图片中的位置(左上角 xy 坐标、长宽、旋转角度),以方便快速定位相关信息。

    实际案例

    请求1:同步图片审核

    GET /picture.jpg?ci-process=sensitive-content-recognition&interval=0&max-frames=1&biz-type=*** HTTP/1.1
    Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.com
    Date: Tue, 03 Apr 2019 09:06:15 GMT
    Authorization:XXXXXXXXXXXX

    响应1

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 645
    Date: Tue, 03 Apr 2018 09:06:16 GMT
    Status: 200 OK
    x-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
    
    <RecognitionResult>
    <JobId>xxxxxxxxxxxxxxx</JobId>
    <CompressionResult>0</CompressionResult>
    <Result>1</Result>
    <Label>Porn</Label>
    <SubLabel>SexBehavior</SubLabel>
    <Score>95</Score>
    <PornInfo>
    <Code>0</Code>
    <Msg>OK</Msg>
    <HitFlag>1</HitFlag>
    <Label>xxx</Label>
    <SubLabel>SexBehavior</SubLabel>
    <Score>95</Score>
    </PornInfo>
    </RecognitionResult>

    请求2:异步图片审核

    GET /picture.jpg?ci-process=sensitive-content-recognition&biz-type=***&async=1&callback=http://www.callback.com HTTP/1.1
    Host: examplebucket-1250000000.cos.ap-chengdu.myqcloud.com
    Date: Tue, 03 Apr 2019 09:06:15 GMT
    Authorization:XXXXXXXXXXXX

    响应2

    HTTP/1.1 200 OK
    Content-Type: application/xml
    Content-Length: 645
    Date: Tue, 03 Apr 2018 09:06:16 GMT
    Status: 200 OK
    x-cos-request-id: NWFjMzQ0MDZfOTBmYTUwXzZkZV8z****
    
    <RecognitionResult>
    <JobId>xxxxxxxxxxxxxxx</JobId>
    </RecognitionResult>