图文同检接口
更新时间:
接口概述
图文同检测接口适用于文本、图片合并过检的场景(如动态、朋友圈等)。当文本和所有图片均无违规,接口返回通过;否则接口返回不通过,同时返回文本与图片详细审核结果。
注意:使用图文同检接口前,需要先联系我们开通图文同检服务。
接口地址
名称
值
HTTP URL
https://media-safe.ilivedata.com/service/check
HTTP Method
POST
请求方式
使用POST方法,将参数以JSON形式放置HTTP BODY中
- CURL示例:
curl -d '{"companyID":"123", "imageAppID":"81000002", "textAppID":"80700001", "signature":"xxxxxxx", "text":"test content", "timestamp":1676014842}' https://media-safe.ilivedata.com/service/check
请求参数
名称
类型
必须
描述
companyID
string
是
子公司ID,获取方式参考下文“签名计算”
timestamp
int32
是
当前秒级时间戳,计算签名时用到
signature
string
是
请求签名,参考下文“签名计算”
textAppID
string
否
审核文本所使用的项目ID(必须为传入的子公司所创建)
textStrategyID
string
否
审核文本所使用的策略ID,缺省为DEFAULT策略
imageAppID
string
否
审核图片所使用的项目ID(必须为传入的子公司所创建)
imageStrategyID
string
否
审核图片所使用的策略ID,缺省为DEFAULT策略
userID
string
否
用户ID
text
string
否
审核的文本(可选,但text、imageList、audioUrl、audioBase64不能都为空)
imageList
list
否
图片url列表,最多支持10张图片(可选,但text、imageList、audioUrl、audioBase64不能都为空)
imageExtraList
list<Map<String, String> >
否
支持携带额外信息的图片列表,示例见下文。
audioAppID
string
否
审核音频所使用的项目ID(必须为传入的子公司所创建)
audioUrl
string
否
音频的url地址(audioUrl与audioBase64选择传入一个即可)
audioBase64
string
否
音频的base64内容(audioUrl与audioBase64选择传入一个即可)
audioLang
string
否
音频语种
imageExtraList参数格式
imageExtraList参数用于实现不同图片携带不同额外信息(当传入imageExtraList参数后,将忽略imageList参数)
注意:其中url必须,userID和extra可选,需要注意的是extra为转义后的json字符串,key和value可自定义
[
{
"url":"https://demo.com/image1.png",
"userID":"8888888",
"extra": "{\"aaa\":\"bbb\"}"
},
{
"url":"https://demo.com/image2.png",
"userID":"999999",
"extra": "{\"ccc\":\"ddd\"}"
}
]
签名计算方法
获取子公司ID与秘钥
在“LiveData控制台-企业信息”中查询子公司ID与秘钥
https://www.ilivedata.com/user/corporation/index
计算签名
signature = toUpperCase(MD5(companyID + ":" + time + ":" + secretKey));
其中companyID为控制台获取的子公司ID,time为当前秒级时间戳(请校准本地时间,与标准时间相差超过1分钟的请求将被拒绝),secretKey为控制台获取的子公司秘钥。
请求响应
{
"errorCode":0,
"errorMessage":"",
"result":2,
"textContent":"测试****",
"textSpamTagCode":{
"160":[
"160001"
]
},
"textSpamTagName":{
"辱骂":[
"谩骂人身攻击"
]
},
"textSpamTagNameEn":{
"insults":[
"insults and personal attacks"
]
},
"textWordList":[
"fuck"
],
"textTaskID":"8cd280de-9bf0-4f91-890b-fd37fbfa0301",
"textResult":2,
"imageTaskID":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412" :
"https:\/\/test.com/1.jpg",
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203" :
"https:\/\/test.com/2.jpg"
},
"imageResult":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":0,
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":2
},
"imageSpamTagCode":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":{
},
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":{
"140":[
"140002",
"140003",
"140006",
"140007"
]
}
},
"imageSpamTagName":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":{
},
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":{
"性感":[
"内衣裤",
"女性胸部-露沟",
"腿部特写",
"轻度性感-露锁骨"
]
}
},
"imageSpamTagNameEn":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":{
},
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":{
"sexy":[
"cleavage",
"legs",
"off shoulder",
"underwear"
]
}
}
}
响应参数
名称
类型
描述
errorCode
int
错误代码,0代表请求正常,可参考文本/图片审核错误代码文档
errorMessage
string
错误描述
result
int
总体审核结果,0:通过,1:疑似,2:拒绝
textContent
string
敏感词过滤后(变星)的文本,由广告模型检出的返回原文
textSpamTagCode
dict
文本命中类别与子类别code
textSpamTagName
dict
文本命中类别与子类别名称(中文)
textSpamTagNameEn
dict
文本命中类别与子类别名称(英文)
textWordList
list
文本命中敏感词列表
textTaskID
string
文本审核任务ID
textResult
int
文本审核结果,0:通过,1:疑似,2:拒绝
imageTaskID
dict
图片审核任务ID与图片URL对应
imageResult
dict
图片审核结果与TaskID对应
imageSpamTagCode
dict
图片审核各任务命中类别与子类别code
imageSpamTagName
dict
图片审核各任务命中类别与子类别名称(中文)
imageSpamTagNameEn
dict
图片审核各任务命中类别与子类别名称(英文)
audioCode
int
0: 音频检测成功,1: 音频检测失败
audioTaskID
string
音频任务taskId
audioResult
int
0: 音频通过,1:音频建议审核,2:音频不通过
audioLanguage
string
音频语种
audioSpams
string
音频命中信息JSON字符串
- audioSpams JSON结构请参考: https://docs.ilivedata.com/audiocheck/vod/submitsy/
示例代码
接口概述
图文同检测接口适用于文本、图片合并过检的场景(如动态、朋友圈等)。当文本和所有图片均无违规,接口返回通过;否则接口返回不通过,同时返回文本与图片详细审核结果。
注意:使用图文同检接口前,需要先联系我们开通图文同检服务。
接口地址
名称 | 值 |
---|---|
HTTP URL | https://media-safe.ilivedata.com/service/check |
HTTP Method | POST |
请求方式
使用POST方法,将参数以JSON形式放置HTTP BODY中
- CURL示例:
curl -d '{"companyID":"123", "imageAppID":"81000002", "textAppID":"80700001", "signature":"xxxxxxx", "text":"test content", "timestamp":1676014842}' https://media-safe.ilivedata.com/service/check
请求参数
名称 | 类型 | 必须 | 描述 |
---|---|---|---|
companyID | string | 是 | 子公司ID,获取方式参考下文“签名计算” |
timestamp | int32 | 是 | 当前秒级时间戳,计算签名时用到 |
signature | string | 是 | 请求签名,参考下文“签名计算” |
textAppID | string | 否 | 审核文本所使用的项目ID(必须为传入的子公司所创建) |
textStrategyID | string | 否 | 审核文本所使用的策略ID,缺省为DEFAULT策略 |
imageAppID | string | 否 | 审核图片所使用的项目ID(必须为传入的子公司所创建) |
imageStrategyID | string | 否 | 审核图片所使用的策略ID,缺省为DEFAULT策略 |
userID | string | 否 | 用户ID |
text | string | 否 | 审核的文本(可选,但text、imageList、audioUrl、audioBase64不能都为空) |
imageList | list | 否 | 图片url列表,最多支持10张图片(可选,但text、imageList、audioUrl、audioBase64不能都为空) |
imageExtraList | list<Map<String, String> > | 否 | 支持携带额外信息的图片列表,示例见下文。 |
audioAppID | string | 否 | 审核音频所使用的项目ID(必须为传入的子公司所创建) |
audioUrl | string | 否 | 音频的url地址(audioUrl与audioBase64选择传入一个即可) |
audioBase64 | string | 否 | 音频的base64内容(audioUrl与audioBase64选择传入一个即可) |
audioLang | string | 否 | 音频语种 |
imageExtraList参数格式
imageExtraList参数用于实现不同图片携带不同额外信息(当传入imageExtraList参数后,将忽略imageList参数) 注意:其中url必须,userID和extra可选,需要注意的是extra为转义后的json字符串,key和value可自定义
[
{
"url":"https://demo.com/image1.png",
"userID":"8888888",
"extra": "{\"aaa\":\"bbb\"}"
},
{
"url":"https://demo.com/image2.png",
"userID":"999999",
"extra": "{\"ccc\":\"ddd\"}"
}
]
签名计算方法
获取子公司ID与秘钥
在“LiveData控制台-企业信息”中查询子公司ID与秘钥
https://www.ilivedata.com/user/corporation/index
计算签名
signature = toUpperCase(MD5(companyID + ":" + time + ":" + secretKey));
其中companyID为控制台获取的子公司ID,time为当前秒级时间戳(请校准本地时间,与标准时间相差超过1分钟的请求将被拒绝),secretKey为控制台获取的子公司秘钥。
请求响应
{
"errorCode":0,
"errorMessage":"",
"result":2,
"textContent":"测试****",
"textSpamTagCode":{
"160":[
"160001"
]
},
"textSpamTagName":{
"辱骂":[
"谩骂人身攻击"
]
},
"textSpamTagNameEn":{
"insults":[
"insults and personal attacks"
]
},
"textWordList":[
"fuck"
],
"textTaskID":"8cd280de-9bf0-4f91-890b-fd37fbfa0301",
"textResult":2,
"imageTaskID":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412" :
"https:\/\/test.com/1.jpg",
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203" :
"https:\/\/test.com/2.jpg"
},
"imageResult":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":0,
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":2
},
"imageSpamTagCode":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":{
},
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":{
"140":[
"140002",
"140003",
"140006",
"140007"
]
}
},
"imageSpamTagName":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":{
},
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":{
"性感":[
"内衣裤",
"女性胸部-露沟",
"腿部特写",
"轻度性感-露锁骨"
]
}
},
"imageSpamTagNameEn":{
"ap_d020399e99074ecca1e787ae5299a08c_1676013327412":{
},
"ap_d3658d2858bc48b29ea7bc0ed63a8592_1676013327203":{
"sexy":[
"cleavage",
"legs",
"off shoulder",
"underwear"
]
}
}
}
响应参数
名称 | 类型 | 描述 | |
---|---|---|---|
errorCode | int | 错误代码,0代表请求正常,可参考文本/图片审核错误代码文档 | |
errorMessage | string | 错误描述 | |
result | int | 总体审核结果,0:通过,1:疑似,2:拒绝 | |
textContent | string | 敏感词过滤后(变星)的文本,由广告模型检出的返回原文 | |
textSpamTagCode | dict | 文本命中类别与子类别code | |
textSpamTagName | dict | 文本命中类别与子类别名称(中文) | |
textSpamTagNameEn | dict | 文本命中类别与子类别名称(英文) | |
textWordList | list | 文本命中敏感词列表 | |
textTaskID | string | 文本审核任务ID | |
textResult | int | 文本审核结果,0:通过,1:疑似,2:拒绝 | |
imageTaskID | dict | 图片审核任务ID与图片URL对应 | |
imageResult | dict | 图片审核结果与TaskID对应 | |
imageSpamTagCode | dict | 图片审核各任务命中类别与子类别code | |
imageSpamTagName | dict | 图片审核各任务命中类别与子类别名称(中文) | |
imageSpamTagNameEn | dict | 图片审核各任务命中类别与子类别名称(英文) | |
audioCode | int | 0: 音频检测成功,1: 音频检测失败 | |
audioTaskID | string | 音频任务taskId | |
audioResult | int | 0: 音频通过,1:音频建议审核,2:音频不通过 | |
audioLanguage | string | 音频语种 | |
audioSpams | string | 音频命中信息JSON字符串 |
- audioSpams JSON结构请参考: https://docs.ilivedata.com/audiocheck/vod/submitsy/