功能描述
本接口用于进行文本内容的直接审核,请求方式为同步请求。该接口的支持情况如下:
直接审核纯文本信息,需要先经过 Base64编码(仅支持 UTF-8编码)。
支持识别多种违规场景,包括:色情、违法、广告等场景。
支持根据不同的业务场景 配置自定义的审核策略。
授权说明
服务开通
注意:
数据万象绑定后,如果您手动对存储桶进行数据万象的解绑操作,将无法继续使用该功能。
使用限制
费用说明
每个审核场景单独计费,例如您选择审核色情、广告两种场景,则审核1个文本,计2次审核费用。
如果文本属于 COS 上的低频存储类型,调用审核会产生 COS 低频数据取回费用。
推荐使用 SDK
请求
请求示例
POST /text/auditing HTTP/1.1Host: <BucketName-APPID>.ci.<Region>.myqcloud.comDate: <GMT Date>Authorization: <Auth String>Content-Length: <length>Content-Type: application/xml<body>
说明:
请求头
请求体
该请求操作的实现需要有如下请求体:
<Request><Input><Content></Content><DataId></DataId></Input><Conf><Callback></Callback><CallbackVersion></CallbackVersion><CallbackType></CallbackType><BizType></BizType></Conf></Request>
具体的数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Request | 无 | 文本审核的具体配置项。 | Container | 是 |
Container 类型 Request 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Input | Request | 需要审核的内容。 | Container | 是 |
Conf | Request | 审核规则配置。 | Container | 否 |
Container 类型 Input 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
Content | Request.Input | 当传入的内容为纯文本信息,需要先经过 Base64编码,文本编码前的原文长度不能超过10000个 UTF-8编码字符。若超出长度限制,接口将会报错。 | String | 是 |
DataId | Request.Input | 该字段在审核结果中会返回原始内容,长度限制为512字节。您可以使用该字段对待审核的数据进行唯一业务标识。 | String | 否 |
UserInfo | Request.Input | 用户业务字段。 | Container | 否 |
Container 节点
UserInfo
的内容:节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
TokenId | Request.Input.UserInfo | 一般用于表示账号信息,长度不超过128字节。 | String | 否 |
Nickname | Request.Input.UserInfo | 一般用于表示昵称信息,长度不超过128字节。 | String | 否 |
DeviceId | Request.Input.UserInfo | 一般用于表示设备信息,长度不超过128字节。 | String | 否 |
AppId | Request.Input.UserInfo | 一般用于表示 App 的唯一标识,长度不超过128字节。 | String | 否 |
Room | Request.Input.UserInfo | 一般用于表示房间号信息,长度不超过128字节。 | String | 否 |
IP | Request.Input.UserInfo | 一般用于表示 IP 地址信息,长度不超过128字节。 | String | 否 |
Type | Request.Input.UserInfo | 一般用于表示业务类型,长度不超过128字节。 | String | 否 |
ReceiveTokenId | Request.Input.UserInfo | 一般用于表示接收消息的用户账号,长度不超过128字节。 | String | 否 |
Gender | Request.Input.UserInfo | 一般用于表示性别信息,长度不超过128字节。 | String | 否 |
Level | Request.Input.UserInfo | 一般用于表示等级信息,长度不超过128字节。 | String | 否 |
Role | Request.Input.UserInfo | 一般用于表示角色信息,长度不超过128字节。 | String | 否 |
Container 类型 Conf 的具体数据描述如下:
节点名称(关键字) | 父节点 | 描述 | 类型 | 是否必选 |
BizType | Request.Conf | 表示审核策略的唯一标识,您可以通过控制台上的审核策略页面,配置您希望审核的场景,如色情、广告、违法等,配置指引: 设置公共审核策略。您可以在控制台上获取到 BizType。BizType 填写时,此条审核请求将按照该审核策略中配置的场景进行审核。BizType 不填写时,将自动使用默认的审核策略。 | String | 否 |
Callback | Request.Conf | 审核结果可以回调形式发送至您的回调地址,支持以 http:// 或者 https:// 开头的地址,例如:http://www.callback.com 。当 Input 使用 Content 时,该参数不生效,结果会直接返回。 | String | 否 |
CallbackVersion | Request.Conf | 回调内容的结构,有效值:Simple(回调内容包含基本信息)、Detail(回调内容包含详细信息)。默认为 Simple。 | String | 否 |
CallbackType | Request.Conf | 回调片段类型,有效值:1(回调全部文本片段)、2(回调违规文本片段)。默认为 1。 | Integer | 否 |
响应
响应头
响应体
该响应体返回为 application/xml 数据,包含完整节点数据的内容展示如下:
<Response><JobsDetail><DataId></DataId><JobId></JobId><State></State><CreationTime></CreationTime><Code>Success</Code><Message>Success</Message><SectionCount></SectionCount><Result>1</Result><ContextText></ContextText><PornInfo><HitFlag></HitFlag><Count></Count></PornInfo><AbuseInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></AbuseInfo><AdsInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></AdsInfo><Section><StartByte></StartByte><PornInfo><HitFlag></HitFlag><Score></Score><Keywords></Keywords></PornInfo></Section></JobsDetail><RequestId></RequestId></Response>
具体的数据内容如下:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Response | 无 | 文本审核返回的具体响应内容。 | Container |
Container 节点 Response 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
JobsDetail | Response | 文本审核的详细信息。 | Container |
RequestId | Response | 每次请求发送时,服务端将会自动为请求生成一个 ID,遇到问题时,该 ID 能更快地协助定位问题。 | String |
Container 节点 JobsDetail 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Code | Response.JobsDetail | String | |
DataId | Response.JobsDetail | 请求中添加的唯一业务标识。 | String |
Message | Response.JobsDetail | 错误描述,只有 State 为 Failed 时返回。 | String |
JobId | Response.JobsDetail | 本次文本审核的任务ID。 | String |
CreationTime | Response.JobsDetail | 文本审核的创建时间。 | String |
State | Response.JobsDetail | 文本审核的状态,值为 Success(审核成功)或者 Failed(审核失败)。 | String |
Content | Response.JobsDetail | 本次提交审核的文本内容,以 Base64编码形式返回。 | String |
ContextText | Response.JobsDetail | 当启用了文本上下文关联审核能力时,会返回该字段,同时返回当前审核的文本内容及关联的文本内容,以原文形式返回。 注意:使用上下文关联能力,在发起文本审核时需要结合UserInfo字段来使用,表示关联的上下文仅属于某个用户ID,不同用户ID上传的文本内容不会互相关联。 | String |
Label | Response.JobsDetail | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。 返回值:Normal:正常,Porn:色情,Ads:广告,以及其他不安全或不适宜的类型。 | String |
Result | Response.JobsDetail | 该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。 | Integer |
SectionCount | Response.JobsDetail | 审核的文本内容分片数,固定为1。 | Integer |
PornInfo | Response.JobsDetail | 审核场景为色情的审核结果信息。 | Container |
AdsInfo | Response.JobsDetail | 审核场景为广告的审核结果信息。 | Container |
IllegalInfo | Response.JobsDetail | 审核场景为违法的审核结果信息。 | Container |
AbuseInfo | Response.JobsDetail | 审核场景为谩骂的审核结果信息。 | Container |
PoliticsInfo | Response.JobsDetail | 审核场景为政治的审核结果信息。 | Container |
TerrorismInfo | Response.JobsDetail | 审核场景为暴恐的审核结果信息。 | Container |
Section | Response.JobsDetail | 文本审核的具体结果信息。 | Container Array |
UserInfo | Response.JobsDetail | Container | |
ListInfo | Response.JobsDetail | 账号黑白名单结果。 | Container |
ForbidState | Response.JobsDetail | 该字段表示文本文件的冻结状态。同步审核接口固定为 0:未冻结。 | Integer |
Score | Response.JobsDetail | 该字段表示下述审核结果命中审核信息的置信度的最高值。 | Integer |
Container 节点 PornInfo,AdsInfo,IllegalInfo,AbuseInfo 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
HitFlag | Response.JobsDetail.*Info | 用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。 | Integer |
Count | Response.JobsDetail.*Info | 命中该审核分类的分片数。 | Integer |
Container 节点 Section 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
StartByte | Response.JobsDetail.Section | 该分片位于文本中的起始位置信息(即10代表第11个 UTF-8文字)。从0开始。 | Integer |
Label | Response.JobsDetail.Section | 该字段用于返回检测结果中所对应的优先级最高的恶意标签,表示模型推荐的审核结果,建议您按照业务所需,对不同违规类型与建议值进行处理。 返回值:Normal:正常,Porn:色情,Ads:广告,以及其他不安全或不适宜的类型。 | String |
Result | Response.JobsDetail.Section | 该字段表示本次判定的审核结果,您可以根据该结果,进行后续的操作;建议您按照业务所需,对不同的审核结果进行相应处理。有效值:0(审核正常),1 (判定为违规敏感文件),2(疑似敏感,建议人工复核)。 | Integer |
PornInfo | Response.JobsDetail.Section | 审核场景为色情的审核结果信息。 | Container |
AdsInfo | Response.JobsDetail.Section | 审核场景为广告的审核结果信息。 | Container |
IllegalInfo | Response.JobsDetail.Section | 审核场景为违法的审核结果信息。 | Container |
AbuseInfo | Response.JobsDetail.Section | 审核场景为谩骂的审核结果信息。 | Container |
PoliticsInfo | Response.JobsDetail.Section | 审核场景为政治的审核结果信息。 | Container |
TerrorismInfo | Response.JobsDetail.Section | 审核场景为暴恐的审核结果信息。 | Container |
Container 节点 PornInfo,AdsInfo,IllegalInfo 等的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
HitFlag | Response.JobsDetail.Section.*Info | 用于返回该审核场景的审核结果,返回值:0:正常。1:确认为当前场景的违规内容。2:疑似为当前场景的违规内容。 | Integer |
HitInfos | Response.JobsDetail.Section.*Info | 用于返回命中的敏感内容具体信息,包括关键词内容、关键词在原文中的位置、违规类型,如果命中了风险库,还会返回命中的风险库名称。 | Container Array |
Score | Response.JobsDetail.Section.*Info | 该分片中审核的结果分数,分数越高表示越敏感。 | Integer |
Keywords | Response.JobsDetail.Section.*Info | 在当前审核场景下命中的关键词,多关键词以 , 分隔。 | String |
LibResults | Response.JobsDetail.Section.*Info | 该字段用于返回基于风险库识别的结果。注意:未命中风险库中样本时,此字段不返回。 | Container Array |
SubLabel | Response.JobsDetail.Section.*Info | 该字段表示审核命中的具体子标签,例如:Porn 下的 SexBehavior 子标签。注意:该字段可能返回空,表示未命中具体的子标签 | String |
Container 节点 HitInfos 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Keywords | Response.JobsDetail.Section.*Info.HitInfos | 在当前审核场景下命中的关键词。 | String |
LibName | Response.JobsDetail.Section.*Info.HitInfos | 命中的风险库名称。 | String |
Positions | Response.JobsDetail.Section.*Info.HitInfos | 关键词在原文中的位置,当 Type 为 Model 时不返回该字段。 | Container Array |
Type | Response.JobsDetail.Section.*Info.HitInfos | 违规类型,返回 Keyword 时表示命中了敏感关键词,返回 Model 时表示未命中敏感关键词但模型分析该段文本存在语义上的违规。 | String |
Container 节点 Positions 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
Start | Response.JobsDetail.Section.*Info.HitInfos.Positions | 敏感关键词在原文中的起始位置,例如20表示第20个字符。 | String |
End | Response.JobsDetail.Section.*Info.HitInfos.Positions | 敏感关键词在原文中的结束位置,例如30表示第30个字符。 | String |
Container 节点 LibResults 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
LibType | Response.JobsDetail.Section.*Info.LibResults | 命中的风险库类型,取值为1(预设黑白库)和2(自定义风险库)。 | Integer |
LibName | Response.JobsDetail.Section.*Info.LibResults | 命中的风险库名称。 | String |
Keywords | Response.JobsDetail.Section.*Info.LibResults | 命中的库中关键词。该参数可能会有多个返回值,代表命中的多个关键词。 | String Array |
Container 节点 ListInfo 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
ListResults | Response.JobsDetail.ListInfo | 命中的所有名单结果。 | Container Array |
Container 节点 ListResults 的内容:
节点名称(关键字) | 父节点 | 描述 | 类型 |
ListType | Response.JobsDetail.ListInfo.ListResults | 命中的名单类型,取值为0(白名单)和1(黑名单)。 | Integer |
ListName | Response.JobsDetail.ListInfo.ListResults | 命中的名单名称。 | String |
Entity | Response.JobsDetail.ListInfo.ListResults | 命中了名单中的哪条内容。 | String |
错误码
实际案例
请求
POST /text/auditing HTTP/1.1Authorization: q-sign-algorithm=sha1&q-ak=************************************&q-sign-time=1497530202;1497610202&q-key-time=1497530202;1497610202&q-header-list=&q-url-param-list=&q-signature=****************************************Host: examplebucket-1250000000.ci.ap-beijing.myqcloud.comContent-Length: 166Content-Type: application/xml<Request><Input><Content>54uZ5Ye75omL</Content></Input><Conf><BizType>b81d45f94b91a683255e9a9506f45a11</BizType></Conf></Request>
响应
HTTP/1.1 200 OKContent-Type: application/xmlContent-Length: 230Connection: keep-aliveDate: Thu, 15 Jun 2017 12:37:29 GMTServer: tencent-cix-ci-request-id: NTk0MjdmODlfMjQ4OGY3XzYzYzhf****<Response><JobsDetail><AbuseInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></AbuseInfo><AdsInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></AdsInfo><Content>54uZ5Ye75omL</Content><CreationTime>2025-08-25T16: 19: 59+08: 00</CreationTime><ForbidState>0</ForbidState><IllegalInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></IllegalInfo><JobId>st4ac0c781818c11f0*********</JobId><Label>Normal</Label><PoliticsInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></PoliticsInfo><PornInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></PornInfo><Result>0</Result><Score>0</Score><Section><AbuseInfo><HitFlag>0</HitFlag><Keywords/><Score>0</Score><SubLabel/></AbuseInfo><AdsInfo><HitFlag>0</HitFlag><Keywords/><Score>0</Score><SubLabel/></AdsInfo><IllegalInfo><HitFlag>0</HitFlag><Keywords/><Score>0</Score><SubLabel/></IllegalInfo><Label>Normal</Label><PoliticsInfo><HitFlag>0</HitFlag><Keywords/><Score>0</Score><SubLabel/></PoliticsInfo><PornInfo><HitFlag>0</HitFlag><Keywords/><Score>0</Score><SubLabel/></PornInfo><Result>0</Result><StartByte>0</StartByte><TerrorismInfo><HitFlag>0</HitFlag><Keywords/><Score>0</Score><SubLabel/></TerrorismInfo></Section><SectionCount>1</SectionCount><State>Success</State><TerrorismInfo><Count>0</Count><HitFlag>0</HitFlag><Score>0</Score></TerrorismInfo></JobsDetail><RequestId>NTk0MjdmODlfMjQ4OGY3XzYzYzhf****</RequestId></Response>