音频合规 API
POST
https://audit.iflyaisol.com/audit/v2/audio接口说明
基于智能特色语义分析及多语种识别技术,依托海量的样本数据,精准高效识别敏感、色情、辱骂等风险音频内容。
购买请点击API套餐购买 、APPID获取请点击API使用控制台 、快速体验请点击音频合规SaaS 、交流讨论请点击讯飞开放平台社区
#接口Demo
部分开发语言Demo如下,其他开发语言请参照文档进行开发,欢迎大家到讯飞开放平台社区 交流集成经验。
音频合规API Demo java语言
音频合规API Demo python语言
#接口要求
内容 | 说明 |
---|---|
传输方式 | http[s] (为提高安全性,强烈推荐https) |
请求地址 | https://audit.iflyaisol.com/audit/v2/audio https://audit.iflyaisol.com/audit/v2/query 注:服务器IP不固定,为保证您的接口稳定,请勿通过指定IP的方式调用接口,使用域名方式调用 |
Content-Type | application/json;charset=UTF-8 |
接口鉴权 | 签名机制,详情请参照下方接口鉴权 |
字符编码 | UTF-8 |
响应格式 | 统一采用JSON格式 |
开发语言 | 任意,只要可以向讯飞云服务发起HTTP请求的均可 |
适用范围 | 任意操作系统,但因不支持跨域不适用于浏览器 |
音频要求 | 音频格式支持mp3、alaw、ulaw、pcm、aac、wav格式,通过URL外链的音频时长建议限制在1小时内。 |
#接口鉴权
#1、鉴权参数列表
所有鉴权参数均放在url地址栏。
参数名 | 类型 | 必传 | 描述 |
---|---|---|---|
accessKeyId | String | 是 | 即为控制台获取的APIKey |
accessKeySecret | String | 是 | 即为控制台获取的APISecret |
utc | String | 是 | 当前时间,格式:"yyyy-MM-dd'T'HH:mm:ssZ", 服务端会校验传入的时间与服务器时间之间的误差,超过 30 分钟即为非法。 |
signature | String | 是 | 签名串,详细获取步骤234中有signature的获取参考 |
appId | String | 是 | 即为控制台获取的APPID |
uuid | String | 是 | 请求随机字符串, uuid有防重放的功能,如果调试,请注意更换uuid的值 |
#2、第一步baseString获取
假设请求 url 中的查询参数为一个集合,将集合内满足条件的参数按照参数名 ASCII 码从小到大排序(字典序),使用键值对的格式(即 key1=value1&key2=value2…注意 value 需要 URLEncoder)拼接成字符串,得到baseString。示例如下:
特别注意以下3个规则:(1)参数值为空的不参与签名;(2)signature 参数本身不参与签名;(3)参数名区分大小写。
accessKeyId=simpleAPIKey&accessKeySecret=simpleAPISecret&appId=simpleAPPID&utc=2023-02-23T06%3A40%3A54%2B0000&uuid=44dfa903-adb2-45d3-a1fe-fd8a53f86b2a
————————————————————————————————————————————————————————————————————————————————————————————————————————————————
注意:在实际使用时,simpleXXX需替换控制台的真实值。utc、signature、uuid的值请求时需要UrlEncode。以上utc示例时间UrlEncode前为2023-02-23T06:40:54+0000。randomStr用UUID.randomUUID()函数获得的值替换。
#3、第二步根据baseString与accessKeySecret获取signature的值
根据得到的baseString和控制台获取的accessKeySecret(即APISecret),利用HMAC运算(HmacSHA1)生成签名byte[],然后使用base64编码得到signature,示例如下:
mH2xDQ5f+mO/Pi6DbrxXrzYQxF0=
————————————————————————————————————————————————————————————————————————————————————————————————————————————————
注意:调试阶段可以与以上结果比对,需要保持baseString与第一步完全一致。
#4、第三步拼接放到url地址栏
根据第二步获得的signature值,与url地址拼接得到最终地址栏结果,示例如下:
https://audit.iflyaisol.com//audit/v2/syncText?accessKeyId=simpleAPIKey&accessKeySecret=simpleAPISecret&utc=2023-02-23T06%3A40%3A54%2B0000&signature=mH2xDQ5f+mO/Pi6DbrxXrzYQxF0=&appId=simpleAPPID&uuid=44dfa903-adb2-45d3-a1fe-fd8a53f86b2a
————————————————————————————————————————————————————————————————————————————————————————————————————————————————
注意:黑白名单使用鉴权与文本合规鉴权完全一致,只是url地址有变动。具体业务参数通过json以post的形式发送给服务端。
常见问题
#音频合规支持哪些音频格式的请求,音频大小限制是多少?
答:支持mp3、alaw、ulaw、pcm、aac、wav格式,通过URL外链的音频时长建议限制在1小时内。
#音频合规对敏感词发音审核的同时,会有语义层面的审核吗?
答:会的。音频合规不仅对音频中敏感词发音进行审核,而且会结合音频语义进行审核,包括不限于国歌歪唱识别、违禁语音检测、辱骂语音检测、垃圾广告检测等。
#支持对违规音频片段的定位吗?
答:支持。返回违规音频片段的同时,会返回违规的开始时间与持续时长,能够轻松定位违规发音在原音频中的位置。
请求参数
待识别音频列表,单次数量不能超过10个
音频类型,如果不传,取 url 后缀名作为格式 支持类型:mp3、alaw、ulaw、pcm、aac、wav
音频地址,长度限制 500字符以内
替换为自己的回调地址
{
"audio_list": [
{
"audio_type": "mp3",
"file_url": "https://xfyun-doc.cn-bj.ufileos.com/static%2F16793792882352753%2F1.mp3",
"name": "xxx%2F1.mp3"
}
],
"notify_url": "http://wdfgdzx.top:8000/user/audio_video_callback" //替换为自己的回调地址
}
示例代码
返回响应
会话调用成功标记: 000000 表示调用成功 其他数字 表示会话调用异常
对会话调用是否成功的描述
内容识别状态。 0:待审核 1:审核中 2:审核完成 4:审核异常
本次会话唯一id标识,用于排查接口调用问题
{
"code": "000000",
"desc": "请求成功",
"data": {
"request_id": "T20230321155903016bba833f177a000",
"audit_status": 2,
"result_list": [
{
"name": "xxx%2F1.mp3",
"suggest": "block",
"detail": {
"audios": [
{
"duration": 10,
"category_list": [
{
"category_description": "辱骂_人身攻击_重度人身攻击",
"word_list": [],
"suggest": "block",
"category": "uncivilizedLanguage"
}
],
"offsetTime": "0",
"audio_url": "http://xxx",
"suggest": "block",
"content": "xxx"
},
{
"duration": 10,
"category_list": [
{
"category_description": "辱骂_人身攻击_重度人身攻击",
"word_list": [],
"suggest": "block",
"category": "uncivilizedLanguage"
}
],
"offsetTime": "10",
"audio_url": "http://xxx",
"suggest": "block",
"content": "xxx"
}
]
}
}
]
},
"sid": "d7c868febced455399b373a976d3c3b8"
}