API接入指南
内容安全审核API文档,提供文本、图片、视频内容检测服务
1. 概述
红方科技内容安全审核API提供文本、图片、视频内容的智能检测服务,帮助您快速识别和过滤不良内容。
接口地址
Base URL: https://safe.ydylmold.com/api
支持的内容类型
- 文本检测:识别敏感词、违规内容
- 图片检测:识别色情、暴力等不良图片
- 视频检测:识别视频中的不良内容
提示
所有接口都需要进行签名验证,请确保您的请求包含正确的签名信息。
2. 认证方式
所有API请求都需要进行签名验证。签名生成步骤如下:
2.1 获取API密钥
登录控制台后,在"API密钥"区域可以获取您的 userNo 和 secretKey。
2.2 签名生成算法
1. 将请求参数按key的字母顺序排序 2. 拼接成 key1=value1&key2=value2 格式的字符串 3. 在字符串末尾添加 &key=YOUR_SECRET_KEY 4. 对字符串进行MD5加密(32位小写) 5. 将sign值添加到请求参数中
2.3 签名示例
假设您的参数如下:
userNo: "USER123" content: "测试内容" timestamp: 1712233445 secretKey: "your-secret-key"
签名生成过程:
1. 排序后的参数:content=测试内容×tamp=1712233445&userNo=USER123 2. 添加密钥:content=测试内容×tamp=1712233445&userNo=USER123&key=your-secret-key 3. MD5加密:a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6 4. 最终签名:sign=a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6
注意事项
请妥善保管您的secretKey,不要在客户端代码中暴露。建议在服务端进行签名计算。
3. 文本检测接口
3.1 接口说明
检测文本内容中是否包含敏感词或违规内容。
3.2 请求地址
POST
/api/check/text
3.3 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userNo | String | 是 | 用户编号,从控制台获取 |
| content | String | 是 | 待检测的文本内容 |
| handleType | String | 否 | 处理方式:replace(替换敏感词)/reject(拒绝),默认replace |
| replaceChar | String | 否 | 替换字符,默认为* |
| returnHitWords | Boolean | 否 | 是否返回命中的敏感词,默认false |
| timestamp | Long | 是 | 时间戳(秒) |
| sign | String | 是 | 签名 |
3.4 请求示例
{
"userNo": "USER123",
"content": "这是待检测的文本内容",
"handleType": "replace",
"replaceChar": "*",
"returnHitWords": true,
"timestamp": 1712233445,
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
3.5 响应参数
| 参数名 | 类型 | 说明 |
|---|---|---|
| code | Integer | 响应码,200表示成功 |
| message | String | 响应消息 |
| data | Object | 检测结果 |
3.6 响应示例
{
"code": 200,
"message": "success",
"data": {
"passed": true,
"riskLevel": "SAFE",
"processedContent": "这是待检测的文本内容",
"hitWords": [],
"message": "内容安全",
"costMs": 15,
"source": "local"
}
}
3.7 handleType说明
- replace:替换敏感词后返回,processedContent字段包含替换后的内容
- reject:存在敏感词时返回空内容,processedContent字段为空字符串,hitWords字段包含敏感词列表
4. 图片检测接口
4.1 接口说明
检测图片内容中是否包含色情、暴力等不良内容。
4.2 请求地址
POST
/api/check/image
4.3 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userNo | String | 是 | 用户编号,从控制台获取 |
| imageUrl | String | 是 | 图片URL地址 |
| timestamp | Long | 是 | 时间戳(秒) |
| sign | String | 是 | 签名 |
4.4 请求示例
{
"userNo": "USER123",
"imageUrl": "https://example.com/image.jpg",
"timestamp": 1712233445,
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
4.5 响应示例
{
"code": 200,
"message": "success",
"data": {
"passed": true,
"riskLevel": "SAFE",
"message": "图片内容安全",
"costMs": 234,
"source": "local"
}
}
5. 视频检测接口
5.1 接口说明
检测视频内容中是否包含不良内容。
5.2 请求地址
POST
/api/check/video
5.3 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userNo | String | 是 | 用户编号,从控制台获取 |
| videoUrl | String | 是 | 视频URL地址 |
| timestamp | Long | 是 | 时间戳(秒) |
| sign | String | 是 | 签名 |
5.4 请求示例
{
"userNo": "USER123",
"videoUrl": "https://example.com/video.mp4",
"timestamp": 1712233445,
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
5.5 响应示例
{
"code": 200,
"message": "success",
"data": {
"passed": true,
"riskLevel": "SAFE",
"message": "视频内容安全",
"costMs": 1567,
"source": "local"
}
}
6. 批量检测接口
6.1 接口说明
批量检测多个内容,支持文本、图片、视频混合检测。
6.2 请求地址
POST
/api/check/batch
6.3 请求参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| userNo | String | 是 | 用户编号,从控制台获取 |
| contentType | String | 否 | 内容类型:text/image/video,默认image |
| contents | Array | 是 | 待检测的内容列表 |
| timestamp | Long | 是 | 时间戳(秒) |
| sign | String | 是 | 签名 |
6.4 请求示例
{
"userNo": "USER123",
"contentType": "image",
"contents": [
"https://example.com/image1.jpg",
"https://example.com/image2.jpg",
"https://example.com/image3.jpg"
],
"timestamp": 1712233445,
"sign": "a1b2c3d4e5f6g7h8i9j0k1l2m3n4o5p6"
}
6.5 响应示例
{
"code": 200,
"message": "success",
"data": {
"totalCount": 3,
"passedCount": 2,
"failedCount": 1,
"results": [
{
"content": "https://example.com/image1.jpg",
"passed": true,
"riskLevel": "SAFE",
"message": "图片内容安全"
},
{
"content": "https://example.com/image2.jpg",
"passed": false,
"riskLevel": "UNSAFE",
"message": "图片包含不良内容"
},
{
"content": "https://example.com/image3.jpg",
"passed": true,
"riskLevel": "SAFE",
"message": "图片内容安全"
}
]
}
}
7. 错误码
API调用失败时会返回相应的错误码,请根据错误码进行相应的处理。
| 错误码 | 说明 | 解决方案 |
|---|---|---|
| 200 | 成功 | 请求成功 |
| 400 | 参数错误 | 检查请求参数是否正确 |
| 401 | 签名验证失败 | 检查签名算法是否正确 |
| 403 | 权限不足 | 检查用户权限 |
| 404 | 接口不存在 | 检查请求地址是否正确 |
| 415 | 数据格式不正确 | 请使用JSON格式,参考文档:https://safe.ydylmold.com/docs.html |
| 500 | 服务器错误 | 请联系技术支持 |
| 503 | 服务不可用 | 稍后重试或联系技术支持 |
技术支持
如遇到问题,请联系技术支持:support@ydylmold.com