智能音频流识别产品API文档#

音频流上传请求#

请求URL:#

集群URL支持语种
新加坡http://api-audiostream-xjp.fengkongcloud.com/audiostream/v4中文、国际化
硅谷http://api-audiostream-gg.fengkongcloud.com/audiostream/v4中文、国际化
上海http://api-audiostream-sh.fengkongcloud.com/audiostream/v4中文、阿语

请求方法:#

POST

字符编码:#

UTF-8

建议超时时间:#

1s

拉流重试机制#

为防止网络异常导致的拉流失败问题发生,数美音频流服务设置了拉流失败后的重试机制,具体机制如下:

普通rtmp、http、hls流会重试12次,第一次间隔5秒,第二次间隔10秒,以此类推,最大间隔不超过60秒
通过声网SDK录制方式拉流,重试2次,间隔为0
通过即构SDK录制方式拉流,重试10次,每次重试间隔30秒

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring公司密钥Y由数美提供
appIdstring应用标识Y用于区分应用
需要联系数美服务开通,请使用数美单独提供的传值为准
eventIdstring事件标识Y区分场景数据
需要联系数美服务开通,请使用数美单独提供的传值为准
typestring检测的风险类型businesstype和type必传其一可选值:监管功能
POLITY:涉政识别
EROTIC:色情识别
ADVERT:广告识别
BAN:违禁识别
VIOLENT:暴恐识别
MOAN:娇喘识别
AUDIOPOLITICAL:一号领导人声纹识别
ANTHEN:国歌识别
DIRTY:辱骂识别
ADLAW:广告法识别
SING:唱歌识别
MINOR:未成年人识别
BANEDAUDIO:违禁歌曲
VOICE:人声属性(伪造人声)
如需做组合识别,通过下划线连接即可,例如POLITY_EROTIC_MOAN
涉政、色情和娇喘识别,涉政、色情、辱骂、广告识别指的是语义内容的风险检测
businessTypestring业务标签businesstype和type必传其一可选值:业务标签的一、二、三级标签
GENDER:性别识别
AGE:年龄识别
TIMBRE:音色识别
SING:唱歌识别
LANGUAGE:语种识别
VOICE:人声属性
AUDIOSCENE:声音场景
如需识别音色、唱歌、语种GENDER必传
datajson_object请求的数据内容Y本次请求相关信息,最长1MB,详见data参数
callbackstring回调地址Y异步检测结果回调通知您的URL,支持HTTP和HTTPS
acceptLangstring返回标签的语种类型N选择返回标签的语种类型
可选值:
zh:中文
en:英文
不传入默认为返回中文标签
其中,data的内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring用户账号标识Y用于区分用户账号,建议传入用户ID
btIdstring音频唯一标识Y用于查询指定音频,限长128位字符
streamTypestring流类型Y可选值:
NORMAL:普通流地址,目前支持rtmp、rtmps、hls、http、https协议,支持flv,m3u8等格式
ZEGO:即构
AGORA:声网
TRTC:腾讯录制
VOLC:火山引擎录制
GIN: 巨人录制
ALI: 阿里录制
注意:使用RTC的SDK录制方案的时候,会在RTC侧产生额外的录制费用,具体费用请咨询相关RTC厂商
urlstring直播流地址N当streamType为NORMAL时必传
langstring音频流语言类型Y可选值如下,(默认值为zh):
zh:中文
en:英文
ar:阿拉伯语
hi:印地语
es:西班牙语
fr:法语
ru:俄语
pt:葡萄牙语
id:印尼语
de:德语
ja:日语
tr:土耳其语
vi:越南语
it:意大利语
th:泰语
tl:菲律宾语
ko:韩语
ms:马来语
集群支持语种详见 请求URL支持语种,除中文外其他语言类型为国际化
zegoParamjson_object要检测的流参数N当streamType为ZEGO时必传,详见zegoParam参数
initDomainint即构SDK初始化是否有设置隔离域名N当即构客户端init初始化支持隔离域名和随机userId该字段必传,可选值:
0:默认版本
1:仅支持客户端初始化有隔离域名
2:支持客户端初始化有隔离域名和随机userId功能
3:更新SDK,修复一些bug
4:支持客户自定义传入SEI信息
5:支持vad静音检测,token会有唯一性校验,每次上传鉴黄必须重新生成
6:房间维度拉流送审模式下,开发者可以控制某条流是否需要送审
推荐使用6进行接入; 为兼容老客户使用,默认值为0
trtcParamjson_object腾讯录制参数(当streamType为TRTC时必传),详见扩展参数N腾讯录制参数(当streamType为TRTC时必传),详见扩展参数
agoraParamjson_object要检测的声网流参数N当streamType为AGORA时必传,详见agoraParam参数
volcParamjson_object要检测的火山流参数N当streamType为VOLC时必传,详见volcParam参数
ginParamjson_object要检测的巨人流参数N当streamType为GIN时必传,详见ginParam参数
aliParamjson_object要检测的阿里流参数N当streamType为ALI时必传,详见aliParam参数
roomstring直播房间号N
returnAllTextint返回音频片段的等级N可选值如下(默认为0):
0:返回风险等级为非pass的音频片段
1:返回所有风险等级的音频片段
建议传入1 (默认为0,在静音的情况下不会产生回调)
returnPreTextint是否返回违规音频流片段的前文文字信息N可选值如下(默认值为0):
0:不返回违规片段前一个片段文字;
1:返回违规片段前一个片段文字;
returnPreAudioint是否返回违规音频流片段的前文音频链接N可选值如下(默认值为0):
0:不返回违规片段前一个片段音频;
1:返回违规片段前一个片段音频链接;
returnFinishInfoint音频流结束回调通知N可选值如下(默认值为0):
0:审核结束时不发送结束通知
1:审核结束时发起结束通知,回调参数增加statCode状态码
建议传入1(默认值为0,在流结束时不会产生回调)
extrajson_object辅助参数N用于辅助音频检测的相关信息,详见extra参数
liveTitlestring标题N房间标题,非必填参数,在客户开通人审服务传入
anchorNamestring昵称N用户昵称,非必填参数,在客户开通人审服务传入
audioDetectStepint抽帧审核步长N音频每个步长只会检测一次,取值范围1-36的整数,默认每个片段都审核(备注)
举例:该参数设置为1,会审核第一个片段、第三个片段、第五个片段,以此类推。该参数设置为2,会审核第一个片段、第四个片段、第个七个片段,以此类推。
receiveTokenIdstring私聊场景下消息接收者的tokenIdN由数字、字母、下划线、短杠组成的长度小于等于64位的字符串
deviceIdstring数美设备标识N
ipstring发送该音频的用户公网ip地址N支持传入IPV4或IPV6
levelint用户等级,针对不同等级的用户可配置不同拦截策略N可选值:
0:最低级用户,典型如新注册、完全不活跃或等级为0的用户等;
1:较低级用户,典型如低活跃或低等级用户等;
2:中等级用户,典型如具备一定活跃或等级中等的用户等;
3:较高级用户,典型如高活跃或高等级用户等;
4:最高级用户,典型如付费用户、VIP用户等
genderstring用户性别N可选值:
male男性
female女性
data中,zegoParam详细内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstringzego提供的身份验证信息,获取zego的identify_token用于登录,生成方式详见zego文档:https://doc-zh.zego.im/article/15258 。注意tokenId唯一标识审核请求,每次请求都需要重新生成。Y
streamIdstring音频流编号,唯一对应一路音频流,streamId与roomId至少传入其中之一。N
roomIdstring房间编号,唯一对应一个房间。
isMixingEnabledbool录制模式
true:合流,房间内所有用户合成一路流录制审核。此时如果streamId与roomId单独存在时则单独生效;但当streamId与roomId同时存在时,则以streamId为有效值。
false:分流,房间内每个用户单独录制审核。此时roomId为必传,且以roomId为有效值。同时streamId不可以传入。
N默认值为true
true:合流
false:分流
data中,agoraParam详细内容如下:
请求参数名类型参数说明是否必传规范
appIdstring声网提供的appId,注意与数美的appId区分开Y非数美的appId
channelstring声网提供的频道名Y
tokenstring安全要求较高的用户可以使用 token进行认证,生成方式详见声网文档:https://docs.agora.io/cn/Recording/token_server?platform=CPP
建议将token的有效期设置超过频道的持续时间,防止token失效导致无法拉流。当前声网支持的最大token有效期为24小时,因此当频道持续时间超过24小时的时候,需要处理token失效的问题。处理方法:在请求参数中设置开启音频流结束回调通知(设置returnFinishInfo为1)。当回调接收到审核结束通知(statCode为1),并且原因是由于拉流的token无效或过期(auxInfo下errorCode状态码返回3005),如果频道仍然存在并且需要继续审核,则生成新的token,将频道重新送审。
N
uidint用户 ID,当token存在时,必须提供生成token时所使用的用户ID。注意,此处需要区别实际房间中的用户uid,提供给服务端录制所用的uid不允许在房间中存在N32 位无符号整数
isMixingEnabledbool单流/合流录制
合流是指一个直播房间一路流
分流是指一个麦位一路流,
N默认值为true
true:合流
false:分流
channelProfileint声网录制的频道模式
通信,常见的 1 对 1 单聊或群聊,频道内任何用户可以自由说话
直播,有两种用户角色: 主播和观众
N可选值如下(默认值为0):
0: 通信
1: 直播
subscribeModestring订阅模式:
AUTO: 自动订阅房间内的所有流,不设置subscribeMode时候的默认行为
UNTRUSTED: 配合untrustedUserIdList只订阅该列表指定的用户流,仅在声网分流里生效
TRUSTED: 配合trustedUserIdList只订阅该列表以外的用户流,仅在声网分流中生效
trustedUserIdListstring_array信任用户的列表,subscribeMode=TRUSTED时生效,允许为空,数美不会订阅房间内该列表指定的用户流。其中每个元素uid的范围应为uint32的范围,但类型为string。例如:["123","456"]
untrustedUserIdListstring_array非信任用户的列表,subscribeMode=UNTRUSTED时生效,不允许为空,数美只订阅房间内该列表指定的用户流。其中每个元素uid的范围应为uint32的范围,但类型为string。例如:["123","456"]
data中,ginParam详细内容如下:
请求参数名类型参数说明是否必传规范
tokenIdstring房间token,用于拉流端登陆房间,需要巨人提供Y
roomIdstring房间编号,唯一对应一个房间,服务端以房间为单位拉流录制Y
isMixingEnabledbool单流/合流录制
合流是指房间内所有用户合成一路流录制审核
分流是指房间内每个用户单独录制审核
N默认值为true
true:合流
false:分流
ipstring指定服务器ipY
portstring指定端口Y
data中,aliParam详细内容如下:
请求参数名类型参数说明是否必传规范
tokenstring用于拉流端加入频道,生成方式详见文档:阿里token鉴权,每次上传审核都需要重新生成新的token。Y
roomstring房间ID,需要和生成token使用的的channelID完全一致。服务端以房间为单位拉流录制。room为唯一标志,相同的room不会重复拉流。Y必传参数,非空字符串
userIdbool拉流机器人ID,需要和生成token的userId完全一致。Y必传参数,非空字符串
isMixingEnabledbool录制模式
true:合流,房间内所有用户合成一路流录制审核。
false:分流,房间内每个用户单独录制审核。
N默认值为true
true:合流
false:分流

其中 data.trtcParam内容如下

参数名称类型是否必传说明
sdkAppIdintY腾讯提供的sdkAppId
demoSencesintY录制类型可选值:分流录制:2 合流录制:4
userIdstringY分配给录制端的userId,限制长度为32bit,只允许包含(a-zA-Z),数字(0-9)以及下划线和连词符
uidstringN指定需要审核的用户ID,如果不传该参数,则默认拉取并审核房间中所有推流用户的流。如果需要审核同一房间内的一部分用户,请使用不同的录制端userId和userSig分多次请求。 注意区分此参数和userId的区别
userSigstringY录制userId对应的验证签名,相当于登录密码
roomIdintY房间号码,取值范围:【1-4294967294】roomId与strRoomId必传一个,若两者都有值优先选用roomId
strRoomIdstringY房间号码 取值说明:只允许包含(a-zA-Z),数字(0-9)以及下划线和连词符若您选用strRoomId时,需注意strRoomId和roomId两者都有值优先选用roomId

trtc流会根据下述逻辑去重:

  • uid不存在时:sdkAppIduserIdroomIdstrRoomId进行去重
  • uid存在时,会根据sdkAppIduidroomIdstrRoomId进行去重
data中,volcParam详细内容如下:
请求参数名类型参数说明是否必传规范
appIdstring火山引擎提供的appId,注意与数美的appId区分开Y非数美的appId
roomIdstring房间号Y
tokenstring火山引擎token,详见:https://www.volcengine.com/docs/6348/70121Y
userIdstring分配给录制端的userIdY
subscribeModestring订阅模式:
AUTO: 自动订阅房间内的所有流,不设置subscribeMode时候的默认行为。
UNTRUSTED: 配合untrustedUserIdList只订阅该列表指定的用户流,此种模式下如果untrustedUserIdList列表为空,参数错误,因为无法订阅任何流。
TRUSTED: 配合trustedUserIdList只订阅该列表以外的用户流,此种模式下如果一定时间下没有untrustedUserIdList名单外的用户进入房间,数美将主动结束审核。
N
trustedUserIdListstring_array信任用户的列表,subscribeMode=TRUSTED时生效,允许为空,数美不会订阅房间内该列表指定的用户流。N
untrustedUserIdListstring_array非信任用户的列表,subscribeMode=UNTRUSTED时生效,不允许为空,数美只订阅房间内该列表指定的用户流。N
data中,extra的内容如下:
请求参数名类型参数说明是否必传规范
passThroughjson_object透传字段N该字段内容会随着回调结果一起返回

同步返回结果#

放在HTTP Body中,采用Json格式,具体参数如下:

返回结果参数名参数类型参数说明是否必返规范
requestIdstring本次请求的唯一标识Y请求唯一标识
codeint请求返回码Y1100:成功
1901:QPS超限、流路数超限
1902:参数不合法
1903:服务失败
1904:拉流失败
9101:无权限操作
messagestring请求返回描述Y和请求返回码对应
detailjson_object描述详细信息N描述错误码请求,详见detail参数
其中,detail结构如下:
参数名称参数类型参数说明是否必返说明
errorcodeintN状态码
1001:重复推流
dupRequestIdstringN表示重复的requestId
当errorCode为1001,表示重复推流时,会返回dupRequestId字段
例如当第一次请求的时候没有收到返回,但该音频流实际已经开始审核了,没有requestId无法主动关闭审核
可以再次请求,收到重复推流的信息,通过返回的dupRequestId调用关闭审核接口

回调返回结果#

当音频流稳定接入开始接受数美监测后,数美会持续回调识别结果给客户,回调策略根据returnAllText的取值不同而不同。

returnAllText为0时,监测到音频流有违规内容时回调结果给客户;

returnAllText为1时,每隔10秒返回一次最近10秒的识别结果给客户。

放在HTTP Body中,采用Json格式,具体参数如下:

参数名类型参数说明是否必返规范
requestIdstring本次请求的唯一标识Y流片段唯一标识
btIdstring音频唯一标识Y
codeint请求返回码Y1100:成功
1901:QPS超限、流路数超限
1902:参数不合法
1903:服务失败
1904:拉流失败
9101:无权限操作, message和requestId之外的字段,只有当code为1100时才会存在
messagestring请求返回描述,和请求返回码对应Y
statCodeint审核状态N

0 :审核中

1 :审核结束

requestParamsjson_object审核结束透传参数Y
audioDetailjson_object风险音频片段信息N当code等于1100时返回,详见audioDetail参数
auxInfojson_object辅助信息N
其中,audioDetail结构如下:
参数名类型参数说明是否必返规范
audioUrlstring音频片段地址Y
riskLevelstring当前事件的处置建议YPASS:通过
REVIEW:审核
REJECT:拒绝
riskLabel1string一级标签Y各个一级标签之间是并列的关系,当riskLevel为PASS时返回normal
riskLabel2string二级标签Y二级标签归属于一级标签,当riskLevel为PASS时为空
riskLabel3string三级标签Y三级标签归属于二级标签,当riskLevel为PASS时为空
riskDescriptionstring标签解释Y对于命中用户自定义名单时返回:命中自定义名单
当riskLevel为PASS时返回正常`;
其他情况展现形式为一级标签:二级标签:三级标签的中文名,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
audioTextstring音频转译文本的结果N当returnPreText值为1时,包含违规音频前一个片段文本内容和违规音频片段文本内容;
当returnPreText值为0时,包含违规音频片段文本内容
preAudioUrlstring前一个音频片段音频地址N当returnPreAudio值为1时,返回的是当前片段与前一片段的20秒音频片段地址;
returnPreAudio值为0时,不返回
riskDetailjson_object风险详情信息N当code等于1100时返回,详见riskDetail参数
auxInfojson_object其他辅助信息Y返回时间戳等辅助信息,详见auxInfo参数
businessLabelsjson_array音频业务标签N返回性别、音色、是否唱歌等标签,详见businessLabels参数
allLabelsjson_array风险标签N全部风险标签,详见allLabels参数
tokenProfileLabelsjson_array账号属性标签N仅在开启功能时返回详见tokenProfileLabels,tokenRiskLabels参数
tokenRiskLabelsjson_array账号风险标签N仅在开启功能时返回详见tokenProfileLabels,tokenRiskLabels参数
speakersjson_array该音频片段说话人信息N该音频片段中说话人uid以及音量信息,每秒采集一次,一个片段不超过10次。
该结构是个数组,最多10个元素,按照相对时间排序,每个元素也是一个数组,包含当前说话人uid和音量大小
备注:目前仅在声网合流中生效
vadCodeint该音频片段的静音状态N静音状态:
0 :静音片段
1 :非静音片段
audioTagsjson_object音频标签返回性别、音色、是否唱歌等标签

其中,auxInfo结构如下:

参数名类型参数说明是否必返规范
audioStartTimestring辅助参数Y违规内容开始时间(绝对时间)
audioEndTimestring辅助参数Y违规内容结束时间(绝对时间)
beginProcessTimeint辅助参数Y开始处理的时间(13位时间戳)
finishProcessTimeint辅助参数Y结束处理的时间(13位时间戳)
userIdint用户账号标识NAGORA分流情况下存在。返回的userId是实际房间中的用户id,与请求参数agoraParam中的uid无关。
strUserIdstring用户账号标识NALI、TRTC、ZEGO、VOLC、GIN分流情况下存在。返回的strUserId是实际房间中的用户id。当流类型为TRTC分流,与请求参数trtcParam中的uid无关;当流类型为ALI分流,与请求参数aliParam中的userId无关。
roomstring房间号N
seiInfoarraySEI信息N(需要联系数美开通)
passThroughjson_object透传字段N该字段内容与请求参数data中extra的passThrough的值相同
其中,riskDetail结构如下:
参数名类型参数说明是否必返规范
audioTextstring音频转译文本的结果N
matchedListsjson_array命中的客户自定义名单信息N命中客户自定义名单时返回,其他时不存在,详见matchedLists参数
riskSourceint风险来源Y可选值:
1000:无风险
1001:文本风险
1003:音频风险
riskSegmentsjson_array高风险内容片段N在涉政、暴恐、违禁、竞品、广告法等功能的时候存在,详见riskSegments参数
其中,matchedLists结构如下:
参数名类型参数说明是否必返规范
namestring客户自定义名单名Y
wordsjson_array命中的这个名单中的敏感词信息Y下标从0开始计数,详见words参数
其中,words结构如下:
参数名类型参数说明是否必返规范
wordstring敏感词Y
positionint_array敏感词所在位置Y下标从0开始计数
其中,riskSegments结构如下:
参数名类型参数说明是否必返规范
segmentstring高风险内容片段N
positionint_array高风险内容片段所在位置N下标从0开始计数

其中,businessLabels结构如下:

参数名类型参数说明是否必返规范
businessLabel1string一级业务标签N一级业务标签
businessLabel2string二级业务标签N二级业务标签
businessLabel3string三级业务标签N三级业务标签
businessDescriptionstring中文标签描述N业务标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
其中,tokenProfileLabels,tokenRiskLabels 结构如下
参数名类型参数说明是否必返规范
label1string一级标签N
label2string二级标签N
label3string三级标签N
descriptionstring标签描述N账号标签描述,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理
timestampint打标签时间戳N13位Unix时间戳,单位:毫秒
其中,speakers 是个**二维数组**,每个元素的结构如下
参数名类型参数说明是否必返规范
uidint说话人uidY
volumeint音量大小Y取值范围为 [0,255]
allLabels结构如下:
参数名类型参数说明是否必返规范
riskLabel1string一级风险标签Y一级风险标签
riskLabel2string二级风险标签Y二级风险标签
riskLabel3string三级风险标签Y三级风险标签
riskDescriptionstring风险原因Y风险原因,仅供人了解风险原因时作为参考,程序请勿依赖该参数的值做逻辑处理

其中最外层的auxInfo字段结构如下:

参数名类型参数说明是否必返规范
errorCodeint状态码Y

状态码

3001:流地址访问失败,例如资源HTTP状态码404、403

3002:流数据无效,例如“Invalid data found when processing input”

3003:流不存在,例如zego返回197612错误码

3004:流未返回音频数据

3005:拉流token无效或过期,建议使用新token重新开启审核,例如声网token过期或者trtc usersig无效

streamTimeint流审核时长N流结束后最后一次返回,代表送审时长,如有间隔审核逻辑时,和流真实时长可能不一致

其中,audioTags详细内容如下:

参数名类型参数说明是否必返规范
genderjson_object性别标签当type取值包含GENDER时返回
timbrejson_array音色标签当type取值包含TIMBRE时返回
songint唱歌标签

当type取值包含SING时返回

可能取值:

0:没有唱歌

1:有唱歌

languagejson_object语种识别type取值包含LANGUAGE时返回

audioTags中,gender详细内容如下:

参数名类型参数说明是否必返规范
labelstring性别标签名称

可能取值:

男性

女性

probabilityint对应性别可能性大小取值0-100,数值越高表示概率越大

audioTags中,timbre详细内容如下:

参数名类型参数说明是否必返规范
labelstring音色标签类别

可能取值:

大叔

青年

正太

老年

女王

御姐

少女

萝莉

大妈

probabilityint对应音色标签可能性大小取值0-100,数值越高表示概率越大

audioTags中,language详细内容如下:

参数名类型参数说明是否必返规范
labelint语种识别类别标识

可能取值:

0:普通话

1:英语

2:粤语

3:藏语

4:维语

5:蒙语

6:朝鲜语

-1:其他语种

probabilityint对应音色标签可能性大小取值0-100,数值越高表示概率越大

音频流关闭通知接口#

接口描述#

该接口用于客户端通知服务端某个音频流已关闭。

请求URL:#

集群URL支持产品列表
新加坡http://api-audiostream-xjp.fengkongcloud.com/finish_audiostream/v4中文、国际化
硅谷http://api-audiostream-gg.fengkongcloud.com/finish_audiostream/v4中文、国际化
上海http://api-audiostream-sh.fengkongcloud.com/finish_audiostream/v4中文、阿语

字符编码:

UTF-8

请求方法:#

POST

建议超时时长:#

1s

请求参数:#

放在HTTP Body中,采用Json格式,具体参数如下:

请求参数名类型参数说明是否必传规范
accessKeystring公司密钥Y用于权限认证,开通账号服务时由数美提供
requestIdstring本次请求的唯一标识Y需要关闭音频流的requestId

返回参数#

放在HTTP Body中,采用Json格式,具体参数如下:

返回结果参数名参数类型参数说明是否必返规范
requestIdstring本次请求的唯一标识Y请求唯一标识
codeint请求返回码Y1100:成功
1901:QPS超限、流路数超限
1902:参数不合法
1903:服务失败
1904:拉流失败
9101:无权限操作
messagestring请求返回描述,和请求返回码对应Y

示例#

上传请求示例:#

curl -v 'http://api-audiostream-sh.fengkongcloud.com/audiostream/v4' -d '{
"accessKey": "xxxxx",
"appId": "default",
"eventId": "default",
"type": "EROTIC_ADVERT_POLITY_DIRTY",
"businessType":"GENDER_TIMBRE_SING_LANGUAGE",
"callback": "xxxxx",
"data": {
"btId": "test1",
"lang": "zh",
"room": "room2",
"url": "xxxxx",
"streamType": "NORMAL",
"returnAllText": 1,
"returnPreText": 1,
"returnPreAudio": 1,
"tokenId": "2222"
}
}'

同步返回示例:#

{
"code":1100,
"message":"成功",
"requestId":"b639042cbfe229359e672074762c5583"
}

回调返回示例:#

{
"requestId":"b639042cbfe229359e672074762c5583_2",
"btid":"1637847086612",
"code":1100,
"message":"成功",
"audioDetail":{
"audioTags":{
"gender":{
"label":"男性",
"probability":99
},
"language":[
{
"label":0,
"probability":99
},
{
"label":1,
"probability":0
}
],
"song":0,
"timbre":[
{
"label":"大叔",
"probability":7
},
{
"label":"青年",
"probability":34
},
{
"label":"老年",
"probability":58
},
{
"label":"正太",
"probability":0
}
]
},
"audioText":"那就不好打吗?所以所以他小龙让掉也是合情合理。还要看这条,先锋啊,下一个节奏点可能就是个先锋,但这个先锋的时候,苏宁其实是可以打正面团战了,谢谢毛主任一直都",
"audioUrl":"https://bj-voice-mp3-1251671073.cos.ap-beijing.myqcloud.com/MP3%2F20211125%2Fb639042cbfe229359e672074762c5583_2.mp3?q-sign-algorithm=sha1&q-ak=AKIDcCe4LVKKzUvBIEtb2NZbS8lGblkbmoFW&q-sign-time=1637847114%3B1637847234&q-key-time=1637847114%3B1637847234&q-header-list=host&q-url-param-list=&q-signature=c0f9a66334bc00e1d92da40974756b9b4b9e7b26",
"auxInfo":{
"beginProcessTime":1637847113897,
"finishProcessTime":1637847114514,
"room":"test1"
},
"businessLabels":[
{
"businessDescription":"未成年人:未成年人:未成年人",
"businessLabel1":"minor",
"businessLabel2":"weichengnianren",
"businessLabel3":"weichengnianren",
"confidenceLevel":0,
"probability":0
}
],
"preAudioUrl":"https://bj-voice-mp3-1251671073.cos.ap-beijing.myqcloud.com/MP3%2F20211125%2Fb639042cbfe229359e672074762c5583_2_pre.mp3?q-sign-algorithm=sha1&q-ak=AKIDcCe4LVKKzUvBIEtb2NZbS8lGblkbmoFW&q-sign-time=1637847114%3B1637847234&q-key-time=1637847114%3B1637847234&q-header-list=host&q-url-param-list=&q-signature=3a261ca2e46b32ec218be69a5802ec0e04c2c627",
"riskDescription":"正常",
"riskDetail":{
"audioText":"那就不好打吗?所以所以他小龙让掉也是合情合理。还要看这条,先锋啊,下一个节奏点可能就是个先锋,但这个先锋的时候,苏宁其实是可以打正面团战了,谢谢毛主任一直都"
},
"riskLabel1":"normal",
"riskLabel2":"normal",
"riskLabel3":"normal",
"riskLevel":"REJECT",
"speakers":[
[
{
"uid":2,
"volume":100
},
{
"uid":1,
"volume":255
},
{
"uid":3,
"volume":50
}
],
[
{
"uid":2,
"volume":200
},
{
"uid":3,
"volume":50
}
],
[
{
"uid":4,
"volume":255
}
]
]
}
}

关流请求示例:#

curl -v 'http://api-audiostream-sh.fengkongcloud.com/finish_audiostream/v4' -d '{
"accessKey": "xxxxx",
"requestId": "xxxxx"
}'

关流返回示例:#

{
"code": 1100,
"message": "成功",
"requestId": " a78eef377079acc6cdec24967ecde722",
}

FAQ#

调用接口返回参数错误(1902)#

答:调用数美接口时,code返回1902参数不合法,一般为客户输入的参数格式存在问题,客户可自行分析一下请求格式是否按照接口文档输入,或将请求的数据及返回数据反馈给数美分析解决。

调用接口返回无权限操作(9101)#

答:调用数美接口时,code返回9101无权限操作,一般为调用了未开通的服务,沟通确认客户调用的服务接口,开通相应的服务。

调用接口超时问题#

答:有如下两个常见问题:

1)DNS问题:

客户通过公网调用数美接口进行测试,客户DNS解析域名较慢,导致第一次请求超时,建议客户更换DNS,不建议客户在host中将域名和ip做绑定,数美更换接口IP导致无法请求接口。

2)网络问题:

客户通过公网调用数美接口,公网网络延迟较长,导致少量请求存在超时。可以建议客户ping数美不同的集群网络,建议客户接入网络延迟较低的数美集群。

数美接口支持哪些网络协议?#

数美音频流测试接口支持http、https、RTMP、HLS、HDL(HTTP-FLV)、RTP等所有主流网络协议。

在线咨询