功能描述
希望 AstrBot 的火山引擎 TTS Provider 增加对新版“音频生成 HTTP API”的支持。
官方文档:
https://docs.volcengine.com/docs/6561/2550782?lang=zh
目前 AstrBot 中的 volcengine_tts 使用旧版接口:
- 请求地址:
https://openspeech.bytedance.com/api/v1/tts
- 鉴权方式:
Authorization: Bearer; <api_key>
- 配置参数:
AppID、cluster、voice_type 等
- 响应中读取
data 字段中的 Base64 音频
新版接口的主要区别如下:
- 请求地址:
POST https://openspeech.bytedance.com/api/v3/tts/create
- 新版控制台使用请求头
X-Api-Key 鉴权,不再需要 AppID 和 cluster
- 请求体使用
model、text_prompt、references 和 audio_config
- 当前文档中的模型为
seed-audio-1.0
- 可通过
references[].speaker 指定豆包语音合成模型 2.0 或声音复刻音色
- 响应可能包含 Base64 编码的
audio,或者具有有效期的音频 url
建议保留现有旧版接口,以避免影响已有用户,同时通过以下任一方式增加新版接口:
- 新增独立的“火山引擎音频生成 HTTP API” TTS Provider;或
- 在现有火山引擎 TTS Provider 中增加“API 版本/协议类型”选项。
建议第一阶段至少支持以下配置:
- API Key
- API Base,默认
https://openspeech.bytedance.com/api/v3/tts/create
- Model,默认
seed-audio-1.0
- Speaker ID(可选)
- 输出格式,默认
mp3
- Sample Rate
- Speech Rate
- Loudness Rate
- Pitch Rate
- Timeout
在普通 TTS 场景中,可以将 AstrBot 传入的待合成文本映射到 text_prompt;配置了 Speaker ID 时,将其放入:
{
"references": [
{
"speaker": "<speaker_id>"
}
]
}
建议同时兼容新版接口响应中的 audio 和 url:
存在 audio 时,进行 Base64 解码并保存为临时音频文件;
仅存在 url 时,下载音频到 AstrBot 临时目录后返回文件路径。
参考请求:
{
"model": "seed-audio-1.0",
"text_prompt": "需要合成的文本",
"references": [
{
"speaker": "<speaker_id>"
}
],
"audio_config": {
"format": "mp3",
"sample_rate": 48000,
"pitch_rate": 0,
"speech_rate": 0,
"loudness_rate": 0
},
"watermark": {}
}
使用场景
火山引擎新版控制台推荐使用 X-Api-Key 鉴权,并提示旧版控制台后续会下线。当前 AstrBot 的火山引擎 TTS Provider 仍按照旧接口的 AppID + cluster + token 方式配置,使用新版控制台创建的 API Key 时无法直接接入。
增加新版接口后,可以:
- 直接使用新版控制台生成的 API Key;
- 使用
seed-audio-1.0 音频生成模型;
- 使用豆包语音合成模型 2.0 的音色或声音复刻音色;
- 在保留旧版 Provider 兼容性的同时,为新用户提供推荐的接入方式;
- 避免旧版控制台下线后,现有火山引擎 TTS Provider 缺少可用的新接入方案。
初期只需支持“文本 + Speaker ID”的常规 TTS 场景即可,参考音频、参考图片、字幕和复杂 Prompt 等高级能力可以后续再扩展。
使用场景
No response
检查清单
功能描述
希望 AstrBot 的火山引擎 TTS Provider 增加对新版“音频生成 HTTP API”的支持。
官方文档:
https://docs.volcengine.com/docs/6561/2550782?lang=zh
目前 AstrBot 中的
volcengine_tts使用旧版接口:https://openspeech.bytedance.com/api/v1/ttsAuthorization: Bearer; <api_key>AppID、cluster、voice_type等data字段中的 Base64 音频新版接口的主要区别如下:
POST https://openspeech.bytedance.com/api/v3/tts/createX-Api-Key鉴权,不再需要AppID和clustermodel、text_prompt、references和audio_configseed-audio-1.0references[].speaker指定豆包语音合成模型 2.0 或声音复刻音色audio,或者具有有效期的音频url建议保留现有旧版接口,以避免影响已有用户,同时通过以下任一方式增加新版接口:
建议第一阶段至少支持以下配置:
https://openspeech.bytedance.com/api/v3/tts/createseed-audio-1.0mp3在普通 TTS 场景中,可以将 AstrBot 传入的待合成文本映射到
text_prompt;配置了 Speaker ID 时,将其放入:{ "references": [ { "speaker": "<speaker_id>" } ] }建议同时兼容新版接口响应中的 audio 和 url:
存在 audio 时,进行 Base64 解码并保存为临时音频文件;
仅存在 url 时,下载音频到 AstrBot 临时目录后返回文件路径。
参考请求:
{ "model": "seed-audio-1.0", "text_prompt": "需要合成的文本", "references": [ { "speaker": "<speaker_id>" } ], "audio_config": { "format": "mp3", "sample_rate": 48000, "pitch_rate": 0, "speech_rate": 0, "loudness_rate": 0 }, "watermark": {} }使用场景
火山引擎新版控制台推荐使用
X-Api-Key鉴权,并提示旧版控制台后续会下线。当前 AstrBot 的火山引擎 TTS Provider 仍按照旧接口的AppID + cluster + token方式配置,使用新版控制台创建的 API Key 时无法直接接入。增加新版接口后,可以:
seed-audio-1.0音频生成模型;初期只需支持“文本 + Speaker ID”的常规 TTS 场景即可,参考音频、参考图片、字幕和复杂 Prompt 等高级能力可以后续再扩展。
使用场景
No response
检查清单