stt-tts do Talk. Sessões Talk
realtime nativas do provedor sintetizam fala dentro do provedor em tempo real
em vez de chamar este caminho de TTS, enquanto sessões transcription não sintetizam
uma resposta de voz do assistente.
Início rápido
Escolha um provedor
OpenAI e ElevenLabs são as opções hospedadas mais confiáveis. Microsoft e
CLI local funcionam sem uma chave de API. Veja a matriz de provedores
para a lista completa.
Defina a chave de API
Exporte a variável de ambiente do seu provedor (por exemplo
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft e CLI local não precisam de chave.Auto-TTS fica desativado por padrão. Quando
messages.tts.provider não está definido,
o OpenClaw escolhe o primeiro provedor configurado na ordem de seleção automática do registro.
A ferramenta de agente tts integrada é apenas para intenção explícita: o chat comum permanece
em texto, a menos que o usuário peça áudio, use /tts ou ative fala por Auto-TTS/diretiva.Provedores compatíveis
| Provedor | Autenticação | Observações |
|---|---|---|
| Azure Speech | AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (também AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) | Saída nativa de recado de voz Ogg/Opus e telefonia. |
| DeepInfra | DEEPINFRA_API_KEY | TTS compatível com OpenAI. O padrão é hexgrad/Kokoro-82M. |
| ElevenLabs | ELEVENLABS_API_KEY ou XI_API_KEY | Clonagem de voz, multilíngue, determinístico via seed; transmitido para reprodução de voz no Discord. |
| Google Gemini | GEMINI_API_KEY ou GOOGLE_API_KEY | TTS em lote da API Gemini; ciente de persona via promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Saída de recado de voz e telefonia. |
| Inworld | INWORLD_API_KEY | API de TTS por streaming. Recado de voz Opus nativo e telefonia PCM. |
| CLI local | nenhum | Executa um comando local de TTS configurado. |
| Microsoft | nenhum | TTS neural público do Edge via node-edge-tts. Melhor esforço, sem SLA. |
| MiniMax | MINIMAX_API_KEY (ou Token Plan: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) | API T2A v2. O padrão é speech-2.8-hd. |
| OpenAI | OPENAI_API_KEY | Também usado para resumo automático; aceita persona instructions. |
| OpenRouter | OPENROUTER_API_KEY (pode reutilizar models.providers.openrouter.apiKey) | Modelo padrão hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY ou BYTEPLUS_SEED_SPEECH_API_KEY (AppID/token legado: VOLCENGINE_TTS_APPID/_TOKEN) | API HTTP BytePlus Seed Speech. |
| Vydra | VYDRA_API_KEY | Provedor compartilhado de imagem, vídeo e fala. |
| xAI | XAI_API_KEY | TTS em lote da xAI. Recado de voz Opus nativo não é compatível. |
| Xiaomi MiMo | XIAOMI_API_KEY | TTS MiMo por meio de conclusões de chat da Xiaomi. |
summaryModel (ou
agents.defaults.model.primary), então esse provedor também deve estar autenticado
se você mantiver os resumos ativados.
Configuração
A configuração de TTS fica emmessages.tts em ~/.openclaw/openclaw.json. Escolha uma
predefinição e adapte o bloco do provedor:
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- CLI local
- Microsoft (sem chave)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign, omita speakerVoice e defina style como
o prompt de design de voz. O OpenClaw envia esse prompt como a mensagem user do TTS
e não envia audio.voice para o modelo voicedesign.
Substituições de voz por agente
Useagents.list[].tts quando um agente deve falar com um provedor,
voz, modelo, persona ou modo de TTS automático diferente. O bloco do agente faz mesclagem profunda sobre
messages.tts, então as credenciais do provedor podem permanecer na configuração global do provedor:
agents.list[].tts.persona junto com a configuração do provedor
— isso substitui a messages.tts.persona global apenas para esse agente.
Ordem de precedência para respostas automáticas, /tts audio, /tts status e a
ferramenta de agente tts:
messages.ttsagents.list[].ttsativo- substituição de canal, quando o canal oferece suporte a
channels.<channel>.tts - substituição de conta, quando o canal passa
channels.<channel>.accounts.<id>.tts - preferências locais de
/ttspara este host - diretivas inline
[[tts:...]]quando substituições por modelo estão habilitadas
messages.tts e
fazem mesclagem profunda sobre as camadas anteriores, então credenciais compartilhadas do provedor podem permanecer em
messages.tts enquanto um canal ou conta de bot altera apenas a voz do falante, o modelo, a persona
ou o modo automático:
Personas
Uma persona é uma identidade falada estável que pode ser aplicada de forma determinística entre provedores. Ela pode preferir um provedor, definir uma intenção de prompt neutra em relação a provedores e carregar vínculos específicos de provedor para vozes, modelos, modelos de prompt, sementes e configurações de voz.Persona mínima
Persona completa (prompt neutro em relação ao provedor)
Resolução de persona
A persona ativa é selecionada de forma determinística:- Preferência local
/tts persona <id>, se definida. messages.tts.persona, se definida.- Nenhuma persona.
- Substituições diretas (CLI, Gateway, Talk, diretivas TTS permitidas).
- Preferência local
/tts provider <id>. providerda persona ativa.messages.tts.provider.- Seleção automática do registro.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Substituições de solicitação confiáveis
- Substituições de diretiva TTS permitidas emitidas pelo modelo
Como os provedores usam prompts de persona
Campos de prompt de persona (profile, scene, sampleContext, style, accent,
pacing, constraints) são neutros em relação ao provedor. Cada provedor decide como
usá-los:
Google Gemini
Google Gemini
Envolve campos de prompt de persona em uma estrutura de prompt TTS do Gemini somente quando
a configuração efetiva do provedor Google define
promptTemplate: "audio-profile-v1"
ou personaPrompt. Os campos antigos audioProfile e speakerName ainda são
prefixados como texto de prompt específico do Google. Tags de áudio inline, como
[whispers] ou [laughs] dentro de um bloco [[tts:text]], são preservadas
dentro da transcrição do Gemini; o OpenClaw não gera essas tags.OpenAI
OpenAI
Mapeia campos de prompt de persona para o campo
instructions da solicitação somente quando
nenhuma instructions explícita do OpenAI está configurada. instructions explícitas
sempre prevalecem.Other providers
Other providers
Use apenas os vínculos de persona específicos do provedor em
personas.<id>.providers.<provider>. Campos de prompt de persona são ignorados,
a menos que o provedor implemente seu próprio mapeamento de prompt de persona.Política de fallback
fallbackPolicy controla o comportamento quando uma persona não tem vínculo para o
provedor tentado:
| Política | Comportamento |
|---|---|
preserve-persona | Padrão. Campos de prompt neutros em relação ao provedor permanecem disponíveis; o provedor pode usá-los ou ignorá-los. |
provider-defaults | A persona é omitida da preparação de prompt para essa tentativa; o provedor usa seus padrões neutros enquanto o fallback para outros provedores continua. |
fail | Ignora essa tentativa de provedor com reasonCode: "not_configured" e personaBinding: "missing". Provedores de fallback ainda são tentados. |
talk.catalog e passá-los
pela sessão Talk ou solicitação de handoff. Abrir uma sessão de voz não deve
alterar messages.tts nem os padrões globais do provedor Talk.
Diretivas orientadas por modelo
Por padrão, o assistente pode emitir diretivas[[tts:...]] para substituir
voz, modelo ou velocidade para uma única resposta, além de um bloco opcional
[[tts:text]]...[[/tts:text]] para pistas expressivas que devem aparecer
apenas no áudio:
messages.tts.auto é "tagged", diretivas são obrigatórias para acionar
áudio. A entrega de blocos em streaming remove diretivas do texto visível antes que o
canal as veja, mesmo quando divididas em blocos adjacentes.
provider=... é ignorado, a menos que modelOverrides.allowProvider: true. Quando uma
resposta declara provider=..., as outras chaves nessa diretiva são analisadas
apenas por esse provedor; chaves não compatíveis são removidas e relatadas como avisos
de diretiva TTS.
Chaves de diretiva disponíveis:
provider(ID de provedor registrado; requerallowProvider: true)speakerVoice/speakerVoiceId(aliases legados:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(volume MiniMax, 0–10)pitch(pitch inteiro MiniMax, −12 a 12; valores fracionários são truncados)emotion(tag de emoção Volcengine)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Comandos slash
Comando único/tts. No Discord, o OpenClaw também registra /voice porque
/tts é um comando integrado do Discord — texto /tts ... ainda funciona.
Comandos exigem um remetente autorizado (regras de allowlist/proprietário se aplicam) e
commands.text
ou o registro de comando nativo deve estar habilitado./tts ongrava a preferência local de TTS comoalways;/tts offgrava comooff./tts chat on|off|defaultgrava uma substituição de TTS automático escopada à sessão para o chat atual./tts persona <id>grava a preferência local de persona;/tts persona offa limpa./tts latestlê a resposta mais recente do assistente na transcrição da sessão atual e a envia como áudio uma vez. Ele armazena apenas um hash dessa resposta na entrada da sessão para suprimir envios de voz duplicados./tts audiogera uma resposta de áudio avulsa (não alterna TTS para ativado).limitesummarysão armazenados nas preferências locais, não na configuração principal./tts statusinclui diagnósticos de fallback da tentativa mais recente —Fallback: <primary> -> <used>,Attempts: ...e detalhe por tentativa (provider:outcome(reasonCode) latency)./statusmostra o modo TTS ativo, além do provedor, modelo, voz e metadados sanitizados de endpoint personalizado configurados quando TTS está habilitado.
Preferências por usuário
Comandos slash gravam substituições locais emprefsPath. O padrão é
~/.openclaw/settings/tts.json; substitua com a variável de ambiente OPENCLAW_TTS_PREFS
ou messages.tts.prefsPath.
| Campo armazenado | Efeito |
|---|---|
auto | Substituição local de TTS automático (always, off, …) |
provider | Substituição local do provedor primário |
persona | Substituição local de persona |
maxLength | Limiar de resumo (padrão 1500 caracteres) |
summarize | Alternância de resumo (padrão true) |
messages.tts mais o bloco
agents.list[].tts ativo para esse host.
Formatos de saída (fixos)
A entrega de voz TTS é orientada por capacidade do canal. Plugins de canal anunciam se TTS em estilo de voz deve pedir aos provedores um destino nativovoice-note ou
manter a síntese normal audio-file e apenas marcar a saída compatível para entrega
de voz.
- Canais compatíveis com notas de voz: respostas de nota de voz preferem Opus (
opus_48000_64da ElevenLabs,opusda OpenAI).- 48 kHz / 64 kbps é um bom equilíbrio para mensagens de voz.
- Feishu / WhatsApp: quando uma resposta de nota de voz é produzida como MP3/WebM/WAV/M4A
ou outro arquivo provavelmente de áudio, o Plugin do canal a transcodifica para Ogg/Opus
a 48 kHz com
ffmpegantes de enviar a mensagem de voz nativa. O WhatsApp envia o resultado por meio do payloadaudioda Baileys comptt: trueeaudio/ogg; codecs=opus. Se a conversão falhar, o Feishu recebe o arquivo original como anexo; o envio do WhatsApp falha em vez de publicar um payload PTT incompatível. - Outros canais: MP3 (
mp3_44100_128da ElevenLabs,mp3da OpenAI).- 44,1 kHz / 128 kbps é o equilíbrio padrão para clareza de fala.
- MiniMax: MP3 (modelo
speech-2.8-hd, taxa de amostragem de 32 kHz) para anexos de áudio comuns. Para destinos de nota de voz anunciados pelo canal, o OpenClaw transcodifica o MP3 da MiniMax para Opus a 48 kHz comffmpegantes da entrega quando o canal anuncia transcodificação. - Xiaomi MiMo: MP3 por padrão, ou WAV quando configurado. Para destinos de nota de voz anunciados pelo canal, o OpenClaw transcodifica a saída da Xiaomi para Opus a 48 kHz com
ffmpegantes da entrega quando o canal anuncia transcodificação. - CLI local: usa o
outputFormatconfigurado. Destinos de nota de voz são convertidos para Ogg/Opus e a saída de telefonia é convertida para PCM mono bruto de 16 kHz comffmpeg. - Google Gemini: o TTS da API Gemini retorna PCM bruto de 24 kHz. O OpenClaw o encapsula como WAV para anexos de áudio, transcodifica para Opus a 48 kHz para destinos de nota de voz e retorna PCM diretamente para Talk/telefonia.
- Gradium: WAV para anexos de áudio, Opus para destinos de nota de voz e
ulaw_8000a 8 kHz para telefonia. - Inworld: MP3 para anexos de áudio comuns,
OGG_OPUSnativo para destinos de nota de voz ePCMbruto a 22050 Hz para Talk/telefonia. - xAI: MP3 por padrão;
responseFormatpode sermp3,wav,pcm,mulawoualaw. O OpenClaw usa o endpoint TTS REST em lote da xAI e retorna um anexo de áudio completo; o WebSocket de TTS por streaming da xAI não é usado por este caminho de provedor. O formato Opus nativo de nota de voz não é compatível com este caminho. - Microsoft: usa
microsoft.outputFormat(padrãoaudio-24khz-48kbitrate-mono-mp3).- O transporte incluído aceita um
outputFormat, mas nem todos os formatos estão disponíveis no serviço. - Valores de formato de saída seguem os formatos de saída do Microsoft Speech (incluindo Ogg/WebM Opus).
- O
sendVoicedo Telegram aceita OGG/MP3/M4A; use OpenAI/ElevenLabs se precisar de mensagens de voz Opus garantidas. - Se o formato de saída configurado da Microsoft falhar, o OpenClaw tenta novamente com MP3.
- O transporte incluído aceita um
Comportamento de TTS automático
Quandomessages.tts.auto está habilitado, o OpenClaw:
- Ignora TTS se a resposta já contiver mídia estruturada.
- Ignora respostas muito curtas (menos de 10 caracteres).
- Resume respostas longas quando resumos estão habilitados, usando
summaryModel(ouagents.defaults.model.primary). - Anexa o áudio gerado à resposta.
- Em
mode: "final", ainda envia TTS somente de áudio para respostas finais transmitidas por streaming após a conclusão do stream de texto; a mídia gerada passa pela mesma normalização de mídia do canal que anexos normais de resposta.
maxLength e o resumo estiver desativado (ou não houver chave de API para o
modelo de resumo), o áudio é ignorado e a resposta de texto normal é enviada.
Formatos de saída por canal
| Destino | Formato |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Respostas de nota de voz preferem Opus (opus_48000_64 da ElevenLabs, opus da OpenAI). 48 kHz / 64 kbps equilibram clareza e tamanho. |
| Outros canais | MP3 (mp3_44100_128 da ElevenLabs, mp3 da OpenAI). 44,1 kHz / 128 kbps padrão para fala. |
| Talk / telefonia | PCM nativo do provedor (Inworld 22050 Hz, Google 24 kHz), ou ulaw_8000 da Gradium para telefonia. |
- Transcodificação Feishu / WhatsApp: quando uma resposta de nota de voz chega como MP3/WebM/WAV/M4A, o Plugin do canal transcodifica para Ogg/Opus a 48 kHz com
ffmpeg. O WhatsApp envia pela Baileys comptt: trueeaudio/ogg; codecs=opus. Se a conversão falhar: o Feishu recorre a anexar o arquivo original; o envio do WhatsApp falha em vez de publicar um payload PTT incompatível. - MiniMax / Xiaomi MiMo: MP3 padrão (32 kHz para MiniMax
speech-2.8-hd); transcodificado para Opus a 48 kHz para destinos de nota de voz viaffmpeg. - CLI local: usa o
outputFormatconfigurado. Destinos de nota de voz são convertidos para Ogg/Opus e a saída de telefonia para PCM mono bruto de 16 kHz. - Google Gemini: retorna PCM bruto de 24 kHz. O OpenClaw encapsula como WAV para anexos, transcodifica para Opus a 48 kHz para destinos de nota de voz e retorna PCM diretamente para Talk/telefonia.
- Inworld: anexos MP3, nota de voz
OGG_OPUSnativa,PCMbruto a 22050 Hz para Talk/telefonia. - xAI: MP3 por padrão;
responseFormatpode sermp3|wav|pcm|mulaw|alaw. Usa o endpoint REST em lote da xAI — TTS por WebSocket em streaming não é usado. O formato Opus nativo de nota de voz não é compatível. - Microsoft: usa
microsoft.outputFormat(padrãoaudio-24khz-48kbitrate-mono-mp3). OsendVoicedo Telegram aceita OGG/MP3/M4A; use OpenAI/ElevenLabs se precisar de mensagens de voz Opus garantidas. Se o formato configurado da Microsoft falhar, o OpenClaw tenta novamente com MP3.
Referência de campos
Top-level messages.tts.*
Top-level messages.tts.*
Modo de TTS automático.
inbound só envia áudio após uma mensagem de voz recebida; tagged só envia áudio quando a resposta inclui diretivas [[tts:...]] ou um bloco [[tts:text]].Alternância legada.
openclaw doctor --fix migra isto para auto."all" inclui respostas de ferramenta/bloco além das respostas finais.ID do provedor de fala. Quando não definido, o OpenClaw usa o primeiro provedor configurado na ordem de seleção automática do registro. O
provider: "edge" legado é reescrito para "microsoft" por openclaw doctor --fix.ID da persona ativa de
personas. Normalizado para minúsculas.Identidade falada estável. Campos:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Veja Personas.Modelo barato para resumo automático; o padrão é
agents.defaults.model.primary. Aceita provider/model ou um alias de modelo configurado.Permite que o modelo emita diretivas TTS.
enabled usa true por padrão; allowProvider usa false por padrão.Configurações de propriedade do provedor indexadas por ID do provedor de fala. Blocos diretos legados (
messages.tts.openai, .elevenlabs, .microsoft, .edge) são reescritos por openclaw doctor --fix; faça commit apenas de messages.tts.providers.<id>.Limite rígido para caracteres de entrada de TTS.
/tts audio falha se excedido.Tempo limite da requisição em milissegundos.
Substitui o caminho JSON local de preferências (provedor/limite/resumo). Padrão
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Env:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY ou SPEECH_KEY.Região do Azure Speech (por exemplo,
eastus). Env: AZURE_SPEECH_REGION ou SPEECH_REGION.Substituição opcional do endpoint do Azure Speech (alias
baseUrl).ShortName da voz do Azure. Padrão
en-US-JennyNeural. Alias legado: voice.Código de idioma SSML. Padrão
en-US.X-Microsoft-OutputFormat do Azure para áudio padrão. Padrão audio-24khz-48kbitrate-mono-mp3.X-Microsoft-OutputFormat do Azure para saída de nota de voz. Padrão ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
Recorre a
ELEVENLABS_API_KEY ou XI_API_KEY.ID do modelo (por exemplo,
eleven_multilingual_v2, eleven_v3).ID de voz da ElevenLabs. Alias legado:
voiceId.stability, similarityBoost, style (cada um 0..1), useSpeakerBoost (true|false), speed (0.5..2.0, 1.0 = normal).Modo de normalização de texto.
ISO 639-1 de 2 letras (por exemplo,
en, de).Inteiro
0..4294967295 para determinismo de melhor esforço.Substitui a URL base da API ElevenLabs.
Google Gemini
Google Gemini
Recorre a
GEMINI_API_KEY / GOOGLE_API_KEY. Se omitido, o TTS pode reutilizar models.providers.google.apiKey antes do fallback de env.Modelo TTS do Gemini. Padrão
gemini-3.1-flash-tts-preview.Nome de voz pré-criada do Gemini. Padrão
Kore. Aliases legados: voiceName, voice.Prompt de estilo em linguagem natural prefixado antes do texto falado.
Rótulo opcional do falante prefixado antes do texto falado quando seu prompt usa um falante nomeado.
Defina como
audio-profile-v1 para encapsular campos de prompt da persona ativa em uma estrutura determinística de prompt TTS do Gemini.Texto extra de prompt de persona específico do Google anexado às notas do diretor do modelo.
Somente
https://generativelanguage.googleapis.com é aceito.Gradium
Gradium
Inworld
Inworld
Inworld principal
Amb:
INWORLD_API_KEY.Padrão
https://api.inworld.ai.Padrão
inworld-tts-1.5-max. Também: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.Padrão
Sarah. Alias legado: voiceId.Temperatura de amostragem
0..2.CLI local (tts-local-cli)
CLI local (tts-local-cli)
Executável local ou string de comando para TTS por CLI.
Argumentos do comando. Aceita os placeholders
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Formato de saída esperado da CLI. Padrão
mp3 para anexos de áudio.Tempo limite do comando em milissegundos. Padrão
120000.Diretório de trabalho opcional do comando.
Substituições opcionais de ambiente para o comando.
Microsoft (sem chave de API)
Microsoft (sem chave de API)
Permite o uso de fala da Microsoft.
Nome da voz neural da Microsoft (por exemplo,
en-US-MichelleNeural). Alias legado: voice.Código do idioma (por exemplo,
en-US).Formato de saída da Microsoft. Padrão
audio-24khz-48kbitrate-mono-mp3. Nem todos os formatos são compatíveis com o transporte incluído baseado no Edge.Strings percentuais (por exemplo,
+10%, -5%).Grava legendas JSON junto ao arquivo de áudio.
URL de proxy para solicitações de fala da Microsoft.
Substituição do tempo limite da solicitação (ms).
Alias legado. Execute
openclaw doctor --fix para regravar a configuração persistida em providers.microsoft.MiniMax
MiniMax
Usa
MINIMAX_API_KEY como alternativa. Autenticação Token Plan via MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY ou MINIMAX_CODING_API_KEY.Padrão
https://api.minimax.io. Amb: MINIMAX_API_HOST.Padrão
speech-2.8-hd. Amb: MINIMAX_TTS_MODEL.Padrão
English_expressive_narrator. Amb: MINIMAX_TTS_VOICE_ID. Alias legado: voiceId.0.5..2.0. Padrão 1.0.(0, 10]. Padrão 1.0.Inteiro
-12..12. Padrão 0. Valores fracionários são truncados antes da solicitação.OpenAI
OpenAI
Usa
OPENAI_API_KEY como alternativa.ID do modelo TTS da OpenAI (por exemplo,
gpt-4o-mini-tts).Nome da voz (por exemplo,
alloy, cedar). Alias legado: voice.Campo
instructions explícito da OpenAI. Quando definido, os campos de prompt de persona não são mapeados automaticamente.Campos JSON extras mesclados aos corpos de solicitação
/audio/speech depois dos campos TTS gerados da OpenAI. Use isto para endpoints compatíveis com OpenAI, como Kokoro, que exigem chaves específicas do provedor como lang; chaves de protótipo inseguras são ignoradas.Substitui o endpoint TTS da OpenAI. Ordem de resolução: configuração →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Valores não padrão são tratados como endpoints TTS compatíveis com OpenAI, portanto nomes personalizados de modelo e voz são aceitos.OpenRouter
OpenRouter
Amb:
OPENROUTER_API_KEY. Pode reutilizar models.providers.openrouter.apiKey.Padrão
https://openrouter.ai/api/v1. O legado https://openrouter.ai/v1 é normalizado.Padrão
hexgrad/kokoro-82m. Alias: modelId.Padrão
af_alloy. Aliases legados: voice, voiceId.Padrão
mp3.Substituição de velocidade nativa do provedor.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Amb:
VOLCENGINE_TTS_API_KEY ou BYTEPLUS_SEED_SPEECH_API_KEY.Padrão
seed-tts-1.0. Amb: VOLCENGINE_TTS_RESOURCE_ID. Use seed-tts-2.0 quando seu projeto tiver direito ao TTS 2.0.Cabeçalho da chave do app. Padrão
aGjiRDfUWi. Amb: VOLCENGINE_TTS_APP_KEY.Substitui o endpoint HTTP TTS do Seed Speech. Amb:
VOLCENGINE_TTS_BASE_URL.Tipo de voz. Padrão
en_female_anna_mars_bigtts. Amb: VOLCENGINE_TTS_VOICE. Alias legado: voice.Proporção de velocidade nativa do provedor.
Etiqueta de emoção nativa do provedor.
Campos legados do Volcengine Speech Console. Amb:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (padrão volcano_tts).xAI
xAI
Amb:
XAI_API_KEY.Padrão
https://api.x.ai/v1. Amb: XAI_BASE_URL.Padrão
eve. Vozes ativas: ara, eve, leo, rex, sal, una. Alias legado: voiceId.Código de idioma BCP-47 ou
auto. Padrão en.Padrão
mp3.Substituição de velocidade nativa do provedor.
Xiaomi MiMo
Xiaomi MiMo
Amb:
XIAOMI_API_KEY.Padrão
https://api.xiaomimimo.com/v1. Amb: XIAOMI_BASE_URL.Padrão
mimo-v2.5-tts. Amb: XIAOMI_TTS_MODEL. Também aceita mimo-v2-tts e mimo-v2.5-tts-voicedesign.Padrão
mimo_default para modelos de voz predefinida. Amb: XIAOMI_TTS_VOICE. Alias legado: voice. Não enviado para mimo-v2.5-tts-voicedesign.Padrão
mp3. Amb: XIAOMI_TTS_FORMAT.Instrução opcional de estilo em linguagem natural enviada como mensagem do usuário; não é falada. Para
mimo-v2.5-tts-voicedesign, este é o prompt de design de voz; o OpenClaw fornece um padrão quando omitido.Ferramenta do agente
A ferramentatts converte texto em fala e retorna um anexo de áudio para
entrega da resposta. No Feishu, Matrix, Telegram e WhatsApp, o áudio é
entregue como uma mensagem de voz em vez de um anexo de arquivo. Feishu e
WhatsApp podem transcodificar a saída TTS não Opus neste caminho quando ffmpeg está
disponível.
O WhatsApp envia áudio pelo Baileys como uma nota de voz PTT (audio com
ptt: true) e envia texto visível separadamente do áudio PTT porque
os clientes não renderizam legendas de forma consistente em notas de voz.
A ferramenta aceita os campos opcionais channel e timeoutMs; timeoutMs é um
tempo limite de solicitação ao provedor por chamada, em milissegundos. Valores por chamada substituem
messages.tts.timeoutMs; tempos limite de TTS configurados substituem qualquer
padrão de provedor criado por plugin.
RPC do Gateway
| Método | Finalidade |
|---|---|
tts.status | Lê o estado atual do TTS e a última tentativa. |
tts.enable | Define a preferência automática local como always. |
tts.disable | Define a preferência automática local como off. |
tts.convert | Texto avulso → áudio. |
tts.setProvider | Define a preferência local de provedor. |
tts.setPersona | Define a preferência local de persona. |
tts.providers | Lista provedores configurados e status. |
Links de serviço
- Guia de texto para fala da OpenAI
- Referência da API de áudio da OpenAI
- Texto para fala REST do Azure Speech
- Provedor Azure Speech
- Texto para fala da ElevenLabs
- Autenticação da ElevenLabs
- Gradium
- API TTS da Inworld
- API MiniMax T2A v2
- API HTTP TTS da Volcengine
- Síntese de fala Xiaomi MiMo
- node-edge-tts
- Formatos de saída do Microsoft Speech
- Texto para fala da xAI