1. 接口描述
接口请求域名: ams.tencentcloudapi.com 。
本接口(Audio Moderation)用于提交音频内容(包括音频文件或流地址)进行智能审核任务,使用前请您使用腾讯云主账号登录控制台开通音频内容安全服务并调整好对应的业务配置。
功能使用说明:
- 前往“内容安全控制台-音频内容安全”开启使用音频内容安全服务,首次开通可获得10小时免费调用时长,有效期为1个月。
- 默认接口请求频率限制:20次/秒,对于异步审核任务(点播音频),超出频率限制的请求会自动排入待审核队列,对于同步审核任务(直播音频),超出频率限制将会报错。
- 默认并发审核路数限制:点播默认10路,异步审核任务(点播音频)数量超过并发审核路数时,将会进入排队;直播默认100路,同步审核任务(直播音频)超过并发审核路数,接口会返回错误。
接口功能说明:
- 支持对音频流或音频文件进行检测,判断其中是否包含违规内容;
- 支持设置回调地址 Callback 获取检测结果(对于已在审核的任务,最长回调时间为用户配置的切片时长 + 2s),或通过接口(查询音频检测结果)主动轮询获取检测结果;
- 支持识别违规内容,包括:低俗、谩骂、色情、广告等场景;
- 支持批量提交检测任务,检测任务列表最多支持10个。
音频文件调用说明:
- 音频文件大小支持:文件 < 500M;
- 音频文件时长支持:< 1小时;
- 音频码率类型支持:128 Kbps - 256 Kbps ;
- 音频文件支持格式:wav、mp3、aac、flac、amr、3gp、 m4a、wma、ogg、ape;
- (当输入为视频文件时)支持分离视频文件音轨,并对音频内容进行独立审核。
音频流调用说明:
- 音频流时长支持:< 3小时;
- 音频码率类型支持:128 Kbps - 256 Kbps ;
- 音频流支持的传输协议:RTMP、HTTP、HTTPS;
- 音频流格式支持的类型:rtp、srtp、rtmp、rtmps、mmsh、 mmst、hls、http、tcp、https、m3u8;
- (当输入为视频流时)支持提取视频流音轨,并对音频内容进行独立审核。
直播断流处理说明:
- 请确认已对接取消任务。
- 如果直播任务取消/结束,则终止直播拉流并退出审核。
- 如果直播任务没有取消/结束,直播视频推流因故中断,产品将在将在10分钟内持续拉流重试。如果10分钟检测到音频切片数据,则恢复正常审核,反之,则终止拉流并退出审核。在拉流终止后,用户如有审核需求,需重新送审。
默认接口请求频率限制:20次/秒。
2. 输入参数
以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数。
参数名称 | 必选 | 类型 | 描述 |
---|---|---|---|
Action | 是 | String | 公共参数,本接口取值:CreateAudioModerationTask。 |
Version | 是 | String | 公共参数,本接口取值:2020-12-29。 |
Region | 否 | String | 公共参数,本接口不需要传递此参数。 |
Tasks.N | 是 | Array of TaskInput | 该字段表示输入的音频审核任务信息,具体输入内容请参见TaskInput数据结构的详细描述。 备注:最多同时可创建10个任务。 示例值:[] |
BizType | 否 | String | 该字段表示策略的具体编号,用于接口调度,在内容安全控制台中可配置。若不传入Biztype参数(留空),则代表采用默认的识别策略;传入则会在审核时根据业务场景采取不同的审核策略。 备注:Biztype仅为数字、字母与下划线的组合,长度为3-32个字符;不同Biztype关联不同的业务场景与识别能力策略,调用前请确认正确的Biztype。 示例值:default |
Type | 否 | String | 该字段表示输入的音频审核类型,取值为:AUDIO(点播音频)和 LIVE_AUDIO(直播音频),默认值为AUDIO。 示例值:AUDIO |
Seed | 否 | String | 验证签名参数,具体可以参考验签说明。 示例值:seed |
CallbackUrl | 否 | String | 接收审核信息回调地址。如果设置了该字段,在审核过程中发现违规音频片段结果将发送至该接口。更多详情请参阅回调配置说明。 示例值:https://example.com/url |
User | 否 | User | 该字段表示待检测对象对应的用户相关信息,若填入则可甄别相应违规风险用户 |
3. 输出参数
参数名称 | 类型 | 描述 |
---|---|---|
Results | Array of TaskResult | 该字段用于返回任务创建的结果,具体输出内容请参见TaskResult数据结构的详细描述。 注意:此字段可能返回 null,表示取不到有效值。 示例值:[] |
RequestId | String | 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。 |
4. 示例
示例1 回调签名示例
当用户在创建审核任务时配置了Seed,我们则会在回调当时候加入签名参数,以保证数据的安全性。
签名方法:返回的HTTP头部,添加 X-Signature
的字段,值为: seed
+ body
的 sha256 编码和Hex字符串。
例如:
假设用户 CallbackUrl 是:http://example.com, Seed 是: dedb6dcc1cb7c63fde8fa5abfd57
,我们返回的回调的数据是:
{"TaskId": "task-video-X0zpcRUMzVidxj20","DataId":"test","Suggestion": "Block"}
则,审核完成后,我们会在调用 http://example.com 的时候,在HTTP 头部 传入
X-Signature
的值为:74f0ae6d1f1e4eb1ffe4162da480a812f8a4dc19fe5a52bacbcd2c862d3edcfd
备注: 回调Body格式请参考查询任务详情接口,回调Body格式和查询任务详情接口一致。
输入示例
POST / HTTP/1.1
Host: ams.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateAudioModerationTask
<公共请求参数>
{
"Type": "AUDIO",
"CallbackUrl": "https://apis.example.com/callback/audio",
"Seed": "dedb6dcc1cb7c63fde8fa5abfd57",
"Tasks": [
{
"DataId": "test",
"Input": {
"Url": "https://test.myqcloud.com/test.mp3"
}
}
]
}
输出示例
{
"Response": {
"Results": [
{
"DataId": "test",
"TaskId": "c933aca1-90d2-4ab8-b045-f1b08069d76f",
"Code": "OK",
"Message": "Success"
}
],
"RequestId": "c933aca1-90d2-4ab8-b045-f1b08069d76f"
}
}
示例2 创建音频审核任务
创建音频审核任务
输入示例
POST / HTTP/1.1
Host: ams.tencentcloudapi.com
Content-Type: application/json
X-TC-Action: CreateAudioModerationTask
<公共请求参数>
{
"Type": "AUDIO",
"Tasks": [
{
"DataId": "0a782332-c9db-4cf5-a66e-20d60b4ea469",
"Input": {
"Url": "https://test.myqcloud.com/test.mp3"
}
}
]
}
输出示例
{
"Response": {
"Results": [
{
"DataId": "0a782332-c9db-4cf5-a66e-20d60b4ea469",
"TaskId": "c933aca1-90d2-4ab8-b045-f1b08069d76f",
"Code": "OK",
"Message": "Success"
}
],
"RequestId": "c933aca1-90d2-4ab8-b045-f1b08069d76f"
}
}
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 | 内部错误。 |
InvalidParameter | 参数错误。 |
InvalidParameterValue | 参数取值错误。 |
LimitExceeded | 超过配额限制。 |
MissingParameter | 缺少参数错误。 |
OperationDenied | 操作被拒绝。 |
RequestLimitExceeded | 请求的次数超过了频率限制。 |
ResourceInUse | 资源被占用。 |
ResourceInsufficient | 资源不足。 |
ResourceNotFound | 资源不存在。 |
ResourceUnavailable | 资源不可用。 |
ResourcesSoldOut | 资源售罄。 |
UnauthorizedOperation | 未授权操作。 |
UnauthorizedOperation.Unauthorized | 未开通权限/无有效套餐包/账号已欠费。 |
UnknownParameter | 未知参数错误。 |
UnsupportedOperation | 操作不支持。 |