You need to enable JavaScript to run this app.
导航

大模型语音合成API

最近更新时间2024.05.09 14:32:35

首次发布时间2024.04.25 10:44:40

说明

目前该能力只对企业客户开放,如需测试或接入须先进行企业认证,然后联系火山引擎商务人员申请账号白名单。

接口说明

接口调用方式与TTS一致,可以参考如下链接,将参数做对应修改后即可使用:

Websocket

使用账号申请部分申请到的appid&access_token进行调用
文本一次性送入,后端边合成边返回音频数据

HTTP

使用账号申请部分申请到的appid&access_token进行调用
文本全部合成完毕之后,一次性返回全部的音频数据

参数列表
字段含义层级格式必需备注
app应用相关配置1dict
appid应用标识2string需要申请
token应用令牌2string可传任意非空字符串
cluster业务集群2stringvolcano_tts
user用户相关配置1dict
uid用户标识2string可传任意非空字符串,传入值可以通过服务端日志追溯
audio音频相关配置1dict
voice_type音色类型2string

encoding

音频编码格式

2

string

wav / pcm / ogg_opus / mp3,默认为 pcm
注意:wav 不支持流式

speed_ratio语速2float[0.8,2],默认为1,通常保留一位小数即可
request请求相关配置1dict
reqid请求标识2string需要保证每次调用传入值唯一,建议使用 UUID
text文本2string合成语音的文本,长度限制 1024 字节(UTF-8编码)
operation操作2stringquery(非流式,http只能query) / submit(流式)

备注:

  1. 暂时不支持时间戳能力

  2. 暂时不支持ssml能力

  3. 暂时不支持音高,音量调节

  4. 大模型音色语种支持中英混

请求示例

{
    "app": {
        "appid": "appid123",
        "token": "access_token",
        "cluster": "volcano_tts",
    },
    "user": {
        "uid": "uid123"
    },
    "audio": {
        "voice_type": "zh_male_M392_conversation_wvae_bigtts",
        "encoding": "mp3",
        "speed_ratio": 1.0,
    },
    "request": {
        "reqid": "uuid",
        "text": "字节跳动语音合成",
        "operation": "query",
    }
}
返回参数
字段含义层级格式备注
reqid请求 ID1string请求 ID,与传入的参数中 reqid 一致
code请求状态码1int错误码,参考下方说明
message请求状态信息1string错误信息
sequence音频段序号1int负数表示合成完毕
data合成音频1string返回的音频数据,base64 编码
addition额外信息1string额外信息父节点
duration音频时长2string返回音频的长度,单位ms

响应示例

{
        "reqid": "reqid",
        "code": 3000,
        "operation": "query",
        "message": "Success",
        "sequence": -1,
        "data": "base64 encoded binary data",
        "addition": {
                "duration": "1960",
        }
}
返回码说明
错误码错误描述举例建议行为
3000请求正确正常合成正常处理
3001无效的请求一些参数的值非法,比如operation配置错误检查参数
3003并发超限超过在线设置的并发阈值重试;使用sdk的情况下切换离线
3005后端服务忙后端服务器负载高重试;使用sdk的情况下切换离线
3006服务中断请求已完成/失败之后,相同reqid再次请求检查参数
3010文本长度超限单次请求超过设置的文本长度阈值检查参数
3011无效文本参数有误或者文本为空、文本与语种不匹配、文本只含标点检查参数
3030处理超时单次请求超过服务最长时间限制重试或检查文本
3031处理错误后端出现异常重试;使用sdk的情况下切换离线
3032等待获取音频超时后端网络异常重试;使用sdk的情况下切换离线
3040后端链路连接错误后端网络异常重试
3050音色不存在检查使用的voice_type代号检查参数
常见错误返回说明
  1. 错误返回:
        "message": "quota exceeded for types: xxxxxxxxx_lifetime"
    错误原因:试用版用量用完了,需要开通正式版才能继续使用

  2. 错误返回:
    "message": "quota exceeded for types: concurrency"
    错误原因:并发超过了限定值,需要减少并发调用情况或者增购并发

  3. 错误返回:
        "message": "Fail to feed text, reason Init Engine Instance failed"
    错误原因:voice_type / cluster 传递错误

  4. 错误返回:
    "message": "illegal input text!"
    错误原因:传入的text无效,没有可合成的有效文本。比如全部是标点符号或者emoji表情,或者使用中文音色时,传递日语,以此类推。多语种音色,也需要使用language指定对应的语种

  5. 错误返回:
    "message": "authenticate request: load grant: requested grant not found"
    错误原因:鉴权失败,需要检查appid&token的值是否设置正确,同时,鉴权的正确格式为
    headers["Authorization"] = "Bearer;${token}"

  6. 错误返回:
    "message': 'extract request resource id: get resource id: access denied"
    错误原因:语音合成已开通正式版且未拥有当前音色授权,需要在控制台购买该音色才能调用。标注免费的音色除BV001_streaming及BV002_streaming外,需要在控制台进行下单(支付0元)