ElevenLabs
OpenClaw 使用 ElevenLabs 进行文本转语音、使用 Scribe v2 进行批量语音转文本,以及使用 Scribe v2 Realtime 进行流式 STT。该插件已捆绑并默认启用;无需执行 plugins install 步骤。
| 功能 | OpenClaw 接口 | 默认 |
|---|---|---|
| 文本转语音 | tts / talk |
eleven_multilingual_v2 |
| 批量语音转文本 | tools.media.audio |
scribe_v2 |
| 流式语音转文本 | Voice Call 流式或 Google Meet realtime.transcriptionProvider |
scribe_v2_realtime |
身份验证¶
在环境中设置 ELEVENLABS_API_KEY。为兼容现有 ElevenLabs 工具,也接受 XI_API_KEY。
文本转语音¶
{
tts: {
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
voiceId: "pMsXgVXv3BLzUgSXRplE",
modelId: "eleven_multilingual_v2",
},
},
},
}
将 modelId 设置为 eleven_v3 以使用 ElevenLabs v3 TTS。OpenClaw 对现有安装保留 eleven_multilingual_v2 作为默认值。
当 ElevenLabs 是所选的 voice.tts/tts 提供商时,Discord 语音频道会使用 ElevenLabs 的流式 TTS 端点:播放将从返回的音频流开始,而不是等待 OpenClaw 先下载整个音频文件。对于接受该参数的模型,latencyTier 会映射到 ElevenLabs 的 optimize_streaming_latency 查询参数;对于拒绝该参数的 eleven_v3,OpenClaw 会省略该参数。
语音转文本¶
对传入的音频附件和短录音语音片段使用 Scribe v2:
{
tools: {
media: {
models: [{ provider: "elevenlabs", model: "scribe_v2", capabilities: ["audio"] }],
audio: {
enabled: true,
},
},
},
}
OpenClaw 会将 multipart 音频发送到 ElevenLabs /v1/speech-to-text,并附带 model_id: "scribe_v2"。如果存在语言提示,则映射到 language_code。
流式 STT¶
捆绑的 elevenlabs 插件会为 Voice Call 和 Google Meet 代理模式注册 Scribe v2 Realtime 流式转录。
| 设置 | 配置路径 | 默认 |
|---|---|---|
| API 密钥 | plugins.entries.voice-call.config.streaming.providers.elevenlabs.apiKey |
回退到 ELEVENLABS_API_KEY / XI_API_KEY |
| 模型 | ...elevenlabs.modelId |
scribe_v2_realtime |
| 音频格式 | ...elevenlabs.audioFormat |
ulaw_8000 |
| 采样率 | ...elevenlabs.sampleRate |
8000 |
| 提交策略 | ...elevenlabs.commitStrategy |
vad |
| 语言 | ...elevenlabs.languageCode |
(未设置) |
{
plugins: {
entries: {
"voice-call": {
config: {
streaming: {
enabled: true,
provider: "elevenlabs",
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
audioFormat: "ulaw_8000",
commitStrategy: "vad",
languageCode: "en",
},
},
},
},
},
},
},
}
Note
Voice Call 接收的 Twilio 媒体为 8 kHz G.711 u-law。ElevenLabs 实时提供商默认使用 ulaw_8000,因此电话帧可以在不转码的情况下转发。
对于 Google Meet 代理模式,将 plugins.entries.google-meet.config.realtime.transcriptionProvider 设置为 "elevenlabs",并在 plugins.entries.google-meet.config.realtime.providers.elevenlabs 下配置相同的提供商块。
相关¶
本页原文 Markdown:在 AtomGit 查看·内容源自开源项目 cl/openclaw