1. 技术简介
图片内容安全审核接口用于对单张图片做机器判定,识别其中可能包含的不适宜元素,覆盖两类内容:色情(鉴黄)与暴力恐怖(鉴暴恐)。调用方通过一次 POST 请求提交图片来源(图片地址、base64 编码或图片文件),接口以 JSON 返回判定结果,便于嵌入 UGC 审核流水线、内容平台的发布前校验、企业素材库的入库质检等环节。
接口形态:
- 请求方式:POST
- 返回类型:JSON
- 鉴权方式:API 简单身份认证(APPCODE),请求头
Authorization: APPCODE YOUR_APPKEY - 图片格式:PNG、JPG、JPEG、BMP,单张不超过 4M;不支持 GIF
2. 能力概览
| 能力项 | 说明 |
|---|---|
| 鉴别类型 | 色情鉴别(type=1,默认)、暴恐鉴别(type=2) |
| 输入方式 | 图片 URL(imgUrl)、图片 base64 串(base64),二者任选其一 |
| 图片格式 | PNG、JPG、JPEG、BMP |
| 大小限制 | 单张图片不超过 4M |
| 返回结构 | JSON,含判定结果与业务状态码 |
| 计量规则 | 按调用次数计量,仅 HTTP 状态码为 200 的请求计入次数 |
能力边界说明:接口输出的判定结果属于机器识别结论,用于辅助人工审核与流程拦截,不应作为唯一判定依据。涉政、涉未成年人等更高风险的场景,建议叠加人工复核机制。

3. 适用场景
- 社交平台 / 内容社区:用户头像、发帖配图、评论附图的发布前机审。
- 电商 / 交易平台:商品主图、详情页图片的入库质检与上下架前校验。
- 企业 / 办公系统:外发素材、宣传物料、合规存档的批量筛查。
- 教育 / 培训平台:课程附件、学员上传材料的违规内容过滤。
- 自建审核工具:作为审核流水线的机审节点,人工只处理机审命中的样本。
选型思路:如果业务只需要「是否含色情 / 是否含暴恐」两类结论,且输入为静态图片,该接口的粒度与成本匹配度较高;若需要细分类别(如恐怖、低俗、广告)或视频逐帧审核,则需评估更细粒度的内容安全方案。

4. 接入流程
接入共五步,全程在阿里云控制台侧完成:
- 在阿里云云市场订购商品,生成资源包;
- 在服务控制台获取 APPCODE(鉴权凭据);
- 发起 POST 请求,请求头携带
Authorization: APPCODE appcode(appcode 见 §1 鉴权说明); - 解析 JSON 响应,按业务状态码分流处理;
- 结合调用量与余量做容量规划与余量观察。
调用方 ──POST /greenImg──> 内容安全审核接口
请求头: Authorization: APPCODE <appcode>
请求体: { "imgUrl": "...", "type": "1" }
<── 200 { code: 200, data: {...} }

5. 调用示例与返回结构
5.1 请求参数(Body)
| 参数 | 类型 | 必填 | 说明 |
|---|---|---|---|
| imgUrl | string | 二选一 | 待审核图片的公网可访问 URL,与 base64 任选其一 |
| base64 | string | 二选一 | 图片的 base64 编码串,与 imgUrl 任选其一 |
| type | string | 否 | 鉴别类型:1=色情(默认),2=暴恐 |
5.2 请求示例
{
"imgUrl": "示例图片地址",
"type": "1"
}
5.3 返回结构
{
"code": 200,
"message": "成功",
"data": {
"sensitive": "normal"
}
}
| 字段 | 说明 |
|---|---|
| code | 业务状态码,200 表示调用成功 |
| message | 状态描述 |
| data | 判定结果对象,含识别结论字段 |
5.4 多语言调用示例
Python
import requests
ENDPOINT = "调用地址见控制台" # 商品页接口信息中的调用地址
def audit_image(img_url, img_type="1"):
resp = requests.post(
ENDPOINT,
headers={
"Authorization": "APPCODE <appcode>", # <appcode> 见 §1 鉴权说明
"Content-Type": "application/json"
},
json={
"imgUrl": "示例图片地址", "type": img_type}
)
return resp.json()
result = audit_image("示例图片地址", "2")
print(result)
Java
// 使用任意 HTTP 客户端 POST JSON,请求头加
// Authorization: APPCODE <appcode> (<appcode> 见 §1 鉴权说明)
// Body: {"imgUrl":"示例图片地址","type":"1"}
JavaScript (Node)
const ENDPOINT = "调用地址见控制台"; // 商品页接口信息中的调用地址
const res = await fetch(ENDPOINT, {
method: "POST",
headers: {
"Authorization": "APPCODE <appcode>", // <appcode> 见 §1 鉴权说明
"Content-Type": "application/json"
},
body: JSON.stringify({
imgUrl: "示例图片地址", type: "1" })
});
console.log(await res.json());

6. 在线调试实录
在云市场商品页的 API 调试模块中可直接填写参数在线试调,以下为一次暴恐鉴别(type=2)的实测记录:
- 入参:
imgUrl指向一张示例图片,type=2; - 响应:HTTP 200,业务 code=200,data 内给出判定结论;
- 耗时:单次调用响应较快,具体耗时以控制台实测为准。
调试建议:先用一张确定合规的图片验证「正常」结论,再用一张明确违规的样图验证命中结论,两条路径都通过后再接入生产,避免把误报率问题带到线上。

7. 调用限制与规范
- 次数计量:仅 HTTP 响应码为 200 的调用扣减次数,4xx/5xx 不计;
- 图片约束:格式限 PNG/JPG/JPEG/BMP,单张 ≤ 4M,不支持 GIF;
- 输入互斥:imgUrl 与 base64 二选一传入;type 缺省为 1(色情鉴别);
- 使用规范:
- 审核对象必须是合法来源的图片,接口不替代人工责任认定;
- 高频调用建议加本地缓存(同一图片短时间内不重复送审);
- 对 imgUrl 方式,图片 URL 需对服务端可访问(公网可达、无防盗链限制);
- base64 方式注意请求体大小限制,过大图片会增大传输耗时。
8. 能力边界与免责声明
- 支持:四类常见静态图片格式的色情 / 暴恐两类鉴别;
- 不支持:GIF、视频逐帧、音频;细粒度分类(恐怖子类、低俗分级等)不在该接口输出粒度内;
- 边界:机器判定存在误判可能,涉政、未成年人相关素材务必叠加人工复核;
- 免责:接口输出为技术性识别结果,不构成内容合法性最终认定,业务合规责任由调用方承担。

9. 错误码排查
| 现象 | 可能原因 | 排查方法 |
|---|---|---|
| HTTP 401 / 鉴权失败 | APPCODE 错误或缺失 Authorization 头 | 核对请求头格式 Authorization: APPCODE <appcode> |
| HTTP 4xx 参数类 | imgUrl 与 base64 均未传 / type 取值非法 | 二者必传其一;type 仅接受 1 或 2 |
| 业务 code 非 200 | 图片下载失败、格式不支持、超过 4M | 换用 base64 方式或压缩图片后重试 |
| 长时间无响应 | imgUrl 公网不可达或防盗链拦截 | 浏览器与服务器侧分别验证 URL 可达性 |
| 限流 | 瞬时并发过高 | 客户端做队列削峰与重试退避 |
10. 技术 FAQ
Q1:imgUrl 和 base64 该选哪种?
内网图片或敏感素材避免暴露公网 URL 时用 base64;有稳定公网 CDN 的图片用 imgUrl,服务端下载失败率更低且请求体更小。
Q2:type 不传会怎样?
默认按色情鉴别(type=1)执行。需要暴恐结论必须显式传 2。
Q3:GIF 动态图能审吗?
不支持。GIF 需抽帧为静态图(取首帧或关键帧)后再提交审核。
Q4:非 200 的调用会计次吗?
不会。仅 HTTP 响应码为 200 的调用计入次数。
Q5:命中违规后业务侧怎么处理?
建议走「机审命中 → 人工复核 → 处置(下架/打回)」的流水线,避免单机审直接删除,降低误伤。
Q6:可以私有化或定制吗?
该商品为按次计量的在线服务,接入方式以控制台说明为准;有定制化需求可联系服务商确认。
11. 内容小结
图片内容安全审核接口提供色情与暴恐两类机器鉴别,支持 URL / base64 两种输入,鉴权使用 APPCODE,POST 一次请求即得 JSON 结论。接入时重点把握三件事:
- 参数互斥规则:imgUrl 与 base64 二选一,type 缺省为 1;
- 调用成本模型:仅 200 响应计次,配合本地缓存可降低重复送审;
- 处置链路:机审结果作为人工复核的输入,而非最终处置依据。
完整商品与订购信息可查阅阿里云云市场商品页。