短语音同步检测提供基于HTTP和HTTPS协议的同步音频检测接口,该接口可以实时将语音的内容转换为文字,并返回给您内容审核的结果以及风险标签,帮助您提高审核效率。本文介绍了调用短语音同步检测接口(/green/voice/syncscan)进行语音内容审核的方法。

使用说明

业务接口:/green/voice/syncscan,表示语音同步检测。

您可以调用该接口创建语音同步检测任务。关于如何构造HTTP请求,请参见请求结构;您也可以直接选用已构造好的HTTP请求,更多信息,请参见SDK概览

说明 语音检测默认识别中文普通话,如需识别其他语种(例如,英语、日语、西班牙语、阿拉伯语、法语、印尼语、越南语)或方言(粤语、四川话、湖北话、陕西话、山西话、河南话、东北话、天津话、甘肃话、贵州话、云南话、江西话、广西话、云南话、湖南话、山东话、苏州话、浙江话、上海话、闽南语),请联系商务经理。
  • 计费信息

    该接口为收费接口。关于计费方式,请参见内容安全产品定价

  • 音频文件要求
    • 支持的音频文件大小小于20 MB。
    • 支持的语音文件时长小于1分钟。
    • 支持的音频文件格式:MP3WAVAACWMAOGGM4AM3U8
    • 支持以下包含音频的视频文件格式:AVIFLVMP4MPGASFWMVMOVRMVBRM

QPS限制

本接口的单用户QPS限制为50次/秒。超过限制,API调用会被限流,这可能会影响您的业务,请合理调用。

请求参数

名称类型是否必选示例值描述
bizTypeStringdefault该字段用于标识您的业务场景。您可以通过内容安全控制台创建业务场景(具体操作,请参见自定义机审标准)。
scenesStringArrayantispam检测场景,唯一取值:antispam
tasksJSONArray指定检测对象,JSON数组中的每个元素是一个检测任务结构体。最多支持100个元素,即每次提交100条内容进行检测,支持100个元素的前提是需要将并发任务调整到100个以上。关于每个元素的具体结构描述,请参见task
表 1. task
名称类型是否必选示例值描述
clientInfoJSONObject{"userId":"120234234","userNick":"Mike","userType":"others"}

客户端信息,请参见公共参数中的公共查询参数。

服务器会把全局的clientInfo和此处独立的clientInfo合并。
说明 独立的clientInfo优先级更高。
dataIdStringabc_123检测对象对应的数据ID。

由大小写英文字母、数字、下划线(_)、短划线(-)、英文句号(.)组成,不超过128个字符,可以用于唯一标识您的业务数据。

urlStringhttp://aliyundoc.com/test.mp3
检测对象的URL。
  • 公网HTTP/HTTPS URL,且长度不超过2048个字符。
  • 阿里云OSS提供的文件路径。您需要先授权内容安全访问OSS存储空间,仅限相同区域的OSS空间。更多信息,请参见授权内容安全访问OSS存储空间

    文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>

返回数据

名称类型示例值描述
codeInteger200错误码,和HTTP状态码一致。

更多信息,请参见公共错误码

msgStringOK请求消息的响应消息。
dataIdStringabc_123检测对象对应的数据ID。
说明 如果在检测请求参数中传入了dataId,则此处返回对应的dataId
taskIdStringvc_f_1OsjIYTukH@4@AXkIQ9xxx-1ov52Y检测任务的ID。
urlStringhttp://aliyundoc.com/test.mp3
检测对象的URL。
  • 公网HTTP/HTTPS URL,且长度不超过2048个字符。
  • 阿里云OSS提供的文件路径。您需要先授权内容安全访问OSS存储空间,仅限相同区域的OSS空间。更多信息,请参见授权内容安全访问OSS存储空间

    文件路径格式:oss://<bucket-name>.<endpoint>/<object-name>

resultsJSONArray检测成功(code=200)时,返回的检测结果。返回结果中包含一个或多个元素。每个元素是个结构体,具体结构描述见result
表 2. result
名称类型示例值描述
sceneStringantispam检测场景,和调用请求中的场景对应。唯一取值:antispam
labelStringcustomized检测结果的分类。取值:
  • normal:正常文本
  • spam:含垃圾信息
  • ad:广告
  • politics:涉政
  • terrorism:暴恐
  • abuse:辱骂
  • porn:色情
  • flood:灌水
  • contraband:违禁
  • meaningless:无意义
  • harmful:不良场景(保护未成年人场景,支持拜金炫富、追星应援、负面情绪、负面诱导等检测场景)
  • customized:自定义(例如命中自定义关键词)
suggestionStringblock建议您执行的后续操作,取值:
  • pass:结果正常,无需进行其余操作。
  • review:结果不确定,需要进行人工审核。
  • block:结果违规,建议直接删除或者限制公开。
rateFloat99.91置信度分数,取值范围:0(表示置信度最低)~100(表示置信度最高)。
如果suggestionpass,则置信度越高,表示内容正常的可能性越高;如果suggestionreviewblock,则置信度越高,表示内容违规的可能性越高。
重要 建议您参考suggestionlabel(或者部分接口返回的sublabel)结果用于内容违规判定。
detailsJSONArray语音对应的文本详情,每一句文本对应一个元素,可以包含一个或者多个元素。关于每个元素的结构描述,请参见detail
表 3. detail
名称类型示例值描述
startTimeInteger0句子开始的时间戳,单位:秒。
endTimeInteger4065句子结束的时间戳,单位:秒。
textString恶心的语音转换成文本的结果。
labelStringpolitics检测结果的分类。取值:
  • normal:正常文本
  • spam:含垃圾信息
  • ad:广告
  • politics:涉政
  • terrorism:暴恐
  • abuse:辱骂
  • porn:色情
  • flood:灌水
  • contraband:违禁
  • meaningless:无意义
  • harmful:不良场景(保护未成年人场景,支持拜金炫富、追星应援、负面情绪、负面诱导等检测场景)
  • customized:自定义(例如命中自定义关键词)
personsJSONArray[{"name":"敏感人名A"}]声纹识别结果,如果命中了敏感人物的声纹,则会返回该字段。
具体结构如下:
  • name:字符串类型,通过语音识别的敏感人物信息。
说明 默认不返回该字段。如果有需要,请联系商务经理。
keywordString恶心如果命中了用户自定义关键词,返回命中的关键词。
libNameStringtest如果命中了用户自定义关键词,返回关键词所在的词库。

示例

请求示例
http(s)://[Endpoint]/green/voice/syncscan
&<公共请求参数>{
    "scenes":[
        "antispam"
    ],
    "tasks":[
        {
            "dataId":"abcd-123",
            "url":"http://aliyundoc.com/test.mp3"
        }
    ]
}
返回示例
{
    "msg":"OK",
    "code":200,
    "data":[
        {
            "code":200,
            "dataId":"abcd-123",
            "results":[
                {
                    "rate":99.91,
                    "suggestion":"block",
                    "details":[
                        {
                            "libName":"test",
                            "startTime":0,
                            "endTime":4065,
                            "label":"customized",
                            "text":"恶心的",
                            "keyword":"恶心"
                        },
                        {
                            "startTime":4430,
                            "endTime":10065,
                            "label":"normal",
                            "persons": [
                                {
                                    "name": "敏感人名A"
                                }
                            ],
                            "text":"哈哈哈"
                        },
                        {
                            "libName":"语音",
                            "startTime":11670,
                            "endTime":14685,
                            "label":"customized",
                            "text":"大甩卖",
                            "keyword":"甩卖"
                        },
                        {
                            "startTime":14685,
                            "endTime":16065,
                            "label":"ad",
                            "text":"12345"
                        }
                    ],
                    "label":"customized"
                }
            ],
            "taskId":"vc_f_1OsjIYTukH@4@AXkIQ9xxx-1ov52Y"
        }
    ],
    "requestId":"5A7A6198-6960-4DDC-B67E-58A111A4B20F"
}