1. 全双工通信
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接入说明

wss://openapi.myvocal.ai/ai/speech/websocket
查看官方SDK
支持 Java | Python | Go 有中文说明

1
第一步:建立 WebSocket 连接
输入连接地址:
wss://openapi.myvocal.ai/ai/speech/websocket
确认与服务端建立成功的长连接
2
第二步:发送包含 API-Key 的配置消息
在连接建立后,第一条消息必须是配置消息,其中必须包含 API-Key 字段,否则会返回错误:
{
  "API-Key": "your_api_key_here",
  "voice": "your_voice_id",
  "priority": "dedicated_concurrency",
  "extra_info": true
}
必填参数:API-Key | voice | 仅限priority=dedicated_concurrency
💡
可选参数:音频输出格式 format | 采样率sample_rate| 输出语言 language | 附加信息 extra_info: true
3
第三步:发送合成请求内容
在初始化完成后,可以向服务器持续发送待合成的文本,格式为 JSON 对象:
{"text": "Hello, welcome to MyVocal TTS!"}
文本内容可以拆分成多个消息发送,服务端会自动拼接处理。例如以下两种写法等效:
方案一:
{"text": "This is a demonstration of real-time speech synthesis"}
方案二:拆分发送,更快获得首包音频返回
{"text": "This is a demonstration of "}
{"text": "real-time speech synthesis"}
服务端会以流式方式返回音频数据,直至合成结束。
4
第四步:触发即时合成 (Flush)
在正常情况下,WebSocket 会将你逐步发送的文本缓存起来,并在上下文完整时输出更自然的语音。如果你希望立即触发合成,可以发送如下请求:
{
  "flush": true
}
当服务端完成当前缓存文本的合成后,会返回一个包含 buffer_empty 字段的额外信息,表示缓存已清空。
⚠️ 注意:flush 建议在句子结束时使用。如果在句子中间强制触发,语音听起来可能会不够自然。
结束之后可以选择关闭 WebSocket 连接。
音频返回机制
在未使用 flush 参数时,模型会在接收到足够的文本后才开始返回音频。为了保证语音的自然度与上下文的连贯性,模型通常会等待大约 两句话的长度,再触发合成并输出音频。数据以二进制形式传输。
需要立即输出已有文本时,请在句子结束处发送 flush=true,并根据返回的 buffer_empty 判断缓冲文本是否处理完成。

请求参数

无
上一页
全双工通信
下一页
V2 双向流式合成(WebSocket)
Built with