进入控制台
快速导航

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