stt-tts di Talk (talk.speak utilizza questo
stesso percorso di sintesi). Le sessioni Talk realtime native del provider sintetizzano
la voce all’interno del provider in tempo reale; le sessioni transcription non
sintetizzano mai una risposta vocale dell’assistente.
Avvio rapido
1
Scegliere un provider
OpenAI ed ElevenLabs sono le opzioni in hosting più affidabili. Microsoft e
la CLI locale funzionano senza una chiave API. Consultare la matrice dei provider
per l’elenco completo.
2
Impostare la chiave API
Esportare la variabile di ambiente del provider (ad esempio
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft e la CLI locale non richiedono una chiave.3
Abilitare nella configurazione
Impostare
messages.tts.auto: "always" e messages.tts.provider:4
Provare nella chat
/tts status mostra lo stato attuale. /tts audio Hello from OpenClaw
invia una singola risposta audio.La sintesi vocale automatica è disattivata per impostazione predefinita. Quando
messages.tts.provider non è impostato,
OpenClaw seleziona il primo provider configurato secondo l’ordine di selezione automatica del registro.
Lo strumento agente integrato tts viene utilizzato solo su richiesta esplicita: la normale chat rimane
testuale, a meno che l’utente non richieda l’audio, utilizzi /tts oppure abiliti la sintesi
vocale automatica o tramite direttiva.Provider supportati
Se sono configurati più provider, viene utilizzato prima quello selezionato e gli
altri fungono da opzioni di ripiego. Il riepilogo automatico utilizza
summaryModel (o
agents.defaults.model.primary), pertanto anche tale provider deve essere autenticato
se i riepiloghi rimangono abilitati.
Configurazione
La configurazione TTS si trova inmessages.tts all’interno di ~/.openclaw/openclaw.json. Scegliere una
preimpostazione e adattare il blocco del provider. I campi speakerVoice/speakerVoiceId
mostrati di seguito sono quelli canonici; i nomi dei campi voice/voiceId/
voiceName specifici di ciascun provider continuano a funzionare come alias legacy.
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- CLI locale
- Microsoft (senza chiave)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign, omettere speakerVoice e impostare style sul
prompt di progettazione vocale. OpenClaw invia tale prompt come messaggio TTS user
e non invia audio.voice per il modello voicedesign.
Override vocali per agente
Usareagents.list[].tts quando un agente deve parlare con un provider,
una voce, un modello, una persona o una modalità TTS automatica diversi. Il blocco dell’agente viene unito in profondità sopra
messages.tts, quindi le credenziali del provider possono rimanere nella configurazione globale del provider:
agents.list[].tts.persona insieme alla configurazione
del provider: sostituisce il valore globale messages.tts.persona solo per quell’agente.
Ordine di precedenza per le risposte automatiche, /tts audio, /tts status e lo
strumento agente tts:
messages.ttsagents.list[].ttsattivo- override del canale, quando il canale supporta
channels.<channel>.tts - override dell’account, quando il canale passa
channels.<channel>.accounts.<id>.tts - preferenze
/ttslocali per questo host - direttive
[[tts:...]]inline quando gli override determinati dal modello sono abilitati
messages.tts e
vengono uniti in profondità sopra i livelli precedenti, quindi le credenziali condivise del provider possono rimanere in
messages.tts, mentre un canale o un account bot modifica solo la voce del parlante, il modello, la persona
o la modalità automatica:
Persone
Una persona è un’identità vocale stabile che può essere applicata in modo deterministico tra diversi provider. Può preferire un provider, definire l’intento del prompt indipendentemente dal provider e contenere associazioni specifiche del provider per voci, modelli, modelli di prompt, seed e impostazioni vocali.Persona minima
Persona completa (prompt indipendente dal provider)
Risoluzione della persona
La persona attiva viene selezionata in modo deterministico:- Preferenza locale
/tts persona <id>, se impostata. messages.tts.persona, se impostata.- Nessuna persona.
- Override diretti (CLI, Gateway, Talk, direttive TTS consentite).
- Preferenza locale
/tts provider <id>. providerdella persona attiva.messages.tts.provider.- Selezione automatica dal registro.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Override della richiesta attendibile
- Override consentiti delle direttive TTS emesse dal modello
Come i provider usano i prompt delle persone
I campi del prompt della persona (profile, scene, sampleContext, style, accent,
pacing, constraints) sono indipendenti dal provider. Ogni provider decide come
usarli:
Google Gemini
Google Gemini
Racchiude i campi del prompt della persona in una struttura di prompt TTS di Gemini solo quando
la configurazione effettiva del provider Google imposta
promptTemplate: "audio-profile-v1"
o personaPrompt. I campi precedenti audioProfile e speakerName vengono
comunque anteposti come testo del prompt specifico di Google. I tag audio inline come
[whispers] o [laughs] all’interno di un blocco [[tts:text]] vengono mantenuti
nella trascrizione di Gemini; OpenClaw non genera questi tag.OpenAI
OpenAI
Associa i campi del prompt della persona al campo
instructions della richiesta solo quando
non è configurato alcun instructions esplicito di OpenAI. Un instructions esplicito
ha sempre la precedenza.Altri provider
Altri provider
Usano solo le associazioni della persona specifiche del provider in
personas.<id>.providers.<provider>. I campi del prompt della persona vengono ignorati,
a meno che il provider non implementi una propria associazione dei prompt della persona.Criterio di fallback
fallbackPolicy controlla il comportamento quando una persona non dispone di alcuna associazione per il
provider su cui viene effettuato il tentativo:
L’intera richiesta TTS non riesce solo quando tutti i provider tentati vengono saltati
o non riescono.
La selezione del provider per una sessione Talk è limitata alla sessione. Un client Talk deve scegliere
gli ID dei provider, dei modelli e delle voci e le impostazioni locali da
talk.catalog e passarli
tramite la sessione Talk o la richiesta di passaggio. L’apertura di una sessione vocale non deve
modificare messages.tts né i valori predefiniti globali dei provider Talk.
Direttive determinate dal modello
Per impostazione predefinita, l’assistente può emettere direttive[[tts:...]] per sostituire
voce, modello o velocità per una singola risposta, oltre a un blocco facoltativo
[[tts:text]]...[[/tts:text]] per indicazioni espressive che devono comparire
solo nell’audio:
messages.tts.auto è "tagged", le direttive sono obbligatorie per attivare
l’audio. La consegna dei blocchi in streaming rimuove le direttive dal testo visibile prima che
il canale le riceva, anche quando sono suddivise tra blocchi adiacenti.
provider=... viene ignorato a meno che modelOverrides.allowProvider: true. Quando una
risposta dichiara provider=..., le altre chiavi della direttiva vengono analizzate
solo da quel provider; le chiavi non supportate vengono rimosse e segnalate come avvisi relativi alle direttive TTS.
Chiavi di direttiva disponibili:
provider(ID del provider registrato; richiedeallowProvider: true)speakerVoice/speakerVoiceId(alias precedenti:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(volume MiniMax,(0, 10])pitch(intonazione MiniMax intera, da −12 a 12; i valori frazionari vengono troncati)emotion(tag emotivo Volcengine)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Comandi slash
Comando singolo/tts. Su Discord, OpenClaw registra anche /voice perché
/tts è un comando integrato di Discord; il testo /tts ... continua a funzionare.
I comandi richiedono un mittente autorizzato (si applicano le regole della lista consentita/del proprietario) e
deve essere abilitato
commands.text oppure la registrazione nativa dei comandi./tts onscrive la preferenza TTS locale inalways;/tts offla scrive inoff./tts chat on|off|defaultscrive un override TTS automatico limitato alla sessione per la chat corrente./tts persona <id>scrive la preferenza locale della persona;/tts persona offla cancella./tts latestlegge l’ultima risposta dell’assistente dalla trascrizione della sessione corrente e la invia una volta come audio. Memorizza solo un hash di tale risposta nella voce della sessione per impedire invii vocali duplicati./tts audiogenera una risposta audio una tantum (non attiva o disattiva TTS)./tts limit <chars>accetta 100–4096 (4096 è il massimo per didascalie/messaggi di Telegram); i valori al di fuori di questo intervallo vengono rifiutati.limitesummaryvengono memorizzati nelle preferenze locali, non nella configurazione principale./tts statusinclude la diagnostica di fallback per l’ultimo tentativo:Fallback: <primary> -> <used>,Attempts: ...e i dettagli di ciascun tentativo (provider:outcome(reasonCode) latency)./statusmostra la modalità TTS attiva insieme al provider, al modello, alla voce e ai metadati sanitizzati dell’endpoint personalizzato configurati quando TTS è abilitato.
Preferenze per utente
I comandi slash scrivono gli override locali inprefsPath. Il valore predefinito è
~/.openclaw/settings/tts.json; è possibile sostituirlo con la variabile d’ambiente OPENCLAW_TTS_PREFS
o messages.tts.prefsPath.
Questi valori sostituiscono la configurazione effettiva derivata da
messages.tts più il blocco
agents.list[].tts attivo per quell’host.
Formati di output
La distribuzione vocale TTS dipende dalle funzionalità del canale. I Plugin dei canali indicano se il TTS in stile vocale deve richiedere ai provider una destinazionevoice-note nativa o
mantenere la normale sintesi audio-file, e se il canale transcodifica
l’output non nativo prima dell’invio.
Note specifiche per provider:
- Transcodifica per Feishu / WhatsApp: quando una risposta con messaggio vocale arriva come MP3/WebM/WAV/M4A o come un altro probabile file audio, il Plugin del canale la transcodifica in Ogg/Opus a 48 kHz con
ffmpeg(libopus, 64 kbps) prima di inviare il messaggio vocale nativo. WhatsApp invia il risultato tramite il payload Baileysaudioconptt: trueeaudio/ogg; codecs=opus. In caso di errore di transcodifica: Feishu intercetta l’errore e ripiega sull’invio del file originale come semplice allegato; WhatsApp non dispone di un ripiego, quindi l’invio stesso non riesce anziché pubblicare un payload PTT incompatibile. - MiniMax: MP3 (modello
speech-2.8-hd, frequenza di campionamento di 32 kHz) per i normali allegati audio; transcodificato in Opus a 48 kHz conffmpegper le destinazioni di messaggi vocali indicate dal canale. - Xiaomi MiMo: MP3 per impostazione predefinita oppure WAV quando configurato; transcodificato in Opus a 48 kHz con
ffmpegper le destinazioni di messaggi vocali indicate dal canale. - CLI locale: usa il valore
outputFormatconfigurato. Le destinazioni di messaggi vocali vengono convertite in Ogg/Opus e l’output telefonico viene convertito in PCM mono raw a 16 kHz conffmpeg. - Google Gemini: restituisce PCM raw a 24 kHz. OpenClaw lo incapsula come WAV per gli allegati audio, lo transcodifica in Opus a 48 kHz per le destinazioni di messaggi vocali e restituisce direttamente PCM per Conversazione/telefonia.
- Gradium: WAV per gli allegati audio, Opus per le destinazioni di messaggi vocali e
ulaw_8000a 8 kHz per la telefonia. - Inworld: MP3 per i normali allegati audio,
OGG_OPUSnativo per le destinazioni di messaggi vocali ePCMraw a 22050 Hz per Conversazione/telefonia. - xAI: MP3 per impostazione predefinita; la sintesi di file audio può usare
mp3,wav,pcm,mulawoalawsia per l’output con buffering sia per quello in streaming. Le destinazioni di messaggi vocali usano MP3 per lo streaming e come ripiego con buffering, perché gli outputpcm,mulawealawdi xAI sono audio raw senza intestazione. La sintesi con buffering usa l’endpoint REST batch/v1/ttsdi xAI;textToSpeechStreamusawss://api.x.ai/v1/ttsnativo. Questo non è il contratto vocale in tempo reale. Il formato vocale Opus nativo non è supportato. - Microsoft: usa
microsoft.outputFormat(valore predefinito:audio-24khz-48kbitrate-mono-mp3).- Il trasporto incluso accetta un valore
outputFormat, ma il servizio non rende disponibili tutti i formati. - I valori del formato di output seguono i formati di output di Microsoft Speech (incluso Ogg/WebM Opus).
- Il valore
sendVoicedi Telegram accetta OGG/MP3/M4A; usare OpenAI/ElevenLabs se sono necessari messaggi vocali Opus garantiti. - Se il formato di output Microsoft configurato non riesce, OpenClaw riprova con MP3.
- Quando non è impostato alcun override esplicito della voce e viene usata la voce inglese predefinita, OpenClaw passa automaticamente a una voce neurale cinese (
zh-CN-XiaoxiaoNeural, impostazioni localizh-CN) se il testo della risposta è prevalentemente CJK.
- Il trasporto incluso accetta un valore
Comportamento del TTS automatico
Quandomessages.tts.auto è abilitato, OpenClaw:
- Ignora la sintesi vocale se la risposta contiene già contenuti multimediali strutturati.
- Ignora le risposte molto brevi (meno di 10 caratteri).
- Riassume le risposte lunghe quando i riepiloghi sono abilitati, utilizzando
summaryModel(oagents.defaults.model.primary). - Allega l’audio generato alla risposta.
- In
mode: "final", invia comunque solo l’audio della sintesi vocale per le risposte finali trasmesse in streaming al termine del flusso di testo; i contenuti multimediali generati vengono sottoposti alla stessa normalizzazione dei contenuti multimediali del canale applicata ai normali allegati delle risposte.
maxLength, OpenClaw non omette mai completamente l’audio:
- Riepilogo attivo (impostazione predefinita) e disponibilità di un modello di riepilogo: riassume il
testo fino a circa
maxLengthcaratteri, quindi sintetizza il riepilogo. - Riepilogo disattivato, errore del riepilogo o nessuna chiave API disponibile per il
modello di riepilogo: tronca il testo a
maxLengthcaratteri e sintetizza il testo troncato.
Riferimento dei campi
messages.tts.* di primo livello
messages.tts.* di primo livello
"off" | "always" | "inbound" | "tagged"
Modalità di sintesi vocale automatica.
inbound invia l’audio solo dopo un messaggio vocale in ingresso; tagged invia l’audio solo quando la risposta include direttive [[tts:...]] o un blocco [[tts:text]].boolean
deprecato
Opzione legacy.
openclaw doctor --fix la migra a auto."final" | "all"
predefinito:"final"
"all" include le risposte di strumenti/blocchi oltre alle risposte finali.string
ID del provider vocale. Se non impostato, OpenClaw utilizza il primo provider configurato nell’ordine di selezione automatica del registro. Il valore legacy
provider: "edge" viene riscritto come "microsoft" da openclaw doctor --fix.string
ID della persona attiva da
personas. Normalizzato in minuscolo.object
Identità vocale stabile. Campi:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Consultare Profili vocali.string
Modello economico per il riepilogo automatico; valore predefinito:
agents.defaults.model.primary. Accetta provider/model o un alias di modello configurato.object
Consente al modello di emettere direttive di sintesi vocale. Il valore predefinito di
enabled è true; il valore predefinito di allowProvider è false.object
Impostazioni gestite dal provider e indicizzate per ID del provider vocale. I blocchi diretti legacy (
messages.tts.openai, .elevenlabs, .microsoft, .edge) vengono riscritti da openclaw doctor --fix; salvare solo messages.tts.providers.<id>.number
predefinito:"4096"
Limite massimo assoluto di caratteri per l’input della sintesi vocale.
/tts audio, tts.convert e tts.speak generano un errore se viene superato.number
predefinito:"30000"
Timeout della richiesta in millisecondi. Un valore
timeoutMs per chiamata (strumento dell’agente, Gateway) ha la precedenza quando impostato; in caso contrario, un valore messages.tts.timeoutMs configurato esplicitamente ha la precedenza su qualsiasi valore predefinito del provider definito dal Plugin.string
Sostituisce il percorso JSON locale delle preferenze (provider/limite/riepilogo). Valore predefinito:
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
string
Variabile di ambiente:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY o SPEECH_KEY.string
Area di Azure Speech (ad es.
eastus). Variabile di ambiente: AZURE_SPEECH_REGION o SPEECH_REGION.string
Sostituzione facoltativa dell’endpoint di Azure Speech (alias
baseUrl).string
ShortName della voce Azure. Valore predefinito:
en-US-JennyNeural. Alias legacy: voice.string
Codice lingua SSML. Valore predefinito:
en-US.string
Valore
X-Microsoft-OutputFormat di Azure per l’audio standard. Valore predefinito: audio-24khz-48kbitrate-mono-mp3.string
Valore
X-Microsoft-OutputFormat di Azure per l’output delle note vocali. Valore predefinito: ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
string
In alternativa utilizza
ELEVENLABS_API_KEY o XI_API_KEY.string
ID del modello. Valore predefinito:
eleven_multilingual_v2. Gli ID legacy eleven_turbo_v2_5/eleven_turbo_v2 vengono normalizzati nel modello flash corrispondente.string
ID della voce ElevenLabs. Valore predefinito:
pMsXgVXv3BLzUgSXRplE. Alias legacy: voiceId.object
stability, similarityBoost, style (ciascuno 0..1, valori predefiniti 0.5/0.75/0), useSpeakerBoost (true|false, valore predefinito true), speed (0.5..2.0, valore predefinito 1.0)."auto" | "on" | "off"
Modalità di normalizzazione del testo.
string
Codice ISO 639-1 di 2 lettere (ad es.
en, de).number
Valore intero
0..4294967295 per ottenere il miglior determinismo possibile.string
Sostituisce l’URL di base dell’API ElevenLabs.
Google Gemini
Google Gemini
string
Utilizza in alternativa
GEMINI_API_KEY / GOOGLE_API_KEY. Se omesso, TTS può riutilizzare models.providers.google.apiKey prima di ricorrere alla variabile di ambiente.string
Modello TTS di Gemini. Valore predefinito:
gemini-3.1-flash-tts-preview.string
Nome della voce predefinita di Gemini. Valore predefinito:
Kore. Alias precedenti: voiceName, voice.string
Prompt di stile in linguaggio naturale anteposto al testo pronunciato.
string
Etichetta facoltativa del parlante anteposta al testo pronunciato quando il prompt utilizza un parlante con nome.
"audio-profile-v1"
Impostare su
audio-profile-v1 per racchiudere i campi del prompt della persona attiva in una struttura di prompt TTS Gemini deterministica.string
Testo aggiuntivo del prompt della persona specifico per Google, aggiunto alle note del regista del modello.
string
È accettato solo
https://generativelanguage.googleapis.com.Gradium
Gradium
Inworld
Inworld
Inworld principale
string
Variabile di ambiente:
INWORLD_API_KEY.string
Valore predefinito:
https://api.inworld.ai.string
Valore predefinito:
inworld-tts-1.5-max. Altri valori: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.string
Valore predefinito:
Sarah. Alias precedente: voiceId.number
Temperatura di campionamento
0..2 (0 escluso).CLI locale (tts-local-cli)
CLI locale (tts-local-cli)
string
Eseguibile locale o stringa di comando per la sintesi vocale tramite CLI.
string[]
Argomenti del comando. Supporta i segnaposto
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}."mp3" | "opus" | "wav"
Formato di output previsto della CLI. Valore predefinito:
mp3 per gli allegati audio.number
Timeout del comando in millisecondi. Valore predefinito:
120000.string
Directory di lavoro facoltativa del comando.
Record<string, string>
Sostituzioni facoltative delle variabili di ambiente per il comando.
Microsoft (nessuna chiave API)
Microsoft (nessuna chiave API)
boolean
predefinito:"true"
Consente l’utilizzo della sintesi vocale Microsoft.
string
Nome della voce neurale Microsoft (ad es.
en-US-MichelleNeural). Alias precedente: voice. Se è attiva la voce inglese predefinita e il testo della risposta è prevalentemente CJK, OpenClaw passa automaticamente a zh-CN-XiaoxiaoNeural.string
Codice della lingua (ad es.
en-US).string
Formato di output Microsoft. Valore predefinito:
audio-24khz-48kbitrate-mono-mp3. Il trasporto incluso basato su Edge non supporta tutti i formati.string
Stringhe percentuali (ad es.
+10%, -5%).boolean
Scrive i sottotitoli JSON accanto al file audio.
string
URL del proxy per le richieste di sintesi vocale Microsoft.
number
Sostituzione del timeout della richiesta (ms).
object
deprecato
Alias precedente. Eseguire
openclaw doctor --fix per riscrivere la configurazione persistente in providers.microsoft.MiniMax
MiniMax
string
Utilizza in alternativa
MINIMAX_API_KEY. Autenticazione Token Plan tramite MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY o MINIMAX_CODING_API_KEY.string
Valore predefinito:
https://api.minimax.io. Variabile di ambiente: MINIMAX_API_HOST.string
Valore predefinito:
speech-2.8-hd. Variabile di ambiente: MINIMAX_TTS_MODEL.string
Valore predefinito:
English_expressive_narrator. Variabile di ambiente: MINIMAX_TTS_VOICE_ID. Alias precedente: voiceId.number
0.5..2.0. Valore predefinito: 1.0.number
(0, 10]. Valore predefinito: 1.0.number
Numero intero
-12..12. Valore predefinito: 0. I valori frazionari vengono troncati prima della richiesta.OpenAI
OpenAI
string
Utilizza in alternativa
OPENAI_API_KEY.string
ID del modello TTS di OpenAI. Valore predefinito:
gpt-4o-mini-tts.string
Nome della voce (ad es.
alloy, cedar). Valore predefinito: coral. Alias precedente: voice.string
Campo OpenAI
instructions esplicito. Quando è impostato, i campi del prompt della persona non vengono mappati automaticamente.Record<string, unknown>
Campi JSON aggiuntivi uniti ai corpi delle richieste
/audio/speech dopo i campi TTS di OpenAI generati. Utilizzare questa opzione per endpoint compatibili con OpenAI, come Kokoro, che richiedono chiavi specifiche del provider come lang; le chiavi di prototipo non sicure vengono ignorate.string
Sostituisce l’endpoint TTS di OpenAI. Ordine di risoluzione: configurazione →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. I valori non predefiniti vengono trattati come endpoint TTS compatibili con OpenAI; sono quindi accettati nomi personalizzati per modelli e voci e speed non è più soggetto al controllo dell’intervallo 0.25..4.0.OpenRouter
OpenRouter
string
Variabile di ambiente:
OPENROUTER_API_KEY. Può riutilizzare models.providers.openrouter.apiKey.string
Valore predefinito:
https://openrouter.ai/api/v1. Il valore precedente https://openrouter.ai/v1 viene normalizzato.string
Valore predefinito:
hexgrad/kokoro-82m. Alias: modelId.string
Valore predefinito:
af_alloy. Alias precedenti: voice, voiceId."mp3" | "pcm"
Valore predefinito:
mp3.number
Sostituzione della velocità nativa del provider.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
string
Variabile di ambiente:
VOLCENGINE_TTS_API_KEY o BYTEPLUS_SEED_SPEECH_API_KEY.string
Valore predefinito:
seed-tts-1.0. Variabile di ambiente: VOLCENGINE_TTS_RESOURCE_ID. Utilizzare seed-tts-2.0 quando il progetto dispone dell’abilitazione TTS 2.0.string
Intestazione della chiave dell’app. Valore predefinito:
aGjiRDfUWi. Variabile di ambiente: VOLCENGINE_TTS_APP_KEY.string
Sostituisce l’endpoint HTTP TTS di Seed Speech. Variabile di ambiente:
VOLCENGINE_TTS_BASE_URL.string
Tipo di voce. Valore predefinito:
en_female_anna_mars_bigtts. Variabile di ambiente: VOLCENGINE_TTS_VOICE. Alias precedente: voice.number
Rapporto di velocità nativo del provider,
0.2..3.string
Tag dell’emozione nativo del provider.
string
deprecato
Campi precedenti della console Volcengine Speech. Variabili di ambiente:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (valore predefinito: volcano_tts).xAI
xAI
string
Variabile di ambiente:
XAI_API_KEY.string
Valore predefinito:
https://api.x.ai/v1. Variabile di ambiente: XAI_BASE_URL.string
Valore predefinito:
eve. Con l’autenticazione, openclaw infer tts voices --provider xai recupera il catalogo integrato corrente; senza autenticazione elenca le alternative offline ara, eve, leo, rex e sal. Gli ID delle voci personalizzate dell’account vengono inoltrati anche quando non sono presenti nell’elenco integrato. Alias precedente: voiceId.string
Codice della lingua BCP-47 o
auto. Valore predefinito: en."mp3" | "wav" | "pcm" | "mulaw" | "alaw"
Valore predefinito:
mp3.number
Sostituzione della velocità nativa del provider,
0.7..1.5.Xiaomi MiMo
Xiaomi MiMo
string
Variabile di ambiente:
XIAOMI_API_KEY.string
Valore predefinito:
https://api.xiaomimimo.com/v1. Variabile di ambiente: XIAOMI_BASE_URL.string
Valore predefinito:
mimo-v2.5-tts. Variabile di ambiente: XIAOMI_TTS_MODEL. Supporta anche mimo-v2-tts e mimo-v2.5-tts-voicedesign.string
Valore predefinito:
mimo_default per i modelli con voce preimpostata. Variabile di ambiente: XIAOMI_TTS_VOICE. Alias precedente: voice. Non viene inviato per mimo-v2.5-tts-voicedesign."mp3" | "wav"
Valore predefinito:
mp3. Variabile di ambiente: XIAOMI_TTS_FORMAT.string
Istruzione di stile facoltativa in linguaggio naturale, inviata come messaggio dell’utente e non pronunciata. Per
mimo-v2.5-tts-voicedesign, costituisce il prompt di progettazione della voce; OpenClaw fornisce un valore predefinito quando viene omessa.Strumento dell’agente
Lo strumentotts converte il testo in voce e restituisce un allegato audio per
la consegna della risposta. Su Feishu, Matrix, Telegram e WhatsApp, l’audio viene
consegnato come messaggio vocale anziché come allegato file. Feishu e
WhatsApp possono transcodificare l’output TTS non Opus in questo percorso quando ffmpeg è
disponibile.
WhatsApp invia l’audio tramite Baileys come nota vocale PTT (audio con
ptt: true) e invia il testo visibile separatamente dall’audio PTT, poiché
i client non visualizzano in modo uniforme le didascalie delle note vocali.
Lo strumento accetta i campi facoltativi channel e timeoutMs; timeoutMs è un
timeout della richiesta al provider per singola chiamata, espresso in millisecondi. I valori per singola chiamata sostituiscono
messages.tts.timeoutMs; i timeout TTS configurati sostituiscono qualsiasi valore predefinito
del provider definito dal Plugin.
RPC del Gateway
Link ai servizi
- Guida alla sintesi vocale di OpenAI
- Riferimento dell’API Audio di OpenAI
- Sintesi vocale tramite REST di Azure Speech
- Provider Azure Speech
- Sintesi vocale di ElevenLabs
- Autenticazione di ElevenLabs
- Gradium
- API TTS di Inworld
- API MiniMax T2A v2
- API HTTP TTS di Volcengine
- Sintesi vocale Xiaomi MiMo
- node-edge-tts
- Formati di output di Microsoft Speech
- Sintesi vocale di xAI