豆包语音2.0
POST v1/audio/speech每个音色能支持的情感不同,具体参考音色情感列表: https://www.volcengine.com/docs/6561/1257544
开心(happy),悲伤(sad),生气(angry),惊讶(surprised),恐惧(fear)...
所有在openai标准之外的参数按原厂格式写在metadata里, 支持所有格式
音色示例: 通过调整emotion参数
请求参数
Authorization
在 Header 添加参数 Authorization,其值为在 Bearer 之后拼接 Token。
Authorization: Bearer ******************Body 参数
Content-Type: application/json
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必需 | 模型 ID。可选用 tts-1(标准)或 tts-1-hd(高清)。 |
| input | string | 必需 | 文本内容。要生成音频的源文本,最大长度限制为 4096 个字符。 |
| voice | string | 必需 | 音色选择。支持的预设音色包括:alloy、echo、fable、onyx、nova、shimmer。 |
| response_format | string | 必需 | 响应格式。默认为 mp3,其他支持格式有 opus、aac、flac。 |
| speed | integer | 必需 | 整体倍速。默认值为 1,可选择 0.25 到 4.0 之间的值。 |
| metadata | object | 必需 | 元数据。用于存储额外的配置或追踪信息。 |
| audio | object | 必需 | 音频对象。包含音频相关的核心配置参数。 |
| enable_emotion | boolean | 必需 | 情感功能开关。是否启用情感渲染。 |
| emotion | string | 必需 | 情感类别。指定具体的情感风格(如 happy, sad, angry 等)。 |
| emotion_scale | integer | 必需 | 情感强度。控制情感表达的强烈程度。 |
请求示例 (JSON)
{
"input": "你是一个好孩子",
"model": "seed-tts-1.1",
"response_format": "mp3",
"speed": 1,
"voice": "zh_female_shuangkuaisisi_emo_v2_mars_bigtts",
"metadata": {
"audio": {
"emotion_scale": 5,
"enable_emotion": true,
"emotion": "happy"
}
}
}返回响应
200 成功
Content-Type: application/json
响应参数
| 参数名 | 类型 | 必填 | 说明 |
|---|---|---|---|
| model | string | 必需 | 模型标识符。指定要使用的语音合成模型版本(例如 tts-1-hd、IndexTeam/IndexTTS-2 等)。 |
| input | string | 必需 | 文本内容。需要转换成语音的原始文字。通常有字符数限制(如最大4096字符),部分接口也支持传入 SSML 格式文本以实现更精细的控制。 |
| voice | string | 必需 | 音色/发音人。指定生成音频时使用的声音角色(例如 alloy、zh-CN-XiaoxiaoNeural 或自定义音色ID)。不同的音色会带来不同的性别、年龄和情感风格。 |
响应示例
{
"model": "tts-1",
"input": "The quick brown fox jumped over the lazy dog.",
"voice": "alloy"
}示例代码
python
import http.client
import json
conn = http.client.HTTPSConnection("nxaiapp.com")
payload = json.dumps({
"input": "你是一个好孩子",
"model": "seed-tts-1.1",
"response_format": "mp3",
"speed": 1,
"voice": "zh_female_shuangkuaisisi_emo_v2_mars_bigtts",
"metadata": {
"audio": {
"emotion_scale": 5,
"enable_emotion": True,
"emotion": "happy"
}
}
})
headers = {
'Authorization': 'Bearer <token>',
'Content-Type': 'application/json'
}
conn.request("POST", "/v1/audio/speech", payload, headers)
res = conn.getresponse()
data = res.read()
print(data.decode("utf-8"))