SeedTTS 2.0 语音合成 API 文档
将文本合成为自然、富有表现力的语音。SeedTTS 2.0 基于豆包大语言模型重构语音合成架构, 合成语音能「理解」文本背后的语义与情感,在对话助手、情感陪伴、有声内容配音等场景提供 更真实的表现力,并攻克教育场景下复杂公式与符号朗读准确率低的难题。
模型:SeedTTS 2.0(状态加载中…)
概述
快速开始
所有 API 调用使用 HTTPS,并通过 Authorization: Bearer <API Key>
进行身份认证。API Key 可在「API Key」页面创建(完整内容仅创建时显示一次)。
最小可用请求只需 model 与 text 两个字段。
curl https://ldbapi.com/api/v1/audio/speech \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "SeedTTS 2.0", "text": "你好,欢迎使用 BIGAPI。"}' \
--output speech.mp3
提示:text 为必填字段(计费依据)。响应为二进制音频, 用 --output 或写入文件的方式保存为 .mp3。
请求参数
| 参数 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| model | string | 是 | — | 模型名称:SeedTTS 2.0 |
| text | string | 是 | — | 要合成的文本(计费依据:按文本字符数计费) |
| speaker | string | 否 | zh_female_vv_uranus_bigtts | 音色 ID(2.0 系列音色,如 zh_female_vv_uranus_bigtts / zh_female_xiaohe_uranus_bigtts 等) |
| format | string | 否 | mp3 | 音频格式:mp3 / pcm / ogg_opus |
| sample_rate | number | 否 | 24000 | 采样率:8000 / 16000 / 22050 / 24000 / 32000 / 44100 / 48000 |
| speech_rate | number | 否 | 0 | 语速(-50~100),100 表示 2 倍速,-50 表示 0.5 倍速 |
| loudness_rate | number | 否 | 0 | 音量(-50~100),100 表示 2 倍音量 |
计费说明
本模型按文本字符数计费(每千字符):费用 = 文本字符数 × 单价 ÷ 1000。 字符数以请求体 text 字段为准(提交前计量),与音频实际时长无关; 任务失败不扣费。计费从账户余额中实时扣除,账户余额不足时请求会被拒绝(402)。
| 项目 | 数值 | 参考费用(元) | 说明 |
|---|---|---|---|
| 价格加载中… | |||
价格为平台实时配置,以实际扣费为准;账户余额不足时请求会被拒绝(402)。
请求示例
POST /api/v1/audio/speech
Content-Type: application/json
{
"model": "SeedTTS 2.0",
"text": "欢迎使用 BIGAPI,一个 API Key 接入全球 AI 模型。",
"speaker": "zh_female_vv_uranus_bigtts",
"format": "mp3",
"sample_rate": 24000,
"speech_rate": 0,
"loudness_rate": 0
}
响应示例
成功时返回 200 状态码,响应体为二进制音频(默认 Content-Type: audio/mpeg),直接保存为 .mp3 文件即可播放。
HTTP/1.1 200 OK Content-Type: audio/mpeg Content-Length: 48213 (二进制音频字节,保存为 speech.mp3)
- · 响应头 Content-Type 随 format 变化(mp3 → audio/mpeg、ogg_opus → audio/ogg、pcm → audio/pcm)
- · 任务失败时返回 error 信封(错误码见下方),不扣费
代码示例
以下示例均可直接调用。将 YOUR_API_KEY 替换为你的 API Key。
cURL(保存为 mp3 文件)
curl https://ldbapi.com/api/v1/audio/speech \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model": "SeedTTS 2.0", "text": "你好,欢迎使用 BIGAPI。"}' \
--output speech.mp3
Python
import requests
resp = requests.post(
"https://ldbapi.com/api/v1/audio/speech",
headers={"Authorization": "Bearer YOUR_API_KEY"},
json={
"model": "SeedTTS 2.0",
"text": "你好,欢迎使用 BIGAPI。",
"speaker": "zh_female_vv_uranus_bigtts",
"format": "mp3",
},
)
if resp.status_code == 200:
with open("speech.mp3", "wb") as f:
f.write(resp.content)
print("已保存 speech.mp3")
else:
print(resp.json()) # 错误时返回 {"error": {...}}
JavaScript (fetch,下载为 mp3)
const resp = await fetch("https://ldbapi.com/api/v1/audio/speech", {
method: "POST",
headers: {
"Authorization": "Bearer YOUR_API_KEY",
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "SeedTTS 2.0",
text: "你好,欢迎使用 BIGAPI。",
format: "mp3",
}),
});
if (resp.ok) {
const blob = await resp.blob();
const url = URL.createObjectURL(blob);
const a = document.createElement("a");
a.href = url;
a.download = "speech.mp3";
a.click();
URL.revokeObjectURL(url);
} else {
console.error(await resp.json());
}
错误码
| HTTP | code | 说明 |
|---|---|---|
| 400 | BAD_REQUEST | 请求参数不合法(如缺少 text 字段、请求体格式错误) |
| 400 | MODEL_MISSING_IN_BODY | 请求体中缺少 model 字段 |
| 401 | INVALID_API_KEY | API Key 无效或已停用 |
| 402 | BALANCE_INSUFFICIENT | 账户余额不足 |
| 404 | MODEL_NOT_FOUND | 模型不存在 |
| 429 | RATE_LIMITED | 请求频率超限,请稍后重试 |
| 502 | INTERNAL_ERROR | 上游语音合成服务异常(不扣费) |
| 503 | MODEL_UNAVAILABLE | 模型停用或维护中,请稍后重试 |
| 503 | CONCURRENCY_LIMIT | 模型并发已满,请稍后重试 |
错误响应统一为 {"error": {"code": "...", "message": "...", "request_id": "..."}} 格式。
注意事项
- · model 与 text 为必填字段:缺少 text 会返回 400 且不扣费
- · 计费按请求体 text 字符数计算(费用 = 字符数 × 单价 ÷ 1000),与音频实际时长无关——长文本费用更高,请按需提交
- · 响应为二进制音频(默认 mp3),需用 --output 或写入文件的方式保存,不能直接打印
- · speaker 为音色 ID,默认 zh_female_vv_uranus_bigtts;换用其他音色前请确认其为 2.0 系列音色(与模型资源版本匹配)
- · format 支持 mp3 / pcm / ogg_opus;pcm 为原始裸音频(无文件头),播放器需自行指定采样率与位深
- · speech_rate / loudness_rate 取值范围均为 -50~100,0 表示原速/原音量
- · 本模型为同步接口:请求提交后平台内部完成流式合成并拼接,响应时间随文本长度增加,请在客户端设置合理的超时时间(建议 ≥60 秒)
- · 任务失败不扣费,请按返回的 error.code 处理重试