You need to enable JavaScript to run this app.
导航
大模型语音合成API
最近更新时间:2024.08.30 18:20:47首次发布时间:2024.04.25 10:44:40

说明

目前该能力只对企业客户开放,如需测试或接入须先进行企业认证。

接口说明

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

Websocket

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

HTTP

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

参数列表

字段

含义

层级

格式

必需

备注

app

应用相关配置

1

dict

appid

应用标识

2

string

需要申请

token

应用令牌

2

string

可传任意非空字符串

cluster

业务集群

2

string

volcano_tts

user

用户相关配置

1

dict

uid

用户标识

2

string

可传任意非空字符串,传入值可以通过服务端日志追溯

audio

音频相关配置

1

dict

voice_type

音色类型

2

string

encoding

音频编码格式

2

string

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

speed_ratio

语速

2

float

[0.8,2],默认为1,通常保留一位小数即可

request

请求相关配置

1

dict

reqid

请求标识

2

string

需要保证每次调用传入值唯一,建议使用 UUID

text

文本

2

string

合成语音的文本,长度限制 1024 字节(UTF-8编码)

text_type

文本类型

2

string

使用ssml时需要指定,值为"ssml"

operation

操作

2

string

query(非流式,http只能query) / submit(流式)

备注:

  1. 暂时不支持时间戳能力
  2. 暂时不支持ssml能力已支持,见SSML标记语言--语音技术-火山引擎 (volcengine.com)
  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

请求 ID

1

string

请求 ID,与传入的参数中 reqid 一致

code

请求状态码

1

int

错误码,参考下方说明

message

请求状态信息

1

string

错误信息

sequence

音频段序号

1

int

负数表示合成完毕

data

合成音频

1

string

返回的音频数据,base64 编码

addition

额外信息

1

string

额外信息父节点

duration

音频时长

2

string

返回音频的长度,单位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元)