本文介绍如何通过调用 RESTful API 体验声网视频鉴黄服务的准确性。你也可以通过声网提供的在线 Demo 体验云端视频鉴黄服务的准确性。
POST https://api-test.agora.io/cn/v1.0/projects/{appId}/image-moderate-demo
appId
: String 型必填参数。声网为每个开发者提供的 App ID。在声网控制台创建一个项目后即可得到一个 App ID。一个 App ID 是一个项目的唯一标识。
字段名 | 值 |
---|---|
Content-Type |
application/json;charset=utf-8 |
请求包体为 JSON Object 类型,包含以下字段:
字段 | 类型 | 描述 |
---|---|---|
threshold |
JSON Array | (选填)设置云端鉴黄服务的判定阈值,详见自定义阈值。 如果不设置,则表示选择默认的判定方式,即取色情( porn )、性感(sexy ) 和正常(neutral )中概率最大值对应的类型为鉴黄结果。 |
image_name |
String | 待审核的 JPG 格式的图片名称。 |
image_url |
String | (选填)待审核的 JPG 格式的图片 URL 地址。 |
jpg |
Byte | (选填)待审核的二进制图片。 优先级 image_url 大于 jpg 。 |
timestamp |
timestamp | 此次鉴黄 Unix 时间戳(秒)。UTC 时间,由年、月、日、小时、分钟、秒组成。 例如,鉴黄开始时间为 UTC 2021 年 10 月 18 日 11 点 32 分 25 秒,则 Unix 时间戳为 1634527945。 |
model |
Int | (选填)鉴黄服务。声网视频鉴黄通过客户端视频鉴黄模型和云端视频鉴黄服务实现,你可以选择如下两种服务之一来体验其准确性:1 :(默认)云端视频鉴黄服务2 :客户端鉴黄模型 |
request_id |
String | 请求 ID,标识本次鉴黄请求的的唯一 ID。 |
响应 body 包含字段如下:
字段 | 类型 | 描述 |
---|---|---|
code |
String | 0 :请求成功。-3 :timeout 请求超时。-50 :request type error HTTP 请求类型错误。-51 :need files jpg 和 image_url 为空,需要传入至少其中一个字段。-100 : app id empty App ID 为空值,请传入正确的 App ID。-101 :request id empty Request ID 为空值,请传入正确的 Request ID。-103 :jpg exceed max len 图片大小超过 500 KB。-104 :image name empty 图片名称为空,请传入图片名称。-105 :process image error 进程映像错误。-106 :image empty 图片为空,请重新传入图片。-429 :limit qps 超过 QPS 限制(10 秒/次)。 |
msg |
String | 详细信息。 |
data |
Object JSON | 此次鉴黄输出数据。 |
data.neutral |
Float | 该图片为正常图片的概率。正常指图片中无不良内容,可能存在正常且适度的肢体裸露和身体曲线。 |
data.porn |
Float | 该图片为色情图片的概率。色情指图片包含生殖器官的裸露、性行为与性暗示、性征的过分强调等。 |
data.sexy |
Float | 该图片为性感图片的概率。性感指图片包含较大尺度的裸露或男女性征的轻微轮廓,但无生殖器官的裸露。 |
data.scene |
String | 鉴黄判定结果。该鉴黄结果是基于 outputs 中的三个浮点数值对图片属性进行的判定,包含以下值:neutral :正常porn :色情sexy :性感 |
data.suggestion |
String | 图片处理意见,包含以下值:pass :正常图片,不做处理。block :色情图片,审核不通过。review :性感图片。对于结果为性感的图片,你可以根据自己的业务场景,直接将图片认定为正常,不做处理,或进行人工复审。例如,对性感容忍度较高的社交类应用,可以认定图片为正常;而对性感容忍度较低的教育类应用,可以对图片进行人工复审。 |
curl --location --request POST 'http://api-test.agora.io/cn/v1.0/projects/aab8b8f5a8cXXXXXX63042fcfafe7063/image-moderate-demo' \
--form 'image_name="test.jpg"' \
--form 'image_url="https://webdemo.agora.io/imagevalidation/static/media/sample1.bf7f73f3.jpg"' \
--form 'request_id="12345"' \
--form 'timestamp="1634527945"' \
--form 'threshold="[{\"scene\": \"porn\", \"threshold\": 0.001}, {\"scene\": \"sexy\", \"threshold\": 0.999}]"'
{
"code": "0",
"data": {
"neutral": 0.0000036498117879091296,
"porn": 0.2695833146572113,
"sexy": 0.730413019657135,
"scene": "porn",
"suggestion": "block"
},
"msg": "success"
}