OpenClaw usa ElevenLabs para texto a voz, voz a texto por lotes con Scribe
v2 y STT en streaming con Scribe v2 Realtime. El Plugin está incluido y
habilitado de forma predeterminada; no se necesita ningún paso plugins install.
| Capacidad | Superficie de OpenClaw | Predeterminado |
|---|
| Texto a voz | messages.tts / talk | eleven_multilingual_v2 |
| Voz a texto por lotes | tools.media.audio | scribe_v2 |
| Voz a texto en streaming | Streaming de Voice Call o Google Meet realtime.transcriptionProvider | scribe_v2_realtime |
Autenticación
Define ELEVENLABS_API_KEY en el entorno. También se acepta XI_API_KEY por
compatibilidad con herramientas existentes de ElevenLabs.
export ELEVENLABS_API_KEY="..."
Texto a voz
{
messages: {
tts: {
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
voiceId: "pMsXgVXv3BLzUgSXRplE",
modelId: "eleven_multilingual_v2",
},
},
},
},
}
Define modelId como eleven_v3 para usar TTS v3 de ElevenLabs. OpenClaw mantiene
eleven_multilingual_v2 como valor predeterminado para instalaciones existentes.
Los canales de voz de Discord usan el endpoint de TTS en streaming de ElevenLabs cuando ElevenLabs
es el proveedor voice.tts/messages.tts seleccionado: la reproducción empieza desde el
stream de audio devuelto en lugar de esperar a que OpenClaw descargue primero todo el
archivo de audio. latencyTier se asigna al parámetro de consulta
optimize_streaming_latency de ElevenLabs para los modelos que lo aceptan; OpenClaw omite ese parámetro para
eleven_v3, que lo rechaza.
Voz a texto
Usa Scribe v2 para adjuntos de audio entrantes y segmentos cortos de voz grabada:
{
tools: {
media: {
audio: {
enabled: true,
models: [{ provider: "elevenlabs", model: "scribe_v2" }],
},
},
},
}
OpenClaw envía audio multipart a ElevenLabs /v1/speech-to-text con
model_id: "scribe_v2". Las sugerencias de idioma se asignan a language_code cuando están presentes.
STT en streaming
El Plugin elevenlabs incluido registra Scribe v2 Realtime para Voice Call y
la transcripción en streaming en modo agente de Google Meet.
| Ajuste | Ruta de configuración | Predeterminado |
|---|
| Clave de API | plugins.entries.voice-call.config.streaming.providers.elevenlabs.apiKey | Recurre a ELEVENLABS_API_KEY / XI_API_KEY |
| Modelo | ...elevenlabs.modelId | scribe_v2_realtime |
| Formato de audio | ...elevenlabs.audioFormat | ulaw_8000 |
| Frecuencia de muestreo | ...elevenlabs.sampleRate | 8000 |
| Estrategia de confirmación | ...elevenlabs.commitStrategy | vad |
| Idioma | ...elevenlabs.languageCode | (sin definir) |
{
plugins: {
entries: {
"voice-call": {
config: {
streaming: {
enabled: true,
provider: "elevenlabs",
providers: {
elevenlabs: {
apiKey: "${ELEVENLABS_API_KEY}",
audioFormat: "ulaw_8000",
commitStrategy: "vad",
languageCode: "en",
},
},
},
},
},
},
},
}
Voice Call recibe medios de Twilio como G.711 u-law a 8 kHz. El proveedor realtime
de ElevenLabs usa ulaw_8000 de forma predeterminada, por lo que las tramas de telefonía se pueden reenviar sin
transcodificación.
Para el modo agente de Google Meet, define
plugins.entries.google-meet.config.realtime.transcriptionProvider como
"elevenlabs" y configura el mismo bloque de proveedor en
plugins.entries.google-meet.config.realtime.providers.elevenlabs.
Relacionado