语音引擎

使用 ElevenLabs 为自己的聊天智能体或 LLM 添加语音。

概览

ElevenLabs Speech Engine 可为任何聊天智能体添加语音功能。ElevenLabs 负责语音转文本和文本转语音,服务器则提供 LLM 逻辑。SDK 会管理连接生命周期、轮次交接和打断检测,让你专注于智能体行为。

工作原理

Speech Engine 通过 WebSocket 将服务器连接到 ElevenLabs。每个连接代表一段对话。

  1. 用户在浏览器中说话。ElevenLabs 捕获并转录音频。
  2. 转录文本会连同完整对话历史发送到服务器。
  3. 服务器将转录文本传给 LLM,并流式返回响应。
  4. ElevenLabs 将文本转换为语音,并在浏览器中播放。

何时使用 Speech Engine

Speech Engine 专为希望自带 LLM 并在服务器上控制对话逻辑的开发者设计。适用于以下情况:

  • 为现有的文本聊天智能体添加语音
  • 使用特定 LLM、微调模型或自定义推理流水线
  • 完全掌控对话路由、上下文管理和工具调用
  • 将语音集成到现有服务器应用中(Express、FastAPI 等)

如果需要由 ElevenLabs 提供 LLM、知识库和工具的全托管解决方案,请改用 ElevenAgents。

主要功能

  • 任意 LLM:可使用 OpenAI、Anthropic、Google Gemini 或任何生成文本的模型。SDK 可自动从 OpenAI、Anthropic 和 Gemini 流格式中提取文本。
  • 打断处理:当用户在响应过程中说话时,SDK 会通过 AbortSignal(TypeScript)或任务取消机制(Python)自动取消进行中的 LLM 请求。
  • 流式传输:生成响应时会同步流式传输到浏览器。可传入字符串、异步可迭代对象或原生 LLM 流对象。
  • 轮次交接:SDK 管理对话轮次,因此服务器只需响应转录文本。

IP 允许列表

如果服务器位于防火墙后方或使用基于 IP 的访问控制,可将 ElevenLabs WebSocket 连接来源的静态出口 IP 添加到允许列表。完整 IP 地址列表请参阅 IP 允许列表。

使用 IP 允许列表可确保服务器只接受来自 ElevenLabs 系统的 WebSocket 连接。

常见问题

支持任何生成文本的 LLM。SDK 内置了对 OpenAI(Responses API 和 Chat Completions API)、Anthropic Messages API 和 Google Gemini API 流的提取功能。对于其他提供商,可传入 纯字符串或由字符串块组成的异步可迭代对象。

ElevenAgents 是全托管平台,由 ElevenLabs 提供 LLM、知识库和 工具。Speech Engine 适合希望自带 LLM,并在服务器上控制 对话逻辑的开发者。

在 TypeScript 中,可将 Speech Engine 连接到任意 Node.js HTTP 服务器(Express、Fastify 或 原生 http.createServer()),也可运行独立的 WebSocket 服务器。在 Python 中,SDK 通过 engine.serve() 提供 独立服务器,或可使用 engine.create_session() 与 FastAPI、Starlette 或任意 ASGI 框架集成。