stt-tts de Talk (talk.speak llama a esta
misma ruta de síntesis). En cambio, 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
Pick a provider
OpenAI y ElevenLabs son las opciones alojadas más fiables. Microsoft y
Local CLI funcionan sin una clave de API. Consulta la matriz de proveedores
para ver la lista completa.
Set the API key
Exporta la variable de entorno para tu proveedor (por ejemplo
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft y Local CLI no necesitan clave.Auto-TTS está desactivado de forma predeterminada. Cuando
messages.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 tts integrada es solo para intención explícita: el chat normal permanece
en texto salvo que el usuario pida audio, use /tts o active Auto-TTS/voz por directiva.Proveedores compatibles
| Proveedor | Autenticación | Notas |
|---|---|---|
| Azure Speech | AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (también AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) | Salida nativa de notas de voz Ogg/Opus y telefonía. |
| DeepInfra | DEEPINFRA_API_KEY | TTS compatible con OpenAI. Usa hexgrad/Kokoro-82M de forma predeterminada. |
| ElevenLabs | ELEVENLABS_API_KEY o XI_API_KEY | Clonación de voz, multilingüe, determinista mediante seed; transmitido para reproducción de voz en Discord. |
| Google Gemini | GEMINI_API_KEY o GOOGLE_API_KEY | TTS por lotes de la API Gemini; consciente de la personalidad mediante promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Salida de notas de voz y telefonía. |
| Inworld | INWORLD_API_KEY | API de TTS en streaming. Notas de voz Opus nativas y telefonía PCM. |
| Local CLI | ninguna | Ejecuta un comando local de TTS configurado. |
| Microsoft | ninguna | TTS neuronal público de Edge mediante node-edge-tts. De mejor esfuerzo, sin SLA. |
| MiniMax | MINIMAX_API_KEY (o plan Token: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) | API T2A v2. Usa speech-2.8-hd de forma predeterminada. |
| OpenAI | OPENAI_API_KEY | También se usa para el resumen automático; admite instructions de personalidad. |
| OpenRouter | OPENROUTER_API_KEY (puede reutilizar models.providers.openrouter.apiKey) | Modelo predeterminado hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY o BYTEPLUS_SEED_SPEECH_API_KEY (AppID/token heredados: VOLCENGINE_TTS_APPID/_TOKEN) | API HTTP de BytePlus Seed Speech. |
| Vydra | VYDRA_API_KEY | Proveedor compartido de imagen, video y voz. |
| xAI | XAI_API_KEY | TTS por lotes de xAI. La nota de voz Opus nativa no es compatible. |
| Xiaomi MiMo | XIAOMI_API_KEY | TTS de MiMo mediante completaciones de chat de Xiaomi. |
summaryModel (o
agents.defaults.model.primary), por lo que ese proveedor también debe estar autenticado
si mantienes habilitados los resúmenes.
Configuración
La configuración de TTS está enmessages.tts dentro de ~/.openclaw/openclaw.json. Elige un
preajuste y adapta el bloque del proveedor. Los campos speakerVoice/speakerVoiceId
que se muestran abajo son canónicos; los nombres de campo propios de cada proveedor voice/voiceId/
voiceName siguen funcionando como alias heredados.
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Local CLI
- Microsoft (no key)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign, omite speakerVoice y define style como
el prompt de diseño de voz. OpenClaw envía ese prompt como el mensaje user de TTS
y no envía audio.voice para el modelo voicedesign.
Sustituciones de voz por agente
Useagents.list[].tts cuando un agente deba hablar con un proveedor,
voz, modelo, persona o modo TTS automático diferente. El bloque del agente se
fusiona profundamente sobre messages.tts, de modo que las credenciales del proveedor
pueden permanecer en la configuración global del proveedor:
agents.list[].tts.persona junto con la
configuración del proveedor; anula messages.tts.persona global solo para ese agente.
Orden de precedencia para respuestas automáticas, /tts audio, /tts status y la
herramienta de agente tts:
messages.ttsagents.list[].ttsactivo- anulación de canal, cuando el canal admite
channels.<channel>.tts - anulación de cuenta, cuando el canal pasa
channels.<channel>.accounts.<id>.tts - preferencias locales de
/ttspara este host - directivas en línea
[[tts:...]]cuando las anulaciones del modelo están habilitadas
messages.tts y se
fusionan profundamente sobre las capas anteriores, por lo que las credenciales
compartidas del proveedor pueden permanecer en messages.tts mientras un canal
o cuenta de bot cambia solo la voz del hablante, el modelo, la persona o el modo
automático:
Personas
Una persona es una identidad hablada estable que puede aplicarse de forma determinista entre proveedores. Puede preferir un proveedor, definir una intención de prompt independiente del proveedor y contener enlaces específicos del proveedor para voces, modelos, plantillas de prompt, semillas y ajustes de voz.Persona mínima
Persona completa (prompt independiente del proveedor)
Resolución de persona
La persona activa se selecciona de forma determinista:- Preferencia local
/tts persona <id>, si está definida. messages.tts.persona, si está definido.- Sin persona.
- Anulaciones directas (CLI, Gateway, Talk, directivas TTS permitidas).
- Preferencia local
/tts provider <id>. providerde la persona activa.messages.tts.provider.- Selección automática del registro.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Anulaciones de solicitud confiables
- Anulaciones permitidas de directivas TTS emitidas por el modelo
Cómo usan los proveedores los prompts de persona
Los campos de prompt de persona (profile, scene, sampleContext, style, accent,
pacing, constraints) son independientes del proveedor. Cada proveedor decide cómo
usarlos:
Google Gemini
Google Gemini
Envuelve los campos de prompt de persona en una estructura de prompt TTS de Gemini solo cuando
la configuración efectiva del proveedor Google establece
promptTemplate: "audio-profile-v1"
o personaPrompt. Los campos antiguos audioProfile y speakerName se
siguen anteponiendo como texto de prompt específico de Google. Las etiquetas de audio en línea, como
[whispers] o [laughs], dentro de un bloque [[tts:text]] se conservan
dentro de la transcripción de Gemini; OpenClaw no genera estas etiquetas.OpenAI
OpenAI
Asigna los campos de prompt de persona al campo
instructions de la solicitud solo cuando
no se haya configurado ningún instructions explícito de OpenAI. instructions explícito
siempre tiene prioridad.Other providers
Other providers
Usa solo los enlaces de persona específicos del proveedor bajo
personas.<id>.providers.<provider>. Los campos de prompt de persona se ignoran
salvo que el proveedor implemente su propia asignación de prompt de persona.Política de reserva
fallbackPolicy controla el comportamiento cuando una persona no tiene enlace para el
proveedor intentado:
| Política | Comportamiento |
|---|---|
preserve-persona | Predeterminado. Los campos de prompt independientes del proveedor siguen disponibles; el proveedor puede usarlos o ignorarlos. |
provider-defaults | La persona se omite de la preparación del prompt para ese intento; el proveedor usa sus valores predeterminados neutrales mientras continúa la reserva a otros proveedores. |
fail | Omite ese intento de proveedor con reasonCode: "not_configured" y personaBinding: "missing". Se siguen probando proveedores de reserva. |
talk.catalog y pasarlos
a través de la sesión de Talk o la solicitud de traspaso. Abrir una sesión de voz no debe
mutar messages.tts ni los valores predeterminados globales del proveedor de Talk.
Directivas impulsadas por el modelo
De forma predeterminada, el asistente puede emitir directivas[[tts:...]] para anular
la voz, el modelo o la velocidad de una sola respuesta, además de un bloque opcional
[[tts:text]]...[[/tts:text]] para indicaciones expresivas que deben aparecer solo en
el audio:
messages.tts.auto es "tagged", las directivas son obligatorias para activar
audio. La entrega de bloques en streaming elimina las directivas del texto visible antes de que
el canal las vea, incluso cuando están divididas entre bloques adyacentes.
provider=... se ignora salvo que modelOverrides.allowProvider: true. Cuando una
respuesta declara provider=..., las otras claves de esa directiva las analiza
solo ese proveedor; las claves no admitidas se eliminan y se notifican como advertencias
de directivas TTS.
Claves de directiva disponibles:
provider(id 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, −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 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 comoalways;/tts offla escribe comooff./tts chat on|off|defaultescribe una anulación de TTS automático con alcance de sesión para el chat actual./tts persona <id>escribe la preferencia local de persona;/tts persona offla borra./tts latestlee la última respuesta del asistente de la transcripción de la sesión actual y la envía como audio una vez. Almacena solo un hash de esa respuesta en la entrada de sesión para suprimir 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 subtítulo/mensaje de Telegram); los valores fuera de ese rango se rechazan.limitysummaryse almacenan en 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 detalle por intento (provider:outcome(reasonCode) latency)./statusmuestra el modo TTS activo, además del proveedor, modelo, voz y metadatos saneados de endpoint personalizado configurados cuando TTS está habilitado.
Preferencias por usuario
Los comandos de barra escriben anulaciones locales enprefsPath. El valor predeterminado es
~/.openclaw/settings/tts.json; anúlalo con la variable de entorno OPENCLAW_TTS_PREFS
o messages.tts.prefsPath.
| Campo almacenado | Efecto |
|---|---|
auto | Anulación local de TTS automático (always, off, …) |
provider | Anulación local del proveedor principal |
persona | Anulación local de persona |
maxLength | Umbral de resumen/truncamiento (predeterminado 1500 caracteres, rango de /tts limit 100–4096) |
summarize | Alternancia de resumen (predeterminado true) |
messages.tts más el bloque
agents.list[].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 pedir a los proveedores un destino nativovoice-note o
mantener la síntesis normal de audio-file, y si el canal transcodifica
la salida no nativa antes de enviarla.
| Destino | Formato |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Las respuestas de nota de voz prefieren Opus (opus_48000_64 de ElevenLabs, opus de OpenAI). 48 kHz / 64 kbps equilibran claridad y tamaño. |
| Otros canales | MP3 (mp3_44100_128 de ElevenLabs, mp3 de OpenAI). 44.1 kHz / 128 kbps es el equilibrio predeterminado para voz. |
| Talk / telefonía | PCM nativo del proveedor (Inworld 22050 Hz, Google 24 kHz), o ulaw_8000 de Gradium para telefonía. |
- 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 de 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. En caso de fallo de transcodificación: Feishu captura el error y vuelve a enviar el archivo original como un adjunto simple; WhatsApp no tiene alternativa, por lo que el envío falla en lugar de publicar una carga PTT incompatible. - MiniMax: MP3 (modelo
speech-2.8-hd, frecuencia de muestreo de 32 kHz) para adjuntos de audio normales; se transcodifica a Opus de 48 kHz conffmpegpara destinos de nota 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 nota de voz anunciados por el canal. - CLI local: usa el
outputFormatconfigurado. Los destinos de nota 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 envuelve como WAV para adjuntos de audio, lo transcodifica a Opus de 48 kHz para destinos de nota de voz y devuelve PCM directamente para Talk/telefonía.
- Gradium: WAV para adjuntos de audio, Opus para destinos de nota de voz y
ulaw_8000a 8 kHz para telefonía. - Inworld: MP3 para adjuntos de audio normales,
OGG_OPUSnativo para destinos de nota de voz yPCMsin procesar a 22050 Hz para Talk/telefonía. - xAI: MP3 de forma predeterminada;
responseFormatpuede sermp3,wav,pcm,mulawoalaw. Usa el endpoint TTS REST por lotes de xAI y devuelve un adjunto de audio completo; el WebSocket TTS en streaming de xAI no se usa en esta ruta de proveedor. No se admite el formato nativo Opus para notas de voz. - Microsoft: usa
microsoft.outputFormat(predeterminadoaudio-24khz-48kbitrate-mono-mp3).- El transporte incluido acepta un
outputFormat, pero no todos los formatos están disponibles en el servicio. - Los valores de formato de salida siguen los formatos de salida de Microsoft Speech (incluido Ogg/WebM Opus).
- Telegram
sendVoiceacepta OGG/MP3/M4A; usa OpenAI/ElevenLabs si necesitas mensajes de voz Opus garantizados. - Si falla el formato de salida de Microsoft configurado, OpenClaw reintenta con MP3.
- Cuando no se establece una anulación de voz explícita y se usa 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 es predominantemente CJK.
- El transporte incluido acepta un
Comportamiento de Auto-TTS
Cuandomessages.tts.auto está habilitado, OpenClaw:
- Omite TTS si la respuesta ya contiene medios estructurados.
- Omite respuestas muy cortas (menos de 10 caracteres).
- Resume respuestas largas cuando los resúmenes están habilitados, usando
summaryModel(oagents.defaults.model.primary). - Adjunta el audio generado a la respuesta.
- En
mode: "final", sigue enviando TTS solo de audio para respuestas finales transmitidas en streaming después de que se completa el flujo de texto; los medios generados pasan por la misma normalización de medios del canal que los adjuntos de respuesta normales.
maxLength, OpenClaw nunca omite el audio por completo:
- Resumen activado (predeterminado) y hay un modelo de resumen disponible: resume el
texto a aproximadamente
maxLengthcaracteres y luego sintetiza el resumen. - Resumen desactivado, la resumización falla o no hay clave de API disponible para el
modelo de resumen: trunca el texto a
maxLengthcaracteres y sintetiza el texto truncado.
Referencia de campos
Top-level messages.tts.*
Top-level messages.tts.*
Modo Auto-TTS.
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]].Interruptor heredado.
openclaw doctor --fix lo migra a auto."all" incluye respuestas de herramienta/bloque además de las respuestas finales.Id. del proveedor de voz. Cuando no se establece, OpenClaw usa el primer proveedor configurado en el orden de selección automática del registro. El
provider: "edge" heredado se reescribe como "microsoft" mediante openclaw doctor --fix.Id. de persona activa de
personas. Se normaliza a minúsculas.Identidad hablada estable. Campos:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Consulta Personas.Modelo económico para resumen automático; el valor predeterminado es
agents.defaults.model.primary. Acepta provider/model o un alias de modelo configurado.Permite que el modelo emita directivas TTS.
enabled usa true de forma predeterminada; allowProvider usa false de forma predeterminada.Configuración propiedad del proveedor indexada por id. de proveedor de voz. Los bloques directos heredados (
messages.tts.openai, .elevenlabs, .microsoft, .edge) se reescriben mediante openclaw doctor --fix; confirma solo messages.tts.providers.<id>.Límite estricto de caracteres de entrada TTS.
/tts audio, tts.convert y tts.speak fallan si se supera.Tiempo de espera de solicitud en milisegundos. Un
timeoutMs por llamada (herramienta de agente, Gateway) gana cuando se establece; de lo contrario, un messages.tts.timeoutMs configurado explícitamente tiene prioridad sobre cualquier valor predeterminado de proveedor escrito por un plugin.Anula la ruta JSON de preferencias locales (proveedor/límite/resumen). Valor predeterminado
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Env:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY o SPEECH_KEY.Región de Azure Speech (p. ej.
eastus). Env: AZURE_SPEECH_REGION o SPEECH_REGION.Anulación opcional del endpoint de Azure Speech (alias
baseUrl).ShortName de voz de Azure. Valor predeterminado
en-US-JennyNeural. Alias heredado: voice.Código de idioma SSML. Valor predeterminado
en-US.X-Microsoft-OutputFormat de Azure para audio estándar. Valor predeterminado audio-24khz-48kbitrate-mono-mp3.X-Microsoft-OutputFormat de Azure para salida de nota de voz. Valor predeterminado ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
Recurre a
ELEVENLABS_API_KEY o XI_API_KEY.Id. del modelo. Valor predeterminado
eleven_multilingual_v2. Los id. heredados eleven_turbo_v2_5/eleven_turbo_v2 se normalizan al modelo flash correspondiente.Id. de voz de ElevenLabs. Valor predeterminado
pMsXgVXv3BLzUgSXRplE. Alias heredado: voiceId.stability, similarityBoost, style (cada uno 0..1, valores predeterminados 0.5/0.75/0), useSpeakerBoost (true|false, predeterminado true), speed (0.5..2.0, predeterminado 1.0).Modo de normalización de texto.
ISO 639-1 de 2 letras (p. ej.
en, de).Entero
0..4294967295 para determinismo de mejor esfuerzo.Anula la URL base de la API de ElevenLabs.
Google Gemini
Google Gemini
Recurre a
GEMINI_API_KEY / GOOGLE_API_KEY. Si se omite, TTS puede reutilizar models.providers.google.apiKey antes de recurrir al entorno.Modelo TTS de Gemini. Valor predeterminado
gemini-3.1-flash-tts-preview.Nombre de voz precompilada de Gemini. Valor predeterminado
Kore. Alias heredados: voiceName, voice.Prompt de estilo en lenguaje natural antepuesto al texto hablado.
Etiqueta opcional de hablante antepuesta al texto hablado cuando tu prompt usa un hablante con nombre.
Establécelo en
audio-profile-v1 para envolver los campos de prompt de la persona activa en una estructura de prompt TTS determinista de Gemini.Texto adicional de prompt de persona específico de Google que se agrega a las notas del director de la plantilla.
Solo se acepta
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Inworld principal
Env:
INWORLD_API_KEY.Valor predeterminado
https://api.inworld.ai.Valor predeterminado
inworld-tts-1.5-max. También: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.Valor predeterminado
Sarah. Alias heredado: voiceId.Temperatura de muestreo
0..2 (excluye 0).CLI local (tts-local-cli)
CLI local (tts-local-cli)
Ejecutable local o cadena de comando para TTS de CLI.
Argumentos del comando. Admite los marcadores de posición
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Formato de salida esperado de la CLI. Valor predeterminado
mp3 para archivos adjuntos de audio.Tiempo de espera del comando en milisegundos. Valor predeterminado
120000.Directorio de trabajo opcional del comando.
Sobrescrituras de entorno opcionales para el comando.
Microsoft (sin clave de API)
Microsoft (sin clave de API)
Permitir el uso de voz de Microsoft.
Nombre de voz neural de Microsoft (por ejemplo,
en-US-MichelleNeural). Alias heredado: voice. Si la voz predeterminada en inglés está activa y el texto de respuesta es predominantemente CJK, OpenClaw cambia automáticamente a zh-CN-XiaoxiaoNeural.Código de idioma (por ejemplo,
en-US).Formato de salida de Microsoft. Valor predeterminado
audio-24khz-48kbitrate-mono-mp3. No todos los formatos son compatibles con el transporte incluido respaldado por Edge.Cadenas porcentuales (por ejemplo,
+10%, -5%).Escribir subtítulos JSON junto al archivo de audio.
URL de proxy para solicitudes de voz de Microsoft.
Sobrescritura del tiempo de espera de la solicitud (ms).
Alias heredado. Ejecuta
openclaw doctor --fix para reescribir la configuración persistida a providers.microsoft.MiniMax
MiniMax
Recurre a
MINIMAX_API_KEY. Autenticación de Token Plan mediante MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY o MINIMAX_CODING_API_KEY.Valor predeterminado
https://api.minimax.io. Entorno: MINIMAX_API_HOST.Valor predeterminado
speech-2.8-hd. Entorno: MINIMAX_TTS_MODEL.Valor predeterminado
English_expressive_narrator. Entorno: MINIMAX_TTS_VOICE_ID. Alias heredado: voiceId.0.5..2.0. Valor predeterminado 1.0.(0, 10]. Valor predeterminado 1.0.Entero
-12..12. Valor predeterminado 0. Los valores fraccionarios se truncan antes de la solicitud.OpenAI
OpenAI
Recurre a
OPENAI_API_KEY.ID del modelo TTS de OpenAI. Valor predeterminado
gpt-4o-mini-tts.Nombre de voz (por ejemplo,
alloy, cedar). Valor predeterminado coral. Alias heredado: voice.Campo
instructions explícito de OpenAI. Cuando se establece, los campos de prompt de persona no se asignan automáticamente.Campos JSON adicionales que se combinan en los cuerpos de solicitud de
/audio/speech después de los campos TTS generados de OpenAI. Úsalo para endpoints compatibles con OpenAI, como Kokoro, que requieren claves específicas del proveedor como lang; las claves de prototipo no seguras se ignoran.Sobrescribe 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 modelo y voz, y speed pierde su comprobación de rango 0.25..4.0.OpenRouter
OpenRouter
Entorno:
OPENROUTER_API_KEY. Puede reutilizar models.providers.openrouter.apiKey.Valor predeterminado
https://openrouter.ai/api/v1. El valor heredado https://openrouter.ai/v1 se normaliza.Valor predeterminado
hexgrad/kokoro-82m. Alias: modelId.Valor predeterminado
af_alloy. Alias heredados: voice, voiceId.Valor predeterminado
mp3.Sobrescritura de velocidad nativa del proveedor.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Entorno:
VOLCENGINE_TTS_API_KEY o BYTEPLUS_SEED_SPEECH_API_KEY.Valor predeterminado
seed-tts-1.0. Entorno: VOLCENGINE_TTS_RESOURCE_ID. Usa seed-tts-2.0 cuando tu proyecto tenga derecho de uso de TTS 2.0.Encabezado de clave de app. Valor predeterminado
aGjiRDfUWi. Entorno: VOLCENGINE_TTS_APP_KEY.Sobrescribe el endpoint HTTP de TTS de Seed Speech. Entorno:
VOLCENGINE_TTS_BASE_URL.Tipo de voz. Valor predeterminado
en_female_anna_mars_bigtts. Entorno: VOLCENGINE_TTS_VOICE. Alias heredado: voice.Relación de velocidad nativa del proveedor,
0.2..3.Etiqueta de emoción nativa del proveedor.
Campos heredados de Volcengine Speech Console. Entorno:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (valor predeterminado volcano_tts).xAI
xAI
Entorno:
XAI_API_KEY.Valor predeterminado
https://api.x.ai/v1. Entorno: XAI_BASE_URL.Valor predeterminado
eve. Voces en vivo: ara, eve, leo, rex, sal, una. Alias heredado: voiceId.Código de idioma BCP-47 o
auto. Valor predeterminado en.Valor predeterminado
mp3.Sobrescritura de velocidad nativa del proveedor,
0.7..1.5.Xiaomi MiMo
Xiaomi MiMo
Entorno:
XIAOMI_API_KEY.Valor predeterminado
https://api.xiaomimimo.com/v1. Entorno: XIAOMI_BASE_URL.Valor predeterminado
mimo-v2.5-tts. Entorno: XIAOMI_TTS_MODEL. También admite mimo-v2-tts y mimo-v2.5-tts-voicedesign.Valor predeterminado
mimo_default para modelos de voz preestablecida. Entorno: XIAOMI_TTS_VOICE. Alias heredado: voice. No se envía para mimo-v2.5-tts-voicedesign.Valor predeterminado
mp3. Entorno: XIAOMI_TTS_FORMAT.Instrucción opcional de estilo en lenguaje natural enviada como mensaje de usuario; no se pronuncia. Para
mimo-v2.5-tts-voicedesign, este es el prompt de diseño de voz; OpenClaw proporciona un valor predeterminado cuando se omite.Herramienta del agente
La herramientatts convierte texto a voz y devuelve un archivo adjunto de audio para
la entrega de respuestas. 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 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 consistente subtítulos en las notas de voz.
La herramienta acepta los campos opcionales channel y timeoutMs; timeoutMs es un
tiempo de espera de solicitud del proveedor por llamada en milisegundos. Los valores por llamada sobrescriben
messages.tts.timeoutMs; los tiempos de espera TTS configurados sobrescriben cualquier
valor predeterminado de proveedor creado por un Plugin.
RPC de Gateway
| Método | Propósito |
|---|---|
tts.status | Leer el estado TTS actual y el último intento. |
tts.enable | Establecer la preferencia automática local en always. |
tts.disable | Establecer la preferencia automática local en off. |
tts.convert | Texto a audio puntual. |
tts.setProvider | Establecer la preferencia local de proveedor. |
tts.personas | Enumerar las personas configuradas y la activa. |
tts.setPersona | Establecer la preferencia local de persona. |
tts.providers | Enumerar los proveedores configurados y su estado. |
Enlaces de servicio
- Guía de texto a voz de OpenAI
- Referencia de la API de audio de OpenAI
- Texto a voz REST de Azure Speech
- Proveedor de Azure Speech
- Texto a voz de ElevenLabs
- Autenticación de ElevenLabs
- Gradium
- API TTS de Inworld
- API MiniMax T2A v2
- API HTTP TTS de Volcengine
- Síntesis de voz de Xiaomi MiMo
- node-edge-tts
- Formatos de salida de Microsoft Speech
- Texto a voz de xAI