1. WebSocket 合成
MyVocal AI语音大模型API文档
  • 文字转语音大模型
    • 概览与快速开始
      • 模型介绍
      • 选择模型与接口
      • 支持语言
      • 音频格式与播放
      • 常见问题
      • SDK 与示例
    • 接口参考
      • HTTP 合成
        • HTTP 流式合成
        • HTTP 非流式合成
      • 音色管理
        • 创建声音
        • 获取声音列表
        • 删除声音
      • WebSocket 合成
        • 普通 TTS · 单连接
        • 普通 TTS · 多 Context
        • 多角色对话 · 多 Context
      • 用量与请求查询
        • 查询主key用量
        • Request_id客户端查询
        • 发音人用量查询
      • 子密钥管理
        • 创建子 Key
        • 查询子 Key 列表
        • 获取单个子 Key 详情
        • 更新子 Key
        • 查询子 Key 用量
  • 金融行业定制TTS模型
    • 文字转语音 Skyblight
      • 创建声音
      • 获取声音列表
      • 流式文字转语音
      • 非流式文字转语音
      • 删除声音
      • 用量查询
    • 全双工通信
      • websocket接入说明
      • V2 双向流式合成(WebSocket)
  • 语音转文字ASR
    • 概览与接入
      • 快速开始:文件转录
      • 快速开始:实时转录
      • 模型与能力
      • 更新记录
    • 接口参考
      • 实时转录
      • 创建文件转录
      • 查询用量
  • 企业客户声音定制服务
    • 定制属于你的专属声音
  1. WebSocket 合成

普通 TTS · 单连接

wss://api.voicelibrary.co/enterprise/v1/tts/{voice_id}/websocket
在一条连接内持续发送文本,完成一轮语音合成。
支持模型:multilingual_v2、flash_v2_5。
SDK:Python / Java / Go 下载与示例。

模型支持范围#

使用 V3、V4 或 V3 Turbo 时,请进入多角色对话接口。本页普通 TTS 协议不支持这些模型。

最小交互流程#

建立连接 → 初始化 → 发送文本 → 发送空文本 → 等待 final → 断开连接

接口地址#

自动选择
wss://api.voicelibrary.co/enterprise/v1/tts/{voice_id}/websocket
美国
wss://api.us.voicelibrary.co/enterprise/v1/tts/{voice_id}/websocket
爱尔兰
wss://api.eu.voicelibrary.co/enterprise/v1/tts/{voice_id}/websocket
日本
wss://api.jp.voicelibrary.co/enterprise/v1/tts/{voice_id}/websocket
在路径中替换 {voice_id},并在 WebSocket 握手 Header 中传入:
api-key: <YOUR_API_KEY>
API Key 只能放在 Header 中,不要放入 URL、日志或客户端公开代码。

握手参数#

model_id#

类型:string;必填:是;约束与说明:仅支持 flash_v2_5、multilingual_v2;不支持 myvocal_v3

priority#

类型:string;必填:是;约束与说明:固定为 dedicated_concurrency

format#

类型:string;必填:是;约束与说明:输出音频格式,见页面结构化枚举

idleTimeout#

类型:integer;必填:否;约束与说明:空闲超时秒数,范围 1..180

language_code#

类型:string;必填:否;约束与说明:非空语言代码,例如 en、zh;必须与所选模型实际支持的语言一致

Timestamps#

类型:boolean;必填:否;约束与说明:请求时间戳/对齐信息

directStreaming#

类型:boolean;必填:否;约束与说明:请求直接流式音频;客户端仍须同时兼容 JSON Base64 音频和二进制帧

seed#

类型:integer;必填:否;约束与说明:范围 0..4294967295;相同配置下用于提升生成一致性,不保证音频逐字节相同

auto_mode#

类型:boolean;必填:否;约束与说明:自动实时生成模式
示例:
wss://api.voicelibrary.co/enterprise/v1/tts/{voice_id}/websocket?model_id=flash_v2_5&priority=dedicated_concurrency&format=pcm_16000&idleTimeout=120&language_code=zh

language_code 支持语言#

按模型查看普通 TTS WSS 语言清单。

客户端消息#

1. 初始化#

每条连接只初始化一次。text 省略时等价于单个空格。
{
  "text": " ",
  "previous_text": "上一句,可选",
  "next_text": "下一句,可选",
  "voice_settings": {
    "stability": 0.5,
    "similarity_boost": 0.75,
    "style": 0.3,
    "use_speaker_boost": true
  },
  "generation_config": {
    "synthesisSchedule": [120, 160, 250, 290]
  }
}
stability、similarity_boost、style 的取值范围均为 0..1。generation_config.synthesisSchedule 为正整数数组,用于控制文本累计触发节奏;请根据实际延迟和音质测试选择,不要把示例值当作固定服务端默认值。

2. 发送文本#

{
  "text": "Hello world.",
  "earlyGeneration": false
}
一轮内可发送一个或多个非空文本片段。

3. 正常结束当前事务#

{
  "text": ""
}
发送后等待 isFinal=true 或 is_final=true,表示本轮合成完成。

4. 强制输出缓冲内容#

{
  "text": "",
  "flush": true
}
flush=true 用于输出已缓冲文本,可能只返回音频而不返回 final。要结束本轮合成,请按上一步发送 {"text":""} 并等待 final。

服务端响应#

JSON 音频分片示例:
{
  "audio": "BASE64_AUDIO_DATA",
  "isFinal": false
}
完成帧示例:
{
  "audio": "",
  "isFinal": true
}
audio 为 Base64 音频;启用直接流式时也可能收到二进制帧。
即使 directStreaming=true,当前服务仍可能返回 JSON Base64 音频;必须按实际收到的帧类型处理。
isFinal 和 is_final 都应兼容。
final 帧中的 audio 可以为空、缺失或为 null,仍表示本次事务成功完成。
isFinal=null 不是完成信号。
时间戳/对齐信息可能出现在 timestamps、alignment、normalizedAlignment 或 normalized_alignment。
错误响应可包含 error 和 message。客户端应能处理未列出的错误码,并保留错误信息用于排查。

正确调用顺序#

connect -> initialize -> send text fragment(s) -> {"text":""} -> wait final -> disconnect
请等待 final 后再断开连接;客户端无需主动发送 Ping。服务端可能在 final 后关闭连接,下一轮合成请重新建连。

官方 SDK#

下载 Python、Java、Go SDK。请选本页对应的普通 TTS 单连接 SDK。

完成与关闭说明#

isFinal=true 或 is_final=true 是本轮合成成功的边界。
final 后服务端可能返回 Close 1006,也可能不再发送规范 Close Frame;已经完成的合成仍然有效。
Go SDK 的 Finish 已成功后,如果后续 Close 返回底层连接已关闭的清理错误,不代表本轮合成失败,也不要因此重放文本。
三个 SDK 均不会自动重连或自动重放已经提交的文本。

请求参数

Path 参数

Query 参数

Header 参数

上一页
WebSocket 合成
下一页
普通 TTS · 多 Context
Built with