提交语音检测任务

最近更新时间:2019-09-12 11:44:21

1. 接口描述

接口请求域名: gme.tencentcloudapi.com 。

本接口(ScanVoice)用于提交语音检测任务,检测任务列表最多支持100个。

接口功能说明:

  • 支持对语音流或语音文件进行检测,判断其中是否包含违规内容。
  • 支持设置回调地址 Callback 获取检测结果,同时支持通过接口(查询语音检测结果)主动轮询获取检测结果。
  • 支持场景输入,包括:谩骂、色情、涉政等场景
  • 支持批量提交检测任务。检测任务列表最多支持100个。

  • 音频文件限制说明:

  • 音频文件大小限制:100 M
  • 音频文件时长限制:30分钟
  • 音频文件格式支持的类型:.wav、.m4a、.amr、.mp3、.aac、.wma、.ogg

  • 语音流限制说明:

  • 语音流格式支持的类型:.m3u8、.flv
  • 语音流支持的传输协议:RTMP、HTTP、HTTPS
  • 语音流时长限制:4小时
  • 支持音视频流分离并对音频流进行分析

  • Scenes 与 Label 参数说明:

    提交语音检测任务时,需要指定 Scenes 场景参数,目前要求您设置 Scenes 参数值为:["default"];而在检测结果中,则包含请求时指定的场景,以及对应类型的检测结果。

    场景 描述 Label
    语音检测 语音检测的检测类型

    normal:正常文本

    porn:色情

    politics:涉政

    abuse:谩骂

    ad :广告

    terrorism:暴恐

    contraband :违禁

    customized:自定义词库


    回调相关说明:

  • 如果在请求参数中指定了回调地址参数 Callback,即一个 HTTP(S) 协议接口的 URL,则需要支持 POST 方法,传输数据编码采用 UTF-8。
  • 在推送回调数据后,接收到的 HTTP 状态码为 200 时,表示推送成功。
  • HTTP 头参数说明:
  • 名称 类型 是否必需 描述
    Signatue string 签名,具体见签名生成说明
    • 签名生成说明:
      • 使用 HMAC-SH1 算法, 最终结果做 BASE64 编码;
      • 签名原文串为 POST+body 的整个json内容(长度以 Content-Length 为准);
      • 签名key为应用的 secrectkey,可以通过控制台查看。
  • 回调示例如下(详细字段说明见上述表格中 Data 字段说明)
  • {
        "Code": 0,
        "DataId": "1400000000_test_data_id",
        "ScanFinishTime": 1566720906,
        "HitFlag": true,
        "Live": false,
        "Msg": "",
        "ScanPiece": [{
            "DumpUrl": "",
            "HitFlag": true,
            "MainType": "abuse",
            "RoomId": "123",
            "OpenId": "xxx",
            "ScanDetail": [{
                "EndTime": 1110,
                "KeyWord": "xxx",
                "Label": "abuse",
                "Rate": "90.00",
                "StartTime": 1110
            }, {
                "EndTime": 1380,
                "KeyWord": "xxx",
                "Label": "abuse",
                "Rate": "90.00",
                "StartTime": 930
            }, {
                "EndTime": 1560,
                "KeyWord": "xxx",
                "Label": "abuse",
                "Rate": "90.00",
                "StartTime": 930
            }, {
                "EndTime": 2820,
                "KeyWord": "xxx",
                "Label": "abuse",
                "Rate": "90.00",
                "StartTime": 2490
            }]
        }],
        "ScanStartTime": 1566720905,
        "Scenes": [
            "default"
        ],
        "Status": "Success",
        "TaskId": "xxx",
        "Url": "https://xxx/xxx.m4a"
    }
    

    默认接口请求频率限制:1000次/秒。

    2. 输入参数

    以下请求参数列表仅列出了接口请求参数和部分公共参数,完整公共参数列表见 公共请求参数

    参数名称 必选 类型 描述
    Action String 公共参数,本接口取值:ScanVoice
    Version String 公共参数,本接口取值:2018-07-11
    Region String 公共参数,本接口不需要传递此参数。
    BizId Integer 应用ID,登录控制台创建应用得到的AppID。
    Scenes.N Array of String 语音检测场景,参数值目前要求为 default。 预留场景设置: 谩骂、色情、涉政、广告、暴恐、违禁等场景,具体取值见上述 Label 说明。
    Live Boolean 是否为直播流。值为 false 时表示普通语音文件检测;为 true 时表示语音流检测。
    Tasks.N Array of Task 语音检测任务列表,列表最多支持100个检测任务。结构体中包含:
  • DataId:数据的唯一ID
  • Url:数据文件的url,为 urlencode 编码,流式则为拉流地址
  • Callback String 异步检测结果回调地址,具体见上述回调相关说明。(说明:该字段为空时,必须通过接口(查询语音检测结果)获取检测结果)。

    3. 输出参数

    参数名称 类型 描述
    Data Array of ScanVoiceResult 语音检测返回。Data 字段是 JSON 数组,每一个元素包含:
  • DataId: 请求中对应的 DataId。
  • TaskID :该检测任务的 ID,用于轮询语音检测结果。
  • RequestId String 唯一请求 ID,每次请求都会返回。定位问题时需要提供该次请求的 RequestId。

    4. 示例

    示例1 提交语音文件检测任务

    通过语音文件的方式提交检测任务,回调地址为空,需要通过接口(查询语音检测结果)主动轮询获取检测结果

    输入示例

    https://gme.tencentcloudapi.com/?Action=ScanVoice
    &BizId=1400000000
    &Scenes.0=default
    &Live=false
    &Callback=
    &Tasks.0.DataId=1400000000_test_data_id
    &Tasks.0.Url=http://xxx/audio_store/xxxx.mp3
    &<公共请求参数>

    输出示例

    {
      "Response": {
        "Data": [
          {
            "DataId": "1400000000_test_data_id",
            "TaskId": "xxx-xxx-xxx"
          }
        ],
        "RequestId": "xxx-xxx-xxx"
      }
    }

    示例2 提交语音流检测任务

    通过语音流的方式提交检测任务,回调地址为空,需要通过接口(查询语音检测结果)主动轮询获取检测结果

    输入示例

    https://gme.tencentcloudapi.com/?Action=ScanVoice
    &BizId=1400000000
    &Scenes.0=default
    &Live=true
    &Callback=
    &Tasks.0.DataId=1400000000_test_data_id
    &Tasks.0.Url=https://xxxx
    &<公共请求参数>

    输出示例

    {
      "Response": {
        "Data": [
          {
            "DataId": "1400000000_test_data_id",
            "TaskId": "xxx-xxx-xxx"
          }
        ],
        "RequestId": "xxx-xxx-xxx"
      }
    }

    示例3 提交语音文件检测任务

    通过语音文件的方式提交检测任务,可通过设置回调地址 Callback 获取检测结果

    输入示例

    https://gme.tencentcloudapi.com/?Action=ScanVoice
    &BizId=1400000000
    &Scenes.0=default
    &Live=false
    &Callback=https://0.0.0.0/user_callback
    &Tasks.0.DataId=1400000000_test_data_id
    &Tasks.0.Url=http://xxxx/audio_store/xxxx.mp3
    &<公共请求参数>

    输出示例

    {
      "Response": {
        "Data": [
          {
            "DataId": "1400000000_test_data_id",
            "TaskId": "xxx-xxx-xxx"
          }
        ],
        "RequestId": "xxx-xxx-xxx"
      }
    }

    5. 开发者资源

    API Explorer

    该工具提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力,能显著降低使用云 API 的难度,推荐使用。

    SDK

    云 API 3.0 提供了配套的开发工具集(SDK),支持多种编程语言,能更方便的调用 API。

    命令行工具

    6. 错误码

    以下仅列出了接口业务逻辑相关的错误码,其他错误码详见 公共错误码

    错误码 描述
    InternalError 内部错误
    InvalidParameter 参数错误
    InvalidParameter.CallbackAddress 回调地址不合法。
    MissingParameter. 缺少参数
    ResourceNotFound 资源不存在
    UnauthorizedOperation 未授权操作。
    UnknownParameter 未知参数错误。
    UnsupportedOperation 操作不支持