stt-tts de Talk (talk.speak utiliza esta
misma ruta de síntesis). Las sesiones de Talk realtime nativas del proveedor sintetizan
la voz dentro del proveedor en tiempo real; las sesiones transcription nunca
sintetizan una respuesta de voz del asistente.
Inicio rápido
1
Elegir un proveedor
OpenAI y ElevenLabs son las opciones alojadas más fiables. Microsoft y la
CLI local funcionan sin una clave de API. Consulte la matriz de proveedores
para ver la lista completa.
2
Configurar la clave de API
Exporte la variable de entorno de su proveedor (por ejemplo,
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft y la CLI local no necesitan clave.3
Habilitarlo en la configuración
Configure
tts.auto: "always" y tts.provider:4
Probarlo en el chat
/tts status muestra el estado actual. /tts audio Hello from OpenClaw
envía una respuesta de audio puntual.La TTS automática está desactivada de forma predeterminada. Cuando
tts.provider no está definido,
OpenClaw elige el primer proveedor configurado según el orden de selección automática del registro.
La herramienta de agente integrada tts solo responde a intenciones explícitas: el chat normal permanece
en texto, a menos que se solicite audio, se utilice /tts o se habilite la voz
mediante TTS automática o directivas.Proveedores compatibles
Si se configuran varios proveedores, se utiliza primero el seleccionado y los
demás sirven como opciones de respaldo. El resumen automático utiliza
summaryModel (o
agents.defaults.model.primary), por lo que ese proveedor también debe estar autenticado
si se mantienen habilitados los resúmenes.
Configuración
La configuración de TTS se encuentra entts, dentro de ~/.openclaw/openclaw.json. Elija un
preajuste y adapte el bloque del proveedor. Los campos speakerVoice/speakerVoiceId
que se muestran a continuación son los canónicos; los nombres de campo voice/voiceId/
voiceName propios de cada proveedor siguen funcionando como alias heredados.
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- CLI local
- Microsoft (sin clave)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign, omita speakerVoice y establezca style como
la indicación de diseño de voz. OpenClaw envía esa indicación como mensaje user de TTS
y no envía audio.voice para el modelo de diseño de voz.
Sustituciones de voz por agente
Utiliceagents.entries.*.tts cuando un agente deba hablar con un proveedor,
una voz, un modelo, una personalidad o un modo de TTS automática diferentes. El bloque del agente se fusiona de forma recursiva sobre
tts, por lo que las credenciales del proveedor pueden permanecer en la configuración global del proveedor:
agents.entries.*.tts.persona junto con la
configuración del proveedor; esto sustituye el valor global de tts.persona solo para ese agente.
Orden de precedencia para las respuestas automáticas, /tts audio, /tts status y la
herramienta de agente tts:
ttsagents.entries.*.ttsactiva- sustitución del canal, cuando el canal admite
channels.<channel>.tts - sustitución de la cuenta, cuando el canal proporciona
channels.<channel>.accounts.<id>.tts - preferencias locales de
/ttspara este host - directivas
[[tts:...]]insertadas cuando están habilitadas las sustituciones controladas por el modelo
tts y
se combinan de forma profunda sobre las capas anteriores, por lo que las credenciales compartidas del proveedor pueden permanecer en
tts mientras un canal o una cuenta de bot cambia únicamente la voz del hablante, el modelo, la persona
o el modo automático:
Personas
Una persona es una identidad oral estable que puede aplicarse de forma determinista entre proveedores. Puede dar preferencia a un proveedor, definir una intención de instrucción independiente del proveedor y contener vinculaciones específicas del proveedor para voces, modelos, plantillas de instrucciones, semillas y ajustes de voz.Persona mínima
Persona completa (adaptación específica del proveedor)
Resolución de la persona
La persona activa se selecciona de forma determinista:- Preferencia local de
/tts persona <id>, si está configurada. tts.persona, si está configurada.- Sin persona.
- Sustituciones directas (CLI, Gateway, Talk y directivas TTS permitidas).
- Preferencia local de
/tts provider <id>. providerde la persona activa.tts.provider.- Selección automática del registro.
tts.providers.<id>tts.personas.<persona>.providers.<id>- Sustituciones de solicitudes de confianza
- Sustituciones permitidas de directivas TTS emitidas por el modelo
Adaptación personalizada de personas
La configuraciónpersonas.<id>.prompt.* independiente del proveedor está retirada. Doctor elimina
esos campos y remite al punto de integración del proveedor de voz. Coloque la configuración integrada del proveedor
en personas.<id>.providers.<provider> (por ejemplo, personaPrompt de Google
o instructions de OpenAI). Para una adaptación personalizada, implemente un
plugin de proveedor de voz con prepareSynthesis(ctx) y devuelva texto ajustado,
la configuración del proveedor o sustituciones antes de que se ejecute synthesize(). Esto mantiene la construcción
expresiva de instrucciones en el código del proveedor, donde se conoce la semántica de las solicitudes.
Política de reserva
fallbackPolicy controla el comportamiento cuando una persona no tiene ninguna vinculación para el
proveedor que se intenta usar:
La solicitud TTS completa solo falla cuando todos los proveedores que se han intentado se omiten
o fallan.
La selección del proveedor de una sesión de Talk se limita a la sesión. Un cliente de Talk debe elegir
los identificadores de proveedor, modelo y voz, así como las configuraciones regionales, desde
talk.catalog y proporcionarlos
mediante la solicitud de sesión o transferencia de Talk. Abrir una sesión de voz no debe
modificar tts ni los valores predeterminados globales del proveedor de Talk.
Directivas controladas por el modelo
De forma predeterminada, el asistente puede emitir directivas[[tts:...]] para sustituir
la voz, el modelo o la velocidad en una sola respuesta, además de un bloque
[[tts:text]]...[[/tts:text]] opcional para indicaciones expresivas que solo deben aparecer en
el audio:
tts.auto es "tagged", las directivas son obligatorias para activar
el audio. La entrega de bloques por streaming elimina las directivas del texto visible antes de que
el canal las reciba, incluso cuando están divididas entre bloques adyacentes.
provider=... se ignora salvo que modelOverrides.allowProvider: true. Cuando una
respuesta declara provider=..., las demás claves de esa directiva son analizadas
solo por ese proveedor; las claves no admitidas se eliminan y se notifican como advertencias de
directivas TTS.
Claves de directivas disponibles:
provider(identificador de proveedor registrado; requiereallowProvider: true)speakerVoice/speakerVoiceId(alias heredados:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(volumen de MiniMax,(0, 10])pitch(tono entero de MiniMax, de −12 a 12; los valores fraccionarios se truncan)emotion(etiqueta de emoción de Volcengine)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Comandos de barra
Comando único/tts. En Discord, OpenClaw también registra /voice porque
/tts es un comando integrado de Discord; el texto /tts ... sigue funcionando.
Los comandos requieren un remitente autorizado (se aplican las reglas de lista de permitidos/propietario) y debe estar habilitado
commands.text o el registro de comandos nativos./tts onescribe la preferencia local de TTS enalways;/tts offla escribe enoff./tts chat on|off|defaultescribe una sustitución de TTS automático limitada a la sesión para el chat actual./tts persona <id>escribe la preferencia local de persona;/tts persona offla borra./tts latestlee la respuesta más reciente del asistente en la transcripción de la sesión actual y la envía como audio una vez. Solo almacena un hash de esa respuesta en la entrada de la sesión para evitar envíos de voz duplicados./tts audiogenera una respuesta de audio puntual (no activa TTS)./tts limit <chars>acepta 100–4096 (4096 es el máximo de los pies de foto/mensajes de Telegram); los valores fuera de ese intervalo se rechazan.limitysummaryse almacenan en las preferencias locales, no en la configuración principal./tts statusincluye diagnósticos de reserva para el intento más reciente:Fallback: <primary> -> <used>,Attempts: ...y detalles de cada intento (provider:outcome(reasonCode) latency)./statusmuestra el modo TTS activo, además del proveedor, el modelo y la voz configurados, así como los metadatos depurados del endpoint personalizado cuando TTS está habilitado.
Preferencias por usuario
Los comandos de barra escriben las sustituciones locales en la ruta de preferencias de TTS. El valor predeterminado es~/.openclaw/settings/tts.json; sustitúyalo con OPENCLAW_TTS_PREFS. Doctor
mueve el valor global retirado de tts.prefsPath al estado compartido de la máquina.
Las configuraciones avanzadas con varios agentes aún pueden establecer agents.entries.<id>.tts.prefsPath
cuando los agentes usan intencionadamente almacenes de preferencias separados.
Estos valores sustituyen la configuración efectiva de
tts más el bloque
agents.entries.*.tts activo para ese host.
Formatos de salida
La entrega de voz TTS depende de las capacidades del canal. Los plugins de canal anuncian si el TTS con estilo de voz debe solicitar a los proveedores un destinovoice-note nativo o
mantener la síntesis audio-file normal, y si el canal transcodifica
la salida no nativa antes de enviarla.
Notas por proveedor:
- Transcodificación de Feishu / WhatsApp: cuando una respuesta de nota de voz llega como MP3/WebM/WAV/M4A u otro archivo probablemente de audio, el plugin del canal la transcodifica a Ogg/Opus de 48 kHz con
ffmpeg(libopus, 64 kbps) antes de enviar el mensaje de voz nativo. WhatsApp envía el resultado mediante la carga útilaudiode Baileys conptt: trueyaudio/ogg; codecs=opus. Si falla la transcodificación: Feishu captura el error y recurre al envío del archivo original como archivo adjunto simple; WhatsApp no tiene alternativa, por lo que el propio envío falla en lugar de publicar una carga útil PTT incompatible. - MiniMax: MP3 (modelo
speech-2.8-hd, frecuencia de muestreo de 32 kHz) para archivos adjuntos de audio normales; se transcodifica a Opus de 48 kHz conffmpegpara destinos de notas de voz anunciados por el canal. - Xiaomi MiMo: MP3 de forma predeterminada, o WAV cuando se configura; se transcodifica a Opus de 48 kHz con
ffmpegpara destinos de notas de voz anunciados por el canal. - CLI local: utiliza el
outputFormatconfigurado. Los destinos de notas de voz se convierten a Ogg/Opus y la salida de telefonía se convierte a PCM mono sin procesar de 16 kHz conffmpeg. - Google Gemini: devuelve PCM sin procesar de 24 kHz. OpenClaw lo encapsula como WAV para archivos adjuntos de audio, lo transcodifica a Opus de 48 kHz para destinos de notas de voz y devuelve PCM directamente para Conversación/telefonía.
- Gradium: WAV para archivos adjuntos de audio, Opus para destinos de notas de voz y
ulaw_8000a 8 kHz para telefonía. - Inworld: MP3 para archivos adjuntos de audio normales,
OGG_OPUSnativo para destinos de notas de voz yPCMsin procesar a 22050 Hz para Conversación/telefonía. - xAI: MP3 de forma predeterminada; la síntesis de archivos de audio puede usar
mp3,wav,pcm,mulawoalawtanto para la salida almacenada en búfer como para la salida en streaming. Los destinos de notas de voz usan MP3 para el streaming y como alternativa almacenada en búfer, porque las salidaspcm,mulawyalawde xAI son audio sin procesar y sin encabezado. La síntesis almacenada en búfer usa el endpoint REST por lotes/v1/ttsde xAI;textToSpeechStreamusawss://api.x.ai/v1/ttsnativo. Este no es el contrato de voz en tiempo real. No se admite el formato de notas de voz Opus nativo. - Microsoft: utiliza
microsoft.outputFormat(valor predeterminado:audio-24khz-48kbitrate-mono-mp3).- El transporte incluido acepta un
outputFormat, pero no todos los formatos están disponibles en el servicio. - Los valores del formato de salida siguen los formatos de salida de Microsoft Speech (incluidos Ogg/WebM Opus).
- Telegram
sendVoiceacepta OGG/MP3/M4A; use OpenAI/ElevenLabs si necesita mensajes de voz Opus garantizados. - Si falla el formato de salida de Microsoft configurado, OpenClaw vuelve a intentarlo con MP3.
- Cuando no se establece ninguna anulación explícita de voz y se utiliza la voz inglesa predeterminada, OpenClaw cambia automáticamente a una voz neuronal china (
zh-CN-XiaoxiaoNeural, configuración regionalzh-CN) si el texto de la respuesta contiene predominantemente caracteres CJK.
- El transporte incluido acepta un
Comportamiento de TTS automático
Cuandotts.auto está habilitado, OpenClaw:
- Omite TTS si la respuesta ya contiene contenido multimedia estructurado.
- Omite las respuestas muy cortas (menos de 10 caracteres).
- Resume las respuestas largas cuando los resúmenes están habilitados, mediante
summaryModel(oagents.defaults.model.primary). - Adjunta el audio generado a la respuesta.
- En
mode: "final", sigue enviando TTS de solo audio para las respuestas finales transmitidas una vez completado el flujo de texto; el contenido multimedia generado pasa por la misma normalización multimedia del canal que los archivos adjuntos de respuesta normales.
maxLength, OpenClaw nunca omite el audio por completo:
- Resumen activado (predeterminado) y hay disponible un modelo de resumen: resume el
texto a aproximadamente
maxLengthcaracteres y, a continuación, sintetiza el resumen. - Resumen desactivado, falla el resumen o no hay ninguna clave de API disponible para el
modelo de resumen: trunca el texto a
maxLengthcaracteres y sintetiza el texto truncado.
Referencia de campos
tts.* de nivel superior
tts.* de nivel superior
"off" | "always" | "inbound" | "tagged"
Modo de TTS automático.
inbound solo envía audio después de un mensaje de voz entrante; tagged solo envía audio cuando la respuesta incluye directivas [[tts:...]] o un bloque [[tts:text]].boolean
obsoleto
Opción heredada.
openclaw doctor --fix la migra a auto."final" | "all"
predeterminado:"final"
"all" incluye respuestas de herramientas/bloques además de las respuestas finales.string
Identificador del proveedor de voz. Cuando no se establece, OpenClaw utiliza el primer proveedor configurado según el orden de selección automática del registro.
openclaw doctor --fix reescribe el valor heredado provider: "edge" como "microsoft".string
Identificador de la personalidad activa de
personas. Se normaliza a minúsculas.object
Identidad de voz estable. Campos:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Consulte Personalidades.string
Modelo económico para el resumen automático; el valor predeterminado es
agents.defaults.model.primary. Acepta provider/model o un alias de modelo configurado.object
Permite que el modelo emita directivas TTS. El valor predeterminado de
enabled es true; el valor predeterminado de allowProvider es false.object
Ajustes propiedad del proveedor, indexados por el identificador del proveedor de voz.
openclaw doctor --fix reescribe los bloques directos heredados (tts.openai, .elevenlabs, .microsoft, .edge); confirme únicamente tts.providers.<id>.number
predeterminado:"4096"
Límite estricto de caracteres de entrada para TTS.
/tts audio, tts.convert y tts.speak fallan si se supera.number
predeterminado:"30000"
Tiempo de espera de la solicitud en milisegundos. Un
timeoutMs por llamada (herramienta del agente, Gateway) tiene prioridad cuando se establece; de lo contrario, un tts.timeoutMs configurado explícitamente tiene prioridad sobre cualquier valor predeterminado del proveedor definido por el plugin.apiKey del proveedor pueden ser cadenas sin procesar o SecretRefs. Durante el arranque en frío del Gateway,
una SecretRef de TTS no disponible marca la capacidad de TTS integrada como
configurada pero no disponible, en lugar de detener el Gateway. A continuación, tts.speak devuelve
UNAVAILABLE con el motivo SECRET_SURFACE_UNAVAILABLE, y no se envía ninguna solicitud
al proveedor. El estado y doctor muestran el propietario de TTS degradado y sus rutas de configuración. Las
referencias explícitas permanecen en la instantánea del entorno de ejecución, por lo que las credenciales
del entorno o del perfil no pueden seleccionar silenciosamente una cuenta distinta. Las recargas y la comprobación previa
de escritura de configuración aplican la política de degradación que tiene en cuenta al propietario: un propietario de TTS
apto y sin cambios puede conservar como obsoletas sus últimas credenciales válidas conocidas, mientras que un fallo nuevo
o modificado pasa a estar en frío sin bloquear a los propietarios en buen estado. Las referencias
estructuralmente no válidas y los valores resueltos siguen haciendo que el arranque falle o que se rechace la actualización.Azure Speech
Azure Speech
string
Entorno:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY o SPEECH_KEY.string
Región de Azure Speech (p. ej.,
eastus). Entorno: AZURE_SPEECH_REGION o SPEECH_REGION.string
Anulación opcional del endpoint de Azure Speech (alias
baseUrl).string
ShortName de la voz de Azure. Valor predeterminado:
en-US-JennyNeural. Alias heredado: voice.string
Código de idioma SSML. Valor predeterminado:
en-US.string
X-Microsoft-OutputFormat de Azure para audio estándar. Valor predeterminado: audio-24khz-48kbitrate-mono-mp3.string
X-Microsoft-OutputFormat de Azure para la salida de notas de voz. Valor predeterminado: ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
string
Recurre a
ELEVENLABS_API_KEY o XI_API_KEY.string
Identificador del modelo. Valor predeterminado:
eleven_multilingual_v2. Los identificadores heredados eleven_turbo_v2_5/eleven_turbo_v2 se normalizan al modelo flash correspondiente.string
Identificador de voz de ElevenLabs. Valor predeterminado:
pMsXgVXv3BLzUgSXRplE. Alias heredado: voiceId.object
stability, similarityBoost, style (cada uno 0..1, valores predeterminados 0.5/0.75/0), useSpeakerBoost (true|false, valor predeterminado true), speed (0.5..2.0, valor predeterminado 1.0)."auto" | "on" | "off"
Modo de normalización de texto.
string
ISO 639-1 de 2 letras (p. ej.,
en, de).number
Entero
0..4294967295 para lograr determinismo en la medida de lo posible.string
Anula la URL base de la API de ElevenLabs.
Google Gemini
Google Gemini
string
Recurre a
GEMINI_API_KEY / GOOGLE_API_KEY. Si se omite, TTS puede reutilizar models.providers.google.apiKey antes de recurrir a las variables de entorno.string
Modelo TTS de Gemini. Valor predeterminado:
gemini-3.1-flash-tts-preview.string
Nombre de voz predefinida de Gemini. Valor predeterminado:
Kore. Alias heredados: voiceName, voice.string
Indicación de estilo en lenguaje natural que se antepone al texto hablado.
string
Etiqueta opcional del hablante que se antepone al texto hablado cuando la indicación utiliza un hablante con nombre.
"audio-profile-v1"
Establézcalo en
audio-profile-v1 para envolver los campos de indicación de la persona activa en una estructura determinista de indicación TTS de Gemini.string
Texto adicional específico de Google para la indicación de la persona, que se agrega a las notas del director de la plantilla.
string
Solo se acepta
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Principal de Inworld
string
Variable de entorno:
INWORLD_API_KEY.string
Valor predeterminado:
https://api.inworld.ai.string
Valor predeterminado:
inworld-tts-1.5-max. También: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.string
Valor predeterminado:
Sarah. Alias heredado: voiceId.number
Temperatura de muestreo
0..2 (sin incluir 0).CLI local (tts-local-cli)
CLI local (tts-local-cli)
string
Ejecutable local o cadena de comando para TTS mediante CLI.
string[]
Argumentos del comando. Admite los marcadores de posición
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}."mp3" | "opus" | "wav"
Formato de salida esperado de la CLI. Valor predeterminado:
mp3 para archivos adjuntos de audio.number
Tiempo de espera del comando en milisegundos. Valor predeterminado:
120000.string
Directorio de trabajo opcional del comando.
Record<string, string>
Modificaciones opcionales del entorno para el comando.
Microsoft (sin clave de API)
Microsoft (sin clave de API)
boolean
predeterminado:"true"
Permite el uso de voz de Microsoft.
string
Nombre de la voz neuronal de Microsoft (p. ej.,
en-US-MichelleNeural). Alias heredado: voice. Si está activa la voz inglesa predeterminada y el texto de respuesta es predominantemente CJK, OpenClaw cambia automáticamente a zh-CN-XiaoxiaoNeural.string
Código de idioma (p. ej.,
en-US).string
Formato de salida de Microsoft. Valor predeterminado:
audio-24khz-48kbitrate-mono-mp3. El transporte incluido basado en Edge no admite todos los formatos.string
Cadenas de porcentajes (p. ej.,
+10%, -5%).boolean
Escribe subtítulos JSON junto al archivo de audio.
string
URL del proxy para las solicitudes de voz de Microsoft.
number
Modificación del tiempo de espera de la solicitud (ms).
object
obsoleto
Alias heredado. Ejecute
openclaw doctor --fix para reescribir la configuración persistente como providers.microsoft.MiniMax
MiniMax
string
Recurre a
MINIMAX_API_KEY. Autenticación del plan de tokens mediante MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY o MINIMAX_CODING_API_KEY.string
Valor predeterminado:
https://api.minimax.io. Variable de entorno: MINIMAX_API_HOST.string
Valor predeterminado:
speech-2.8-hd. Variable de entorno: MINIMAX_TTS_MODEL.string
Valor predeterminado:
English_expressive_narrator. Variable de entorno: MINIMAX_TTS_VOICE_ID. Alias heredado: voiceId.number
0.5..2.0. Valor predeterminado: 1.0.number
(0, 10]. Valor predeterminado: 1.0.number
Entero
-12..12. Valor predeterminado: 0. Los valores fraccionarios se truncan antes de la solicitud.OpenAI
OpenAI
string
Recurre a
OPENAI_API_KEY.string
Identificador del modelo TTS de OpenAI. Valor predeterminado:
gpt-4o-mini-tts.string
Nombre de la voz (p. ej.,
alloy, cedar). Valor predeterminado: coral. Alias heredado: voice.string
Campo explícito
instructions de OpenAI. Cuando se establece, los campos de indicación de la persona no se asignan automáticamente.Record<string, unknown>
Campos JSON adicionales que se combinan en los cuerpos de solicitud
/audio/speech después de los campos TTS de OpenAI generados. Utilícelo para endpoints compatibles con OpenAI, como Kokoro, que requieren claves específicas del proveedor como lang; las claves de prototipo inseguras se ignoran.string
Modifica el endpoint TTS de OpenAI. Orden de resolución: configuración →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Los valores no predeterminados se tratan como endpoints TTS compatibles con OpenAI, por lo que se aceptan nombres personalizados de modelos y voces, y speed pierde su comprobación del intervalo 0.25..4.0.OpenRouter
OpenRouter
string
Variable de entorno:
OPENROUTER_API_KEY. Puede reutilizar models.providers.openrouter.apiKey.string
Valor predeterminado:
https://openrouter.ai/api/v1. El valor heredado https://openrouter.ai/v1 se normaliza.string
Valor predeterminado:
hexgrad/kokoro-82m. Alias: modelId.string
Valor predeterminado:
af_alloy. Alias heredados: voice, voiceId."mp3" | "pcm"
Valor predeterminado:
mp3.number
Modificación de velocidad nativa del proveedor.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
string
Variable de entorno:
VOLCENGINE_TTS_API_KEY o BYTEPLUS_SEED_SPEECH_API_KEY.string
Valor predeterminado:
seed-tts-1.0. Variable de entorno: VOLCENGINE_TTS_RESOURCE_ID. Utilice seed-tts-2.0 cuando el proyecto tenga derecho de uso de TTS 2.0.string
Encabezado de clave de la aplicación. Valor predeterminado:
aGjiRDfUWi. Variable de entorno: VOLCENGINE_TTS_APP_KEY.string
Modifica el endpoint HTTP de TTS de Seed Speech. Variable de entorno:
VOLCENGINE_TTS_BASE_URL.string
Tipo de voz. Valor predeterminado:
en_female_anna_mars_bigtts. Variable de entorno: VOLCENGINE_TTS_VOICE. Alias heredado: voice.number
Relación de velocidad nativa del proveedor,
0.2..3.string
Etiqueta de emoción nativa del proveedor.
string
obsoleto
Campos heredados de Volcengine Speech Console. Variables de entorno:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (valor predeterminado: volcano_tts).xAI
xAI
string
Variable de entorno:
XAI_API_KEY.string
Valor predeterminado:
https://api.x.ai/v1. Variable de entorno: XAI_BASE_URL.string
Valor predeterminado:
eve. Con autenticación, openclaw infer tts voices --provider xai obtiene el catálogo integrado actual; sin autenticación, enumera las alternativas sin conexión ara, eve, leo, rex y sal. Los identificadores de voces personalizadas de la cuenta se reenvían aunque no aparezcan en la lista integrada. Alias heredado: voiceId.string
Código de idioma BCP-47 o
auto. Valor predeterminado: en."mp3" | "wav" | "pcm" | "mulaw" | "alaw"
Valor predeterminado:
mp3.number
Modificación de velocidad nativa del proveedor,
0.7..1.5.Xiaomi MiMo
Xiaomi MiMo
string
Variable de entorno:
XIAOMI_API_KEY.string
Valor predeterminado:
https://api.xiaomimimo.com/v1. Variable de entorno: XIAOMI_BASE_URL.string
Valor predeterminado:
mimo-v2.5-tts. Variable de entorno: XIAOMI_TTS_MODEL. También admite mimo-v2.5-tts-voicedesign.string
Valor predeterminado:
mimo_default para modelos de voz predefinida. Variable de entorno: XIAOMI_TTS_VOICE. Alias heredado: voice. No se envía para mimo-v2.5-tts-voicedesign."mp3" | "wav"
Valor predeterminado:
mp3. Variable de entorno: XIAOMI_TTS_FORMAT.string
Instrucción de estilo opcional en lenguaje natural que se envía como mensaje del usuario; no se pronuncia. Para
mimo-v2.5-tts-voicedesign, esta es la indicación de diseño de voz; OpenClaw proporciona un valor predeterminado cuando se omite.Herramienta del agente
La herramientatts convierte texto en voz y devuelve un archivo adjunto de audio para
entregar la respuesta. En Feishu, Matrix, Telegram y WhatsApp, el audio se
entrega como mensaje de voz en lugar de como archivo adjunto. Feishu y
WhatsApp pueden transcodificar la salida TTS que no sea Opus en esta ruta cuando
ffmpeg está disponible.
WhatsApp envía el audio mediante Baileys como una nota de voz PTT (audio con
ptt: true) y envía el texto visible por separado del audio PTT porque
los clientes no muestran de forma uniforme los pies de texto en las notas de voz.
La herramienta acepta los campos opcionales channel y timeoutMs; timeoutMs es un
tiempo de espera por llamada para la solicitud al proveedor, en milisegundos. Los valores por llamada
sustituyen a tts.timeoutMs; los tiempos de espera de TTS configurados sustituyen cualquier valor
predeterminado del proveedor definido por el Plugin.
RPC del Gateway
Enlaces de servicios
- Guía de texto a voz de OpenAI
- Referencia de la API de audio de OpenAI
- Texto a voz mediante REST de Azure Speech
- Proveedor de Azure Speech
- Texto a voz de ElevenLabs
- Autenticación de ElevenLabs
- Gradium
- API de TTS de Inworld
- API MiniMax T2A v2
- API HTTP de TTS de Volcengine
- Síntesis de voz de Xiaomi MiMo
- node-edge-tts
- Formatos de salida de voz de Microsoft
- Texto a voz de xAI