You need to enable JavaScript to run this app.
导航
参数基本说明
最近更新时间:2024.10.31 14:52:02首次发布时间:2021.12.20 14:44:12
请求参数
字段含义层级格式必需备注
app应用相关配置1dict
appid应用标识2string需要申请,具体见控制台使用FAQ1
token应用令牌2string可传入任意非空值
cluster业务集群2string标准音色、复刻等均不相同,具体见控制台使用FAQ1
user用户相关配置1dict
uid用户标识2string可传入任意非空值,传入值可以通过服务端日志追溯
audio音频相关配置1dict
voice_type音色类型2string发音人参数列表复刻音色使用声音ID(speaker id)
rate音频采样率2int默认为 24000,可选8000,16000
encoding音频编码格式2stringwav / pcm / ogg_opus / mp3,默认为 pcm
注意:wav 不支持流式
compression_rateopus格式时编码压缩比2int[1, 20],默认为 1
speed_ratio语速2float[0.2,3],默认为1,通常保留一位小数即可
volume_ratio音量2float0.1, 3],默认为1,通常保留一位小数即可
pitch_ratio音高2float[0.1, 3],默认为1,通常保留一位小数即可
emotion情感/风格2string发音人参数列表
language语言类型2string发音人参数列表
request请求相关配置1dict
reqid请求标识2string需要保证每次调用传入值唯一,建议使用 UUID
text文本2string合成语音的文本,长度限制 1024 字节(UTF-8编码)。复刻音色没有此限制,但是HTTP接口有60s超时限制
text_type文本类型2stringplain / ssml, 默认为plain
silence_duration句尾静音时长2int单位为ms,默认为125
operation操作2stringquery(非流式,http只能query) / submit(流式)
with_frontend时间戳相关2int
string
当with_frontend为1且frontend_type为unitTson的时候,返回音素级时间戳
frontend_type时间戳相关2int
string
当with_frontend为1且frontend_type为unitTson的时候,返回音素级时间戳
with_timestamp时间戳相关2int
string
传入1时表示启用。新版时间戳参数,可用来替换with_frontend和frontend_type,可返回原文本的时间戳,而非TN后文本,即保留原文中的阿拉伯数字或者特殊符号等。注意:原文本中的多个标点连用或者空格依然会被处理,但不影响时间戳连贯性
split_sentence复刻音色语速优化2int
string
仅当使用复刻音色时设为1,可优化语速过快问题。有可能会导致时间戳多次返回。详情可见:声音复刻录音指导-badcase优化建议2
pure_english_opt英文前端优化2int
string
当pure_english_opt为1的时候,中文音色读纯英文时可以正确处理文本中的阿拉伯数字

请求示例

{
    "app": {
        "appid": "appid123",
        "token": "access_token",
        "cluster": "volcano_tts",
    },
    "user": {
        "uid": "uid123"
    },
    "audio": {
        "voice_type": "BV700_streaming",
        "encoding": "mp3",
        "compression_rate": 1,
        "rate": 24000,
        "speed_ratio": 1.0,
        "volume_ratio": 1.0,
        "pitch_ratio": 1.0,
        "emotion": "happy",
        "language": "cn"
    },
    "request": {
        "reqid": "uuid",
        "text": "字节跳动语音合成",
        "text_type": "plain",
        "operation": "query",
        "silence_duration": "125",
        "with_frontend": "1",
        "frontend_type": "unitTson",
        "pure_english_opt": "1"
    }
}
返回参数
字段含义层级格式备注
reqid请求 ID1string请求 ID,与传入的参数中 reqid 一致
code请求状态码1int错误码,参考下方说明
message请求状态信息1string错误信息
sequence音频段序号1int负数表示合成完毕
data合成音频1string返回的音频数据,base64 编码
addition额外信息1string额外信息父节点
duration音频时长2string返回音频的长度,单位ms
frontend时间戳信息2string包含字级别和音素级别的时间戳信息

响应示例

{
	"reqid": "reqid",
	"code": 3000,
	"operation": "query",
	"message": "Success",
	"sequence": -1,
	"data": "base64 encoded binary data",
	"addition": {
		"description": "...",
		"duration": "1960",
		"frontend": "{
			"words": [{
				"word": "字",
				"start_time": 0.025,
				"end_time": 0.185
			},
			... 
			{
				"word": "。",
				"start_time": 1.85,
				"end_time": 1.955
			}],
			"phonemes": [{
				"phone": "C0z",
				"start_time": 0.025,
				"end_time": 0.105
			},
			... 
			{
				"phone": "。",
				"start_time": 1.85,
				"end_time": 1.955
			}]
		}"
	}
}
错误码说明
错误码错误描述举例建议行为
3000请求正确正常合成正常处理
3001无效的请求一些参数的值非法,比如operation/workflow配置错误检查参数
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元)