# 图片合规 API 文档

# 接口说明

基于深度学习的图片检测技术,精准高效识别各类场景中违禁、涉政、色情、未成年违规、暴恐、广告、Logo水印等风险图片内容。

购买请点击API套餐购买 (opens new window)、APPID获取请点击API使用控制台 (opens new window)、快速体验请点击图片合规SaaS (opens new window)、交流讨论请点击讯飞开放平台社区 (opens new window)
特别注意:utc、signature、uuid的值请求时需要UrlEncode

# 接口Demo

部分开发语言Demo如下,其他开发语言请参照文档进行开发,欢迎大家到讯飞开放平台社区 (opens new window)交流集成经验。

图片合规API Demo java语言 (opens new window)
图片合规API Demo python语言 (opens new window)

# 接口要求

内容 说明
传输方式 http[s] (为提高安全性,强烈推荐https)
请求地址 https://audit.iflyaisol.com/audit/v2/image
注:服务器IP不固定,为保证您的接口稳定,请勿通过指定IP的方式调用接口,使用域名方式调用
Content-Type application/json;charset=UTF-8
接口鉴权 签名机制,详情请参照下方接口鉴权
字符编码 UTF-8
响应格式 统一采用JSON格式
开发语言 任意,只要可以向讯飞云服务发起HTTP请求的均可
适用范围 任意操作系统,但因不支持跨域不适用于浏览器
图片要求 图片格式支持PNG、JPG、JPEG、BMP、GIF、WEBP格式,通过URL外链的图片最大20M,本地的图片base64最大5M。

# 接口鉴权

# 1、鉴权参数列表

所有鉴权参数均放在url地址栏。

参数名 类型 必传 描述
accessKeyId String 即为控制台获取的APIKey
accessKeySecret String 即为控制台获取的APISecret
utc String 当前时间,格式:"yyyy-MM-dd'T'HH:mm:ssZ",
服务端会校验传入的时间与服务器时间之间的误差,超过 30 分钟即为非法。
signature String 签名串,详细获取步骤234中有signature的获取参考
appId String 即为控制台获取的APPID
uuid String 请求随机字符串, uuid有防重放的功能,如果调试,请注意更换uuid的值
modeType String 图片资源模式类型,默认 link
1、URL外链模式值:link
2、本地图片base64 编码模式值:base64

# 2、第一步baseString获取

假设请求 url 中的查询参数为一个集合,将集合内满足条件的参数按照参数名 ASCII 码从小到大排序(字典序),使用键值对的格式(即 key1=value1&key2=value2…注意 value 需要 URLEncoder)拼接成字符串,得到顺序一致的baseString。示例如下:

特别注意以下3个规则:(1)参数值为空的不参与签名;(2)signature 参数本身不参与签名;(3)参数名区分大小写。

accessKeyId=simpleAPIKey&accessKeySecret=simpleAPISecret&modeType=base64&utc=2023-02-23T06%3A40%3A54%2B0000&signature=sr6uWoMTd6Z9o28aKwvx6Jsel88=&appId=simpleAPPID&uuid=44dfa903-adb2-45d3-a1fe-fd8a53f86b2a
————————————————————————————————————————————————————————————————————————————————————————————————————————————————
注意:在实际使用时,simpleXXX需替换控制台的真实值。utc、signature、uuid的值请求时需要UrlEncode。以上utc示例时间UrlEncode前为2023-02-23T06:40:54+0000。randomStr用UUID.randomUUID()函数获得的值替换。

# 3、第二步根据baseString与accessKeySecret获取signature的值

根据得到的baseString和控制台获取的accessKeySecret(即APISecret),利用HMAC运算(HmacSHA1)生成签名byte[],然后使用base64编码得到signature,示例如下:

sr6uWoMTd6Z9o28aKwvx6Jsel88=
————————————————————————————————————————————————————————————————————————————————————————————————————————————————
注意:保持baseString的值与第一步完全一致的情况下,调试阶段可以与以上结果比对。

# 4、第三步拼接放到url地址栏

根据第二步获得的signature值,与url地址拼接得到最终地址栏结果,示例如下:

https://audit.iflyaisol.com/audit/v2/image?accessKeyId=simpleAPIKey&accessKeySecret=simpleAPISecret&modeType=base64&utc=2023-02-23T06%3A40%3A54%2B0000&signature=sr6uWoMTd6Z9o28aKwvx6Jsel88=&appId=simpleAPPID&uuid=44dfa903-adb2-45d3-a1fe-fd8a53f86b2a
————————————————————————————————————————————————————————————————————————————————————————————————————————————————
注意:以上是鉴权url参数,具体业务参数通过json在body里以post的形式发送给服务端。

# 请求与返回示例

在调用业务接口时,均在 Http RequestBody中配置以下参数,请求与返回数据均为json字符串,示例如下。

# 1、请求json示例

{
  "content":"iVBORw0KGgoAAAANSU..." // 这里仅为base64图片数据的部分示例
}

# 2、返回json示例

{
  "code": "000000",
  "desc": "成功",
  "data": {
    "result": {
      "suggest": "block",
      "detail": {
        "category_list": [
          {
            "confidence": 93,
            "category": "political",
            "suggest": "block",
            "category_description": "涉政_政治象征_国旗",
            "object_detail": [
              {
                "name": "chinaflag",
                "confidence": 93,
                "location": {
                  "x": 124.0,
                  "y": 271.0,
                  "w": 415.0,
                  "h": 307.0
                }
              }
            ]
          },
          {
            "confidence": 99,
            "category": "political",
            "suggest": "block",
            "category_description": "涉政_政治象征_国旗国徽"
          }
        ]
      }
    },
    "request_id": "T20230302164002016a33b6197100000"
  },
  "sid": "a154ee7126314a029a5ab5a7491ffa1c"
}

# 参数说明

# 1、请求参数说明

参数名 类型 必传 描述
content String 待识别图片信息
modeType为link时,值为外链信息
modeType为base64时,值为图片base64编码信息
biz_type String 通过策略配置审核分类和自定义词库,不传取默认策略。词库黑白名单开放中,敬请期待。

# 2、返回参数说明

参数名 类型 描述
sid String 本次会话唯一id标识,用于排查接口调用问题
code String 会话调用成功标记:
000000 表示调用成功
其他数字 表示会话调用异常
desc String 对会话调用是否成功的描述
data Object 审核结果
data.request_id String 文本合规审核的标识
data.result Object 内容识别结果
data.result.suggest String 审核建议结果:
pass 通过
block 不合规结果
data.result.detail Object 审核结果详情
data.result.detail.sourceUrl String 图片URL
data.result.detail.category_list Object 敏感节点列表
data.result.detail.category_list[n].suggest String 内容建议结果:
pass 通过
block 不合规内容
data.result.detail.category_list[n].category String 敏感分类
data.result.detail.category_list[n].category_description String 敏感分类描述
data.result.detail.category_list[n].subCategory String 敏感子分类
data.result.detail.category_list[n].confidence Integer 该分类下建议结果的置信度:
取值 0-100
data.result.detail.category_list[n].object_detail List 该字段用于返回物体检测模型的详细检测结果
包括:实体、广告台标、二维码等内容命中的标签名称、标签分数、坐标信息等
data.result.detail.category_list[n].object_detail[n].name String 命中标签
data.result.detail.category_list[n].object_detail[n].value String 该参数用于返回对应实体标签所对应的值或内容。
data.result.detail.category_list[n].object_detail[n].confidence Integer 识别为命中标签的概率,取值范围 0-100,最大 100
data.result.detail.category_list[n].object_detail[n].location Object 位置信息
data.result.detail.category_list[n].object_detail[n].location.x Float 左上角位置的横坐标(x)所在的像素位置
data.result.detail.category_list[n].object_detail[n].location.y Float 左上角位置的纵坐标(y)所在 的像素位置
data.result.detail.category_list[n].object_detail[n].location.w Float 检测框的宽度(由左上角出发在 x 轴向 右延伸的长度)
data.result.detail.category_list[n].object_detail[n].location.h Float 检测框的高度(由左上角出发在 y 轴向 下延伸的长度)
data.result.detail.category_list[n].object_detail[n].word_infos List 仅当 name 为 ocrText 时存在,命中的敏感词信息
data.result.detail.category_list[n].object_detail[n].word_infos[n].word String 敏感词
data.result.detail.category_list[n].object_detail[n].word_infos[n].positions List 敏感词位置下标

# 常见问题

# 图片合规支持哪些图片格式的请求,图片大小限制是多少?

答:支持 PNG、JPG、JPEG、BMP、GIF、WEBP 格式。图片大小限制是20M。

# 图片合规对图片画面进行审查的同时,会不会图片中违规的文字内容进行审查?

答:会的。图片合规既审查图片画面,同时也审核图片中的文字是否合规。

# 支持自定义的违规图片库吗?

答:支持。可以添加自定义的违规图片库,同时可以指定放行的图片库。后续将会开放此功能。

在线
咨询
建议
反馈
体验
中心