提交语音检测任务

最近更新时间:2024-04-03 11:19:54

我的收藏

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:色情

    abuse:谩骂

    ad :广告

    illegal :违法

    moan :呻吟

    customized:自定义词库


    回调相关说明:

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

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

    推荐使用 API Explorer
    点击调试
    API Explorer 提供了在线调用、签名验证、SDK 代码生成和快速检索接口等能力。您可查看每次调用的请求内容和返回结果以及自动生成 SDK 调用示例。

    2. 输入参数

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

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

    3. 输出参数

    参数名称 类型 描述
    Data Array of ScanVoiceResult 语音检测返回。Data 字段是 JSON 数组,每一个元素包含:
  • DataId: 请求中对应的 DataId。
  • TaskID :该检测任务的 ID,用于轮询语音检测结果。
  • RequestId String 唯一请求 ID,由服务端生成,每次请求都会返回(若请求因其他原因未能抵达服务端,则该次请求不会获得 RequestId)。定位问题时需要提供该次请求的 RequestId。

    4. 示例

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

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

    输入示例

    POST / HTTP/1.1
    Host: gme.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ScanVoice
    <公共请求参数>
    
    {
        "Callback": "https://0.0.0.0/user_callback",
        "Live": "true",
        "Tasks": [
            {
                "Url": "https://xxxx",
                "DataId": "1400000000_test_data_id"
            }
        ],
        "BizId": "1400000000",
        "Scenes": [
            "default"
        ]
    }

    输出示例

    {
        "Response": {
            "Data": [
                {
                    "DataId": "1400000000_test_data_id",
                    "TaskId": "6330xxxx-9xx7-11ed-98e3-52xxxxe4ac3b"
                }
            ],
            "RequestId": "c91b5243-bbd1-48e0-af41-d66891cabecb"
        }
    }

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

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

    输入示例

    POST / HTTP/1.1
    Host: gme.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ScanVoice
    <公共请求参数>
    
    {
        "Callback": "https://0.0.0.0/user_callback",
        "Live": "false",
        "Tasks": [
            {
                "Url": "http://xxxx/audio_store/xxxx.mp3",
                "DataId": "1400000000_test_data_id"
            }
        ],
        "BizId": "1400000000",
        "Scenes": [
            "default"
        ]
    }

    输出示例

    {
        "Response": {
            "Data": [
                {
                    "DataId": "1400000000_test_data_id",
                    "TaskId": "6330xxxx-9xx7-11ed-98e3-52xxxxe4ac3b"
                }
            ],
            "RequestId": "de52afb5-3887-462d-876a-f8b0b654dc92"
        }
    }

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

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

    输入示例

    POST / HTTP/1.1
    Host: gme.tencentcloudapi.com
    Content-Type: application/json
    X-TC-Action: ScanVoice
    <公共请求参数>
    
    {
        "Callback": "https://0.0.0.0/user_callback",
        "Live": "false",
        "Tasks": [
            {
                "Url": "http://xxx/audio_store/xxxx.mp3",
                "DataId": "1400000000_test_data_id"
            }
        ],
        "BizId": "1400000000",
        "Scenes": [
            "default"
        ]
    }

    输出示例

    {
        "Response": {
            "Data": [
                {
                    "DataId": "1400000000_test_data_id",
                    "TaskId": "6330xxxx-9xx7-11ed-98e3-52xxxxe4ac3b"
                }
            ],
            "RequestId": "c91b5243-bbd1-48e0-af41-d66891cabecb"
        }
    }

    5. 开发者资源

    腾讯云 API 平台

    腾讯云 API 平台 是综合 API 文档、错误码、API Explorer 及 SDK 等资源的统一查询平台,方便您从同一入口查询及使用腾讯云提供的所有 API 服务。

    API Inspector

    用户可通过 API Inspector 查看控制台每一步操作关联的 API 调用情况,并自动生成各语言版本的 API 代码,也可前往 API Explorer 进行在线调试。

    SDK

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

    命令行工具

    6. 错误码

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

    错误码 描述
    FailedOperation 操作失败。
    InternalError 内部错误。
    InvalidParameter 参数错误。
    InvalidParameter.CallbackAddress 回调地址不正确
    MissingParameter 缺少参数。
    OperationDenied 操作被拒绝。
    ResourceNotFound 资源不存在。
    ResourceUnavailable 资源不可用。
    UnauthorizedOperation 未授权操作。
    UnknownParameter 未知参数错误。
    UnsupportedOperation 操作不支持。