用途
Doubao 连接器用于接入火山引擎(Volcengine)豆包语音系列 API,面向中文优先的语音合成、语音识别、声音复刻与实时语音场景。适用于需要将文本转语音、把音频转写成文字,或使用自定义复刻音色的开发与集成交互场景。
主要能力
- 文本转语音(TTS):提供 HTTP 分块流式、HTTP SSE、WebSocket 双向与单向等多种调用方式。返回的音频以 base64 分块形式给出,结束帧 code 为 20000000。
- 语音识别(ASR):支持异步文件识别(提交任务后轮询查询)、同步 flash 识别(≤ 2 小时 / ≤ 100 MB),以及 WebSocket 流式识别。
- 声音复刻(Voice Clone):通过参考音频生成自定义说话人,流程包括开通 S_* 说话人、调用 voice_clone、轮询 get_voice 直至成功、再用相应 Resource-Id 合成。
- SSML 支持:可通过 req_params.ssml 传入 SSML 文本,仅 TTS 1.0 与 ICL 1.0 音色支持,根元素为 <speak>,总长度含标签 ≤ 150 字符。
使用方式
需先在 app.vm0.ai/connectors 连接 Doubao 连接器,连接器提供 DOUBAO_API_KEY(来自新版控制台的 UUID API Key)。每次请求到 openspeech.bytedance.com 需携带:
X-Api-Key: $DOUBAO_API_KEY(必填)X-Api-Resource-Id(必填,用于选择模型版本与计费 SKU,必须与说话人系列匹配)X-Api-Request-Id(UUID,可选但建议始终设置)X-Api-Sequence: -1(仅 ASR 文件识别端点)- 响应头
X-Tt-Logid(出错时务必记录,供厂商支持排障)
HTTP 分块 TTS 端点:POST https://openspeech.bytedance.com/api/v3/tts/unidirectional,响应为 text/plain 分块拼接的 JSON(无换行),需用增量 JSON 解码器(如 json.JSONDecoder.raw_decode)而非按行切分。SSE 端点为其下的 /sse 路径。异步文件识别使用 /api/v3/auc/bigmodel/submit 与 /query,通过 X-Api-Status-Code 判断状态(20000001 进行中、20000002 排队、20000000 完成)。流式 ASR 使用 wss://openspeech.bytedance.com/api/v3/sauc/bigmodel{,_nostream,_async},采用自定义二进制帧格式。
常用请求字段(位于 req_params):text、speaker、audio_params.format(mp3/pcm/ogg_opus)、sample_rate、speech_rate、loudness_rate、emotion、enable_subtitle、enable_timestamp,以及 additions 下的 disable_markdown_filter、silence_duration、explicit_language、explicit_dialect、cache_config 等。
适用场景
- 将中文文本批量合成为语音
- 浏览器端流式语音播放(SSE)
- 把实时 LLM 输出接入 TTS(WebSocket 双向)
- 音频文件转写(异步或 flash 同步)
- 自定义音色复刻
限制
- X-Api-Resource-Id 必须与说话人匹配,是错误的首要来源。
- 分块响应为无换行的拼接 JSON,不能按行解析。
- SSML 仅 TTS 1.0 与 ICL 1.0 支持,WebSocket 双向会静默剥离 SSML。
- enable_subtitle 与 enable_timestamp 不可互换,版本不符会被静默忽略。
- 异步长文本 TTS、端到端实时 S2S、播客接口仍需旧控制台双头认证,不在本连接器范围内。
- 厂商服务端 keep-alive 约 1 分钟,高吞吐批量建议复用连接池。
- 不要打印或存储 DOUBAO_API_KEY。
具体收费、价格与平台信息暂未提供。