文本转语音 (doubao-tts) — OpenAI 格式
POST
/v1/audio/speech调用 doubao-tts 将文本合成为自然流畅的语音,兼容 OpenAI TTS API。
Bearer Token
模型介绍
doubao-tts 是火山引擎豆包团队推出的文本转语音模型,提供多种音色,中文表现自然流畅,支持多语种混合、情感控制与流式输出。
支持模型
| 模型 | 采样率 | 流式 | 说明 |
|---|---|---|---|
doubao-tts | 24 kHz | ✅ | 默认音色 + 多音色可选 |
内置音色
| voice | 语气 | 示例场景 |
|---|---|---|
zh_female_wanwan | 温柔女声 | 客服、陪伴 |
zh_male_M392_conversation | 沉稳男声 | 新闻、解说 |
zh_female_qingxin | 清新女声 | 短视频配音 |
zh_male_xiaonan | 活泼男声 | 游戏角色 |
请求参数
doubao-tts 请求参数
| 参数 | 类型 | 必填 | 默认值 | 描述 |
|---|---|---|---|---|
| model | string | 是 | - | 模型名称:doubao-tts |
| input | string | 是 | - | 待合成文本;单次最大 1000 字符 |
| voice | string | 是 | - | 音色,如 zh_female_wanwan、zh_male_M392_conversation 等 |
| response_format | string | 否 | mp3 | 输出格式:mp3 / opus / aac / flac / wav / pcm |
| speed | number | 否 | 1.0 | 语速,范围 0.5~2.0 |
| stream | boolean | 否 | false | 是否流式返回(SSE,Base64 分片) |
请求示例
bash
curl -X POST /v1/audio/speech \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "doubao-tts",
"input": "你好,欢迎使用语音合成服务。",
"voice": "zh_female_wanwan",
"response_format": "mp3"
}' \
--output speech.mp3流式 TTS 示例
python
from openai import OpenAI
client = OpenAI(base_url="/v1", api_key="<YOUR_API_KEY>")
with client.audio.speech.with_streaming_response.create(
model="doubao-tts",
input="这是一段需要流式播放的长文本……",
voice="zh_male_M392_conversation",
stream=True,
) as resp:
for chunk in resp.iter_bytes():
# 推送到音频播放器
audio_player.write(chunk)响应示例
- 非流式:响应 body 即为音频二进制,
Content-Type: audio/mpeg。 - 流式:响应为 SSE 流,每条
data:为 Base64 编码的音频分片,最后一条为data: [DONE]。
注意事项
- 单次请求文本最大 1000 字符,更长文本请分段合成。
speed推荐范围 0.5~2.0;超出范围音质会下降。pcm格式返回原始 PCM 数据(24 kHz / 16-bit / mono),无文件头,需自行封装 WAV。- 流式模式适合实时对话、有声书朗读等场景;非流式适合预生成配音。
- 计费按输入字符数(中文按字,英文按字符)。
