1. 接口描述
接口请求域名: ims.tencentcloudapi.com 。
图片同步检测服务(Image Moderation, IM)能自动扫描图片,识别可能令人反感、不安全或不适宜的内容,同时支持用户配置图片黑名单,打击自定义识别类型的图片。
关于版本迭代的描述
当前页面版本为图片内容安全2020版本,2020.11.3日前接入的图片内容安全接口为2019版本,在此时间前接入的用户可直接访问以下链接进行维护操作:图片内容安全-2019版本
2020版本相对2019版本进行了升级,支持更灵活的多场景业务策略配置以及更丰富的识别回调信息,满足不同业务的识别需求,建议按照2020版本接入指引进行接口升级;同时,2019版本也会持续维护直至用户不再使用为止。
默认接口请求频率限制:100次/秒。
推荐使用 API Explorer
点击调试
API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:ImageModeration。 |
Version | 是 | String | 公共参数,本接口取值:2020-07-13。 |
Region | 是 | String | 公共参数,详见产品支持的 地域列表。 |
BizType | 否 | String | 该字段用于标识业务场景。您可以在内容安全控制台创建对应的ID,配置不同的内容审核策略,通过接口调用,默认不填为0,后端使用默认策略。 -- 该字段暂未开放。 示例值:test_1001 |
DataId | 否 | String | 数据ID,可以由英文字母、数字、下划线、-、@#组成,不超过64个字符 示例值:1213 |
FileContent | 否 | String | 数据Base64编码,图片检测接口为图片文件内容,大小不能超过5M 示例值:aHR0cDovL2lubmVycG9ybnNjcmVlbnNob3QtMTI1MjgxMzg1MC5jb3MuYXAtZ3Vh |
FileUrl | 否 | String | 图片资源访问链接,与FileContent参数必须二选一输入 。由于网络安全策略,送审带重定向的链接,可能引起下载失败,请尽量避免,比如Http返回302状态码的链接,可能导致接口返回ResourceUnavailable.ImageDownloadError 示例值:https://xxx.jpg |
Interval | 否 | Integer | 截帧频率,GIF图/长图检测专用,默认值为0,表示只会检测GIF图/长图的第一帧 示例值:1 |
MaxFrames | 否 | Integer | GIF图/长图检测专用,代表均匀最大截帧数量,默认值为1(即只取GIF第一张,或长图不做切分处理(可能会造成处理超时))。 示例值:1 |
User | 否 | User | 账号相关信息字段,填入后可识别违规风险账号。 |
Device | 否 | Device | 设备相关信息字段,填入后可识别违规风险设备。 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
HitFlag | Integer | 数据是否属于恶意类型。 0:正常,1:可疑; 示例值:1 |
Suggestion | String | 建议您拿到判断结果后的执行操作。 建议值,Block:建议屏蔽,Review:建议复审,Pass:建议通过 示例值:Block |
Label | String | 恶意标签,Normal:正常,Porn:色情,Abuse:谩骂,Ad:广告,Custom:自定义图片。 以及令人反感、不安全或不适宜的内容类型。 示例值:Porn |
SubLabel | String | 子标签名称,如色情--性行为;当未命中子标签时,返回空字符串; 示例值:SexyBehavior |
Score | Integer | 机器判断当前分类的置信度,取值范围:0.00~100.00。分数越高,表示越有可能属于当前分类。 (如:色情 99.99,则该样本属于色情的置信度非常高。) 示例值:90 |
LabelResults | Array of LabelResult | 智能模型的识别结果,包括涉黄、广告等令人反感、不安全或不适宜的内容类型识别结果。 注意:此字段可能返回 null,表示取不到有效值。 |
ObjectResults | Array of ObjectResult | 物体检测模型的审核结果,包括实体、广告台标/二维码等物体坐标信息与内容审核信息。 注意:此字段可能返回 null,表示取不到有效值。 |
OcrResults | Array of OcrResult | OCR识别后的文本识别结果,包括文本所处图片的OCR坐标信息以及图片文本的识别结果。 注意:此字段可能返回 null,表示取不到有效值。 |
LibResults | Array of LibResult | 基于图片风险库识别的结果。 风险库包括不安全黑库与正常白库的结果。 注意:此字段可能返回 null,表示取不到有效值。 |
DataId | String | 请求参数中的DataId。 示例值:a61237dd-c2a0-43e7-a3da-d27022d39ba7 |
BizType | String | 您在入参时所填入的Biztype参数。 -- 该字段暂未开放。 示例值:test_1001 |
Extra | String | 扩展字段,用于特定信息返回,不同客户/Biztype下返回信息不同。 注意:此字段可能返回 null,表示取不到有效值。 注意:此字段可能返回 null,表示取不到有效值。 |
RecognitionResults | Array of RecognitionResult | 该字段用于返回仅识别图片元素的模型结果;包括:场景模型命中的标签、置信度和位置信息 注意:此字段可能返回 null,表示取不到有效值。 |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 图片同步检测
图片同步检测
输入示例
POST / HTTP/1.1
Host: ims.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: ImageModeration
<公共请求参数>
{
"BizType": "test_1001",
"DataId": "1213",
"FileUrl": "https://xxx.jpg"
}
输出示例
{
"Response": {
"RequestId": "a61237dd-c2a0-43e7-a3da-d27022d39ba7",
"DataId": "a61237dd-c2a0-43e7-a3da-d27022d39ba7",
"BizType": "test_1001",
"Suggestion": "Block",
"Label": "Porn",
"SubLabel": "SexyBehavior",
"Score": 90,
"HitFlag": 1,
"LabelResults": [
{
"Scene": "Porn",
"Suggestion": "Block",
"Label": "Porn",
"SubLabel": "SexyBehavior",
"Score": 90,
"Details": [
{
"Id": 0,
"Name": "SexBehavior",
"Score": 90
}
]
}
],
"ObjectResults": [
{
"Scene": "QrCode",
"Suggestion": "Block",
"Label": "Ad",
"SubLabel": "",
"Score": 100,
"Names": [
"QRCODE"
],
"Details": [
{
"Id": 0,
"Name": "QRCODE",
"Value": "https://test.com/test",
"Score": 100,
"Location": {
"X": 155.01746,
"Y": 396.01746,
"Width": 769.9824,
"Height": 769.98254,
"Rotate": 0
},
"SubLabel": "abc",
"GroupId": "abc",
"ObjectId": "abc"
}
]
}
],
"OcrResults": [
{
"HitFlag": 0,
"Scene": "OCR",
"Suggestion": "Pass",
"Label": "Normal",
"SubLabel": "",
"Score": 0,
"Text": "hello world",
"Details": [
{
"Text": "hello world",
"Label": "",
"LibId": "",
"LibName": "",
"Keywords": [],
"Rate": 0,
"Score": 0,
"Location": {
"X": 8,
"Y": 0,
"Width": 111,
"Height": 19,
"Rotate": 0
}
}
]
}
],
"LibResults": [
{
"Scene": "Similar",
"Label": "Porn",
"SubLabel": "",
"Score": 99,
"Details": [
{
"LibName": "123",
"Score": 99,
"Label": "Porn",
"Tag": "",
"ImageId": "111",
"Id": 0,
"LibId": ""
}
],
"Suggestion": "Block"
}
],
"RecognitionResults": [
{
"Label": "Scene",
"Tags": [
{
"Name": "MedicalImage",
"Score": 30,
"Location": {
"X": 0,
"Y": 0,
"Width": 0,
"Height": 0,
"Rotate": 0
}
}
]
}
],
"Extra": ""
}
}
5. 开发者资源
腾讯云 API 平台
腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。
API Inspector
用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。
SDK
云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。
- Tencent Cloud SDK 3.0 for Python: GitHub Gitee
- Tencent Cloud SDK 3.0 for Java: GitHub Gitee
- Tencent Cloud SDK 3.0 for PHP: GitHub Gitee
- Tencent Cloud SDK 3.0 for Go: GitHub Gitee
- Tencent Cloud SDK 3.0 for Node.js: GitHub Gitee
- Tencent Cloud SDK 3.0 for .NET: GitHub Gitee
- Tencent Cloud SDK 3.0 for C++: GitHub Gitee
- Tencent Cloud SDK 3.0 for Ruby: GitHub Gitee
命令行工具
6. 错误码
以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码。
错误码 | 描述 |
---|---|
DryRunOperation | DryRun 操作,代表请求将会是成功的,只是多传了 DryRun 参数。 |
FailedOperation | 操作失败。 |
InternalError | 内部错误。 |
InternalError.InternalError | 内部错误。 |
InvalidParameter | 参数错误。 |
InvalidParameter.ImageAspectRatioTooLarge | 图片长宽比太大 |
InvalidParameter.ImageDataTooSmall | 图片体积太小 |
InvalidParameter.ImageSizeTooSmall | 图片分辨率过低。 |
InvalidParameter.InvalidImageContent | 图片内容错误。 |
InvalidParameter.InvalidParameter | 参数不合法。 |
InvalidParameterValue | 参数取值错误。 |
InvalidParameterValue.EmptyImageContent | 图片内容参数为空。 |
InvalidParameterValue.ImageSizeTooSmall | 图片分辨率太低。 |
InvalidParameterValue.InvalidContent | FileContent和FileUrl为空或base64编码错误。 |
InvalidParameterValue.InvalidDataId | DataId格式错误。 |
InvalidParameterValue.InvalidFileContentSize | 图片文件内容大小异常。 |
InvalidParameterValue.InvalidImageContent | 图片内容错误。 |
InvalidParameterValue.InvalidParameter | 参数值错误。 |
LimitExceeded | 超过配额限制。 |
MissingParameter | 缺少参数错误。 |
OperationDenied | 操作被拒绝。 |
RequestLimitExceeded | 请求的次数超过了频率限制。 |
ResourceInUse | 资源被占用。 |
ResourceInsufficient | 资源不足。 |
ResourceNotFound | 资源不存在。 |
ResourceUnavailable | 资源不可用。 |
ResourceUnavailable.ImageDownloadError | 图片文件下载失败。 |
ResourceUnavailable.InvalidImageContent | 图片资源错误。 |
ResourceUnavailable.ModelCallFailed | 模型调用失败,请重试。 |
ResourcesSoldOut | 资源售罄。 |
UnauthorizedOperation | 未授权操作。 |
UnauthorizedOperation.Unauthorized | 未开通权限/无有效套餐包/账号已欠费。 |
UnknownParameter | 未知参数错误。 |
UnsupportedOperation | 操作不支持。 |