stt-tts-modus. Provider-native
realtime Talk-sessies synthetiseren spraak binnen de realtime-provider in plaats
van dit TTS-pad aan te roepen, terwijl transcription-sessies geen gesproken
assistentantwoord synthetiseren.
Snel starten
Kies een provider
OpenAI en ElevenLabs zijn de betrouwbaarste gehoste opties. Microsoft en
Local CLI werken zonder API-sleutel. Zie de providermatrix
voor de volledige lijst.
Stel de API-sleutel in
Exporteer de omgevingsvariabele voor je provider (bijvoorbeeld
OPENAI_API_KEY,
ELEVENLABS_API_KEY). Microsoft en Local CLI hebben geen sleutel nodig.Auto-TTS staat standaard uit. Wanneer
messages.tts.provider niet is ingesteld,
kiest OpenClaw de eerste geconfigureerde provider in de automatische selectievolgorde
van het register. De ingebouwde tts-agenttool is alleen voor expliciete intentie:
gewone chat blijft tekst tenzij de gebruiker om audio vraagt, /tts gebruikt, of
Auto-TTS/directieve spraak inschakelt.Ondersteunde providers
| Provider | Authenticatie | Opmerkingen |
|---|---|---|
| Azure Speech | AZURE_SPEECH_KEY + AZURE_SPEECH_REGION (ook AZURE_SPEECH_API_KEY, SPEECH_KEY, SPEECH_REGION) | Native Ogg/Opus-spraaknotitie-uitvoer en telefonie. |
| DeepInfra | DEEPINFRA_API_KEY | OpenAI-compatibele TTS. Standaard hexgrad/Kokoro-82M. |
| ElevenLabs | ELEVENLABS_API_KEY of XI_API_KEY | Stemklonen, meertalig, deterministisch via seed; gestreamd voor Discord-spraakweergave. |
| Google Gemini | GEMINI_API_KEY of GOOGLE_API_KEY | Gemini API batch-TTS; persona-bewust via promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY | Spraaknotitie- en telefonie-uitvoer. |
| Inworld | INWORLD_API_KEY | Streaming TTS-API. Native Opus-spraaknotitie en PCM-telefonie. |
| Local CLI | geen | Voert een geconfigureerde lokale TTS-opdracht uit. |
| Microsoft | geen | Publieke Edge neural TTS via node-edge-tts. Best-effort, geen SLA. |
| MiniMax | MINIMAX_API_KEY (of Token Plan: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) | T2A v2-API. Standaard speech-2.8-hd. |
| OpenAI | OPENAI_API_KEY | Ook gebruikt voor automatische samenvatting; ondersteunt persona-instructions. |
| OpenRouter | OPENROUTER_API_KEY (kan models.providers.openrouter.apiKey hergebruiken) | Standaardmodel hexgrad/kokoro-82m. |
| Volcengine | VOLCENGINE_TTS_API_KEY of BYTEPLUS_SEED_SPEECH_API_KEY (legacy AppID/token: VOLCENGINE_TTS_APPID/_TOKEN) | BytePlus Seed Speech HTTP-API. |
| Vydra | VYDRA_API_KEY | Gedeelde image-, video- en spraakprovider. |
| xAI | XAI_API_KEY | xAI batch-TTS. Native Opus-spraaknotitie wordt niet ondersteund. |
| Xiaomi MiMo | XIAOMI_API_KEY | MiMo TTS via Xiaomi-chatvoltooiingen. |
summaryModel
(of agents.defaults.model.primary), dus die provider moet ook geauthenticeerd zijn
als je samenvattingen ingeschakeld houdt.
Configuratie
TTS-configuratie staat ondermessages.tts in ~/.openclaw/openclaw.json. Kies een
preset en pas het providerblok aan:
- Azure Speech
- ElevenLabs
- Google Gemini
- Gradium
- Inworld
- Local CLI
- Microsoft (geen sleutel)
- MiniMax
- OpenAI + ElevenLabs
- OpenRouter
- Volcengine
- xAI
- Xiaomi MiMo
mimo-v2.5-tts-voicedesign laat je speakerVoice weg en stel je
style in op de prompt voor stemontwerp. OpenClaw verstuurt die prompt als het
TTS-user-bericht en verstuurt geen audio.voice voor het voicedesign-model.
Spraakoverschrijvingen per agent
Gebruikagents.list[].tts wanneer een agent moet spreken met een andere provider,
stem, model, persona of auto-TTS-modus. Het agentblok wordt diep samengevoegd bovenop
messages.tts, zodat providerreferenties in de globale providerconfiguratie kunnen blijven staan:
agents.list[].tts.persona in naast de providerconfiguratie — dit overschrijft de globale messages.tts.persona alleen voor die agent.
Volgorde van prioriteit voor automatische antwoorden, /tts audio, /tts status en de
agenttool tts:
messages.tts- actieve
agents.list[].tts - kanaaloverschrijving, wanneer het kanaal
channels.<channel>.ttsondersteunt - accountoverschrijving, wanneer het kanaal
channels.<channel>.accounts.<id>.ttsdoorgeeft - lokale
/tts-voorkeuren voor deze host - inline
[[tts:...]]-directieven wanneer modeloverschrijvingen zijn ingeschakeld
messages.tts en
worden diep samengevoegd bovenop de eerdere lagen, zodat gedeelde providerreferenties in
messages.tts kunnen blijven staan terwijl een kanaal of botaccount alleen de sprekerstem, het model, de persona
of automatische modus wijzigt:
Persona’s
Een persona is een stabiele gesproken identiteit die deterministisch kan worden toegepast over providers heen. Deze kan één provider prefereren, providerneutrale promptintentie definiëren en providerspecifieke koppelingen bevatten voor stemmen, modellen, prompttemplates, seeds en steminstellingen.Minimale persona
Volledige persona (providerneutrale prompt)
Persona-resolutie
De actieve persona wordt deterministisch geselecteerd:- lokale voorkeur
/tts persona <id>, indien ingesteld. messages.tts.persona, indien ingesteld.- Geen persona.
- Directe overschrijvingen (CLI, Gateway, Talk, toegestane TTS-directieven).
- lokale voorkeur
/tts provider <id>. providervan de actieve persona.messages.tts.provider.- Automatische selectie uit het register.
messages.tts.providers.<id>messages.tts.personas.<persona>.providers.<id>- Vertrouwde verzoekoverschrijvingen
- Toegestane door het model uitgegeven TTS-directiefoverschrijvingen
Hoe providers persona-prompts gebruiken
Persona-promptvelden (profile, scene, sampleContext, style, accent,
pacing, constraints) zijn providerneutraal. Elke provider bepaalt zelf hoe
deze worden gebruikt:
Google Gemini
Google Gemini
Verpakt persona-promptvelden in een Gemini TTS-promptstructuur alleen wanneer
de effectieve Google-providerconfiguratie
promptTemplate: "audio-profile-v1"
of personaPrompt instelt. De oudere velden audioProfile en speakerName worden
nog steeds vooraf ingevoegd als Google-specifieke prompttekst. Inline audiotags zoals
[whispers] of [laughs] binnen een [[tts:text]]-blok blijven behouden
binnen het Gemini-transcript; OpenClaw genereert deze tags niet.OpenAI
OpenAI
Koppelt persona-promptvelden aan het verzoekveld
instructions alleen wanneer
er geen expliciete OpenAI-instructions is geconfigureerd. Expliciete instructions
heeft altijd voorrang.Andere providers
Andere providers
Gebruiken alleen de providerspecifieke persona-koppelingen onder
personas.<id>.providers.<provider>. Persona-promptvelden worden genegeerd
tenzij de provider zijn eigen persona-promptkoppeling implementeert.Fallbackbeleid
fallbackPolicy bepaalt het gedrag wanneer een persona geen koppeling heeft voor de
geprobeerde provider:
| Beleid | Gedrag |
|---|---|
preserve-persona | Standaard. Providerneutrale promptvelden blijven beschikbaar; de provider kan ze gebruiken of negeren. |
provider-defaults | Persona wordt weggelaten uit de promptvoorbereiding voor die poging; de provider gebruikt zijn neutrale standaardwaarden terwijl fallback naar andere providers doorgaat. |
fail | Sla die providerpoging over met reasonCode: "not_configured" en personaBinding: "missing". Fallbackproviders worden nog steeds geprobeerd. |
talk.catalog en deze
doorgeven via de Talk-sessie of het overdrachtsverzoek. Het openen van een stemsessie mag
messages.tts of globale standaardwaarden voor Talk-providers niet wijzigen.
Modelgestuurde directieven
Standaard kan de assistent[[tts:...]]-directieven uitsturen om
stem, model of snelheid voor één antwoord te overschrijven, plus een optioneel
[[tts:text]]...[[/tts:text]]-blok voor expressieve aanwijzingen die alleen in
audio moeten verschijnen:
messages.tts.auto "tagged" is, zijn directieven vereist om
audio te activeren. Streamingbloklevering verwijdert directieven uit zichtbare tekst voordat het
kanaal ze ziet, zelfs wanneer ze over aangrenzende blokken zijn verdeeld.
provider=... wordt genegeerd tenzij modelOverrides.allowProvider: true. Wanneer een
antwoord provider=... declareert, worden de andere sleutels in die directieve
alleen door die provider geparseerd; niet-ondersteunde sleutels worden verwijderd en gerapporteerd als TTS-directiefwaarschuwingen.
Beschikbare directiefsleutels:
provider(geregistreerde provider-id; vereistallowProvider: true)speakerVoice/speakerVoiceId(legacy aliassen:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(MiniMax-volume, 0–10)pitch(MiniMax-geheel getal voor toonhoogte, −12 tot 12; fractionele waarden worden afgekapt)emotion(Volcengine-emotietag)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Slashcommando’s
Eén commando/tts. Op Discord registreert OpenClaw ook /voice omdat
/tts een ingebouwd Discord-commando is — tekst /tts ... blijft werken.
Commando’s vereisen een geautoriseerde afzender (allowlist-/eigenaarregels zijn van toepassing) en ofwel
commands.text, of native commandoregistratie moet zijn ingeschakeld./tts onschrijft de lokale TTS-voorkeur naaralways;/tts offschrijft deze naaroff./tts chat on|off|defaultschrijft een sessiegebonden auto-TTS-overschrijving voor de huidige chat./tts persona <id>schrijft de lokale personavoorkeur;/tts persona offwist deze./tts latestleest het nieuwste assistentantwoord uit het huidige sessietranscript en verzendt het eenmaal als audio. Het slaat alleen een hash van dat antwoord op in de sessie-entry om dubbele stemverzendingen te onderdrukken./tts audiogenereert een eenmalig audioantwoord (schakelt TTS niet in).limitensummaryworden opgeslagen in lokale voorkeuren, niet in de hoofdconfiguratie./tts statusbevat fallbackdiagnostiek voor de nieuwste poging —Fallback: <primary> -> <used>,Attempts: ...en details per poging (provider:outcome(reasonCode) latency)./statustoont de actieve TTS-modus plus geconfigureerde provider, model, stem en opgeschoonde metadata voor aangepaste endpoints wanneer TTS is ingeschakeld.
Voorkeuren per gebruiker
Slashcommando’s schrijven lokale overschrijvingen naarprefsPath. De standaardwaarde is
~/.openclaw/settings/tts.json; overschrijf dit met de env-var OPENCLAW_TTS_PREFS
of messages.tts.prefsPath.
| Opgeslagen veld | Effect |
|---|---|
auto | Lokale auto-TTS-overschrijving (always, off, …) |
provider | Lokale primaire provideroverschrijving |
persona | Lokale personaoverschrijving |
maxLength | Samenvattingsdrempel (standaard 1500 tekens) |
summarize | Samenvattingsschakelaar (standaard true) |
messages.tts plus het actieve
agents.list[].tts-blok voor die host.
Uitvoerformaten (vast)
TTS-stemlevering wordt bepaald door kanaalmogelijkheden. Kanaalplugins adverteren of voice-style TTS providers moet vragen om een nativevoice-note-doel of
normale audio-file-synthese moet behouden en compatibele uitvoer alleen moet markeren voor stemlevering.
- Kanalen met ondersteuning voor spraaknotities: antwoorden als spraaknotitie geven de voorkeur aan Opus (
opus_48000_64van ElevenLabs,opusvan OpenAI).- 48 kHz / 64 kbps is een goede afweging voor spraakberichten.
- Feishu / WhatsApp: wanneer een antwoord als spraaknotitie wordt geproduceerd als MP3/WebM/WAV/M4A
of een ander waarschijnlijk audiobestand, transcodeert de kanaalplugin dit met
ffmpegnaar 48 kHz Ogg/Opus voordat het native spraakbericht wordt verzonden. WhatsApp verzendt het resultaat via de Baileys-audio-payload metptt: trueenaudio/ogg; codecs=opus. Als conversie mislukt, ontvangt Feishu het originele bestand als bijlage; verzenden via WhatsApp mislukt in plaats van een incompatibele PTT-payload te plaatsen. - Andere kanalen: MP3 (
mp3_44100_128van ElevenLabs,mp3van OpenAI).- 44,1 kHz / 128 kbps is de standaardbalans voor spraakhelderheid.
- MiniMax: MP3 (
speech-2.8-hd-model, samplefrequentie van 32 kHz) voor normale audiobijlagen. Voor door kanalen geadverteerde doelen voor spraaknotities transcodeert OpenClaw de MiniMax-MP3 metffmpegnaar 48 kHz Opus vóór aflevering wanneer het kanaal transcoding adverteert. - Xiaomi MiMo: standaard MP3, of WAV wanneer geconfigureerd. Voor door kanalen geadverteerde doelen voor spraaknotities transcodeert OpenClaw Xiaomi-uitvoer met
ffmpegnaar 48 kHz Opus vóór aflevering wanneer het kanaal transcoding adverteert. - Lokale CLI: gebruikt de geconfigureerde
outputFormat. Doelen voor spraaknotities worden geconverteerd naar Ogg/Opus en telefonie-uitvoer wordt metffmpeggeconverteerd naar ruwe 16 kHz mono PCM. - Google Gemini: Gemini API TTS retourneert ruwe 24 kHz PCM. OpenClaw verpakt dit als WAV voor audiobijlagen, transcodeert het naar 48 kHz Opus voor doelen voor spraaknotities, en retourneert PCM direct voor Talk/telefonie.
- Gradium: WAV voor audiobijlagen, Opus voor doelen voor spraaknotities, en
ulaw_8000op 8 kHz voor telefonie. - Inworld: MP3 voor normale audiobijlagen, native
OGG_OPUSvoor doelen voor spraaknotities, en ruwePCMop 22050 Hz voor Talk/telefonie. - xAI: standaard MP3;
responseFormatkanmp3,wav,pcm,mulawofalawzijn. OpenClaw gebruikt xAI’s batch-REST-TTS-eindpunt en retourneert een volledige audiobijlage; xAI’s streaming TTS WebSocket wordt niet gebruikt door dit providerpad. Native Opus-indeling voor spraaknotities wordt door dit pad niet ondersteund. - Microsoft: gebruikt
microsoft.outputFormat(standaardaudio-24khz-48kbitrate-mono-mp3).- Het gebundelde transport accepteert een
outputFormat, maar niet alle indelingen zijn beschikbaar vanuit de service. - Waarden voor uitvoerindelingen volgen Microsoft Speech-uitvoerindelingen (inclusief Ogg/WebM Opus).
- Telegram
sendVoiceaccepteert OGG/MP3/M4A; gebruik OpenAI/ElevenLabs als u gegarandeerde Opus-spraakberichten nodig hebt. - Als de geconfigureerde Microsoft-uitvoerindeling mislukt, probeert OpenClaw het opnieuw met MP3.
- Het gebundelde transport accepteert een
Auto-TTS-gedrag
Wanneermessages.tts.auto is ingeschakeld, doet OpenClaw het volgende:
- Slaat TTS over als het antwoord al gestructureerde media bevat.
- Slaat zeer korte antwoorden over (minder dan 10 tekens).
- Vat lange antwoorden samen wanneer samenvattingen zijn ingeschakeld, met
summaryModel(ofagents.defaults.model.primary). - Voegt de gegenereerde audio als bijlage toe aan het antwoord.
- In
mode: "final"wordt nog steeds audio-only TTS verzonden voor gestreamde eindantwoorden nadat de tekststream is voltooid; de gegenereerde media doorlopen dezelfde kanaalmedianormalisatie als normale antwoordbijlagen.
maxLength overschrijdt en samenvatting is uitgeschakeld (of er geen API-sleutel is voor het
samenvattingsmodel), wordt audio overgeslagen en wordt het normale tekstantwoord verzonden.
Uitvoerindelingen per kanaal
| Doel | Indeling |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Antwoorden als spraaknotitie geven de voorkeur aan Opus (opus_48000_64 van ElevenLabs, opus van OpenAI). 48 kHz / 64 kbps brengt helderheid en grootte in balans. |
| Andere kanalen | MP3 (mp3_44100_128 van ElevenLabs, mp3 van OpenAI). 44,1 kHz / 128 kbps is de standaard voor spraak. |
| Talk / telefonie | Provider-native PCM (Inworld 22050 Hz, Google 24 kHz), of ulaw_8000 van Gradium voor telefonie. |
- Feishu / WhatsApp-transcodering: Wanneer een antwoord als spraaknotitie binnenkomt als MP3/WebM/WAV/M4A, transcodeert de kanaal-Plugin dit naar 48 kHz Ogg/Opus met
ffmpeg. WhatsApp verzendt via Baileys metptt: trueenaudio/ogg; codecs=opus. Als de conversie mislukt: Feishu valt terug op het bijvoegen van het oorspronkelijke bestand; verzenden via WhatsApp mislukt in plaats van een incompatibele PTT-payload te plaatsen. - MiniMax / Xiaomi MiMo: Standaard MP3 (32 kHz voor MiniMax
speech-2.8-hd); getranscodeerd naar 48 kHz Opus voor doelen voor spraaknotities viaffmpeg. - Lokale CLI: Gebruikt de geconfigureerde
outputFormat. Doelen voor spraaknotities worden geconverteerd naar Ogg/Opus en telefonie-uitvoer naar ruwe 16 kHz mono PCM. - Google Gemini: Retourneert ruwe 24 kHz PCM. OpenClaw verpakt dit als WAV voor bijlagen, transcodeert naar 48 kHz Opus voor doelen voor spraaknotities, en retourneert PCM rechtstreeks voor Talk/telefonie.
- Inworld: MP3-bijlagen, native
OGG_OPUS-spraaknotitie, ruwePCM22050 Hz voor Talk/telefonie. - xAI: Standaard MP3;
responseFormatkanmp3|wav|pcm|mulaw|alawzijn. Gebruikt xAI’s batch-REST-eindpunt — streaming WebSocket TTS wordt niet gebruikt. Native Opus-indeling voor spraaknotities wordt niet ondersteund. - Microsoft: Gebruikt
microsoft.outputFormat(standaardaudio-24khz-48kbitrate-mono-mp3). TelegramsendVoiceaccepteert OGG/MP3/M4A; gebruik OpenAI/ElevenLabs als je gegarandeerde Opus-spraakberichten nodig hebt. Als de geconfigureerde Microsoft-indeling mislukt, probeert OpenClaw het opnieuw met MP3.
Veldreferentie
Top-level messages.tts.*
Top-level messages.tts.*
Auto-TTS-modus.
inbound verzendt alleen audio na een inkomend spraakbericht; tagged verzendt alleen audio wanneer het antwoord [[tts:...]]-directieven of een [[tts:text]]-blok bevat.Verouderde schakelaar.
openclaw doctor --fix migreert dit naar auto."all" bevat tool-/blokantwoorden naast eindantwoorden.Spraakprovider-id. Wanneer niet ingesteld, gebruikt OpenClaw de eerste geconfigureerde provider in de automatische selectievolgorde van het register. Verouderde
provider: "edge" wordt door openclaw doctor --fix herschreven naar "microsoft".Actieve persona-id uit
personas. Genormaliseerd naar kleine letters.Stabiele gesproken identiteit. Velden:
label, description, provider, fallbackPolicy, prompt, providers.<provider>. Zie Persona’s.Goedkoop model voor automatische samenvatting; standaard
agents.defaults.model.primary. Accepteert provider/model of een geconfigureerde modelalias.Sta toe dat het model TTS-directieven uitstoot.
enabled is standaard true; allowProvider is standaard false.Instellingen die eigendom zijn van de provider, gesleuteld op spraakprovider-id. Verouderde directe blokken (
messages.tts.openai, .elevenlabs, .microsoft, .edge) worden herschreven door openclaw doctor --fix; commit alleen messages.tts.providers.<id>.Harde limiet voor TTS-invoertekens.
/tts audio mislukt als deze wordt overschreden.Aanvraagtime-out in milliseconden.
Overschrijf het lokale JSON-pad voor voorkeuren (provider/limiet/samenvatting). Standaard
~/.openclaw/settings/tts.json.Azure Speech
Azure Speech
Env:
AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY, of SPEECH_KEY.Azure Speech-regio (bijv.
eastus). Env: AZURE_SPEECH_REGION of SPEECH_REGION.Optionele overschrijving van Azure Speech-eindpunt (alias
baseUrl).Azure-spraak ShortName. Standaard
en-US-JennyNeural. Verouderde alias: voice.SSML-taalcode. Standaard
en-US.Azure
X-Microsoft-OutputFormat voor standaardaudio. Standaard audio-24khz-48kbitrate-mono-mp3.Azure
X-Microsoft-OutputFormat voor uitvoer als spraaknotitie. Standaard ogg-24khz-16bit-mono-opus.ElevenLabs
ElevenLabs
Valt terug op
ELEVENLABS_API_KEY of XI_API_KEY.Model-id (bijv.
eleven_multilingual_v2, eleven_v3).ElevenLabs-spraak-id. Verouderde alias:
voiceId.stability, similarityBoost, style (elk 0..1), useSpeakerBoost (true|false), speed (0.5..2.0, 1.0 = normaal).Tekstnormalisatiemodus.
2-letterige ISO 639-1 (bijv.
en, de).Geheel getal
0..4294967295 voor best-effort determinisme.Overschrijf de basis-URL van de ElevenLabs-API.
Google Gemini
Google Gemini
Valt terug op
GEMINI_API_KEY / GOOGLE_API_KEY. Indien weggelaten, kan TTS models.providers.google.apiKey hergebruiken voordat wordt teruggevallen op env.Gemini TTS-model. Standaard
gemini-3.1-flash-tts-preview.Gemini vooraf gebouwde spraaknaam. Standaard
Kore. Verouderde aliassen: voiceName, voice.Stijlprompt in natuurlijke taal die vóór gesproken tekst wordt geplaatst.
Optioneel sprekerlabel dat vóór gesproken tekst wordt geplaatst wanneer je prompt een benoemde spreker gebruikt.
Stel in op
audio-profile-v1 om actieve persona-promptvelden in een deterministische Gemini TTS-promptstructuur te verpakken.Google-specifieke extra persona-prompttekst die wordt toegevoegd aan de regienotities van de sjabloon.
Alleen
https://generativelanguage.googleapis.com wordt geaccepteerd.Gradium
Gradium
Inworld
Inworld
Primaire Inworld
Env:
INWORLD_API_KEY.Standaard
https://api.inworld.ai.Standaard
inworld-tts-1.5-max. Ook: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.Standaard
Sarah. Verouderde alias: voiceId.Samplingtemperatuur
0..2.Lokale CLI (tts-local-cli)
Lokale CLI (tts-local-cli)
Lokaal uitvoerbaar bestand of opdrachtstring voor CLI TTS.
Opdrachtargumenten. Ondersteunt de plaatsaanduidingen
{{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.Verwachte uitvoerindeling van de CLI. Standaard
mp3 voor audiobijlagen.Time-out van opdracht in milliseconden. Standaard
120000.Optionele werkdirectory voor de opdracht.
Optionele omgevingsoverschrijvingen voor de opdracht.
Microsoft (geen API-sleutel)
Microsoft (geen API-sleutel)
Microsoft-spraakgebruik toestaan.
Naam van Microsoft-neural voice (bijv.
en-US-MichelleNeural). Verouderde alias: voice.Taalcode (bijv.
en-US).Microsoft-uitvoerindeling. Standaard
audio-24khz-48kbitrate-mono-mp3. Niet alle indelingen worden ondersteund door het gebundelde Edge-gebaseerde transport.Percentagestrings (bijv.
+10%, -5%).JSON-ondertitels naast het audiobestand schrijven.
Proxy-URL voor Microsoft-spraakverzoeken.
Overschrijving van aanvraagtijdslimiet (ms).
Verouderde alias. Voer
openclaw doctor --fix uit om opgeslagen configuratie naar providers.microsoft te herschrijven.MiniMax
MiniMax
Valt terug op
MINIMAX_API_KEY. Token Plan-auth via MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY of MINIMAX_CODING_API_KEY.Standaard
https://api.minimax.io. Env: MINIMAX_API_HOST.Standaard
speech-2.8-hd. Env: MINIMAX_TTS_MODEL.Standaard
English_expressive_narrator. Env: MINIMAX_TTS_VOICE_ID. Verouderde alias: voiceId.0.5..2.0. Standaard 1.0.(0, 10]. Standaard 1.0.Integer
-12..12. Standaard 0. Fractionele waarden worden vóór de aanvraag afgekapt.OpenAI
OpenAI
Valt terug op
OPENAI_API_KEY.OpenAI TTS-model-id (bijv.
gpt-4o-mini-tts).Stemnaam (bijv.
alloy, cedar). Verouderde alias: voice.Expliciet OpenAI-veld
instructions. Wanneer ingesteld, worden personapromptvelden niet automatisch gemapt.Extra JSON-velden die worden samengevoegd in aanvraagbodies voor
/audio/speech na gegenereerde OpenAI TTS-velden. Gebruik dit voor OpenAI-compatibele eindpunten zoals Kokoro die providerspecifieke sleutels vereisen, zoals lang; onveilige prototypesleutels worden genegeerd.Overschrijf het OpenAI TTS-eindpunt. Volgorde van resolutie: configuratie →
OPENAI_TTS_BASE_URL → https://api.openai.com/v1. Niet-standaardwaarden worden behandeld als OpenAI-compatibele TTS-eindpunten, zodat aangepaste model- en stemnamen worden geaccepteerd.OpenRouter
OpenRouter
Env:
OPENROUTER_API_KEY. Kan models.providers.openrouter.apiKey hergebruiken.Standaard
https://openrouter.ai/api/v1. Verouderde https://openrouter.ai/v1 wordt genormaliseerd.Standaard
hexgrad/kokoro-82m. Alias: modelId.Standaard
af_alloy. Verouderde aliassen: voice, voiceId.Standaard
mp3.Providerspecifieke snelheidsoverschrijving.
Volcengine (BytePlus Seed Speech)
Volcengine (BytePlus Seed Speech)
Env:
VOLCENGINE_TTS_API_KEY of BYTEPLUS_SEED_SPEECH_API_KEY.Standaard
seed-tts-1.0. Env: VOLCENGINE_TTS_RESOURCE_ID. Gebruik seed-tts-2.0 wanneer je project TTS 2.0-rechten heeft.App-sleutelheader. Standaard
aGjiRDfUWi. Env: VOLCENGINE_TTS_APP_KEY.Overschrijf het Seed Speech TTS HTTP-eindpunt. Env:
VOLCENGINE_TTS_BASE_URL.Stemtype. Standaard
en_female_anna_mars_bigtts. Env: VOLCENGINE_TTS_VOICE. Verouderde alias: voice.Providerspecifieke snelheidsverhouding.
Providerspecifieke emotietag.
Verouderde Volcengine Speech Console-velden. Env:
VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (standaard volcano_tts).xAI
xAI
Env:
XAI_API_KEY.Standaard
https://api.x.ai/v1. Env: XAI_BASE_URL.Standaard
eve. Live stemmen: ara, eve, leo, rex, sal, una. Verouderde alias: voiceId.BCP-47-taalcode of
auto. Standaard en.Standaard
mp3.Providerspecifieke snelheidsoverschrijving.
Xiaomi MiMo
Xiaomi MiMo
Env:
XIAOMI_API_KEY.Standaard
https://api.xiaomimimo.com/v1. Env: XIAOMI_BASE_URL.Standaard
mimo-v2.5-tts. Env: XIAOMI_TTS_MODEL. Ondersteunt ook mimo-v2-tts en mimo-v2.5-tts-voicedesign.Standaard
mimo_default voor vooraf ingestelde stemmodellen. Env: XIAOMI_TTS_VOICE. Verouderde alias: voice. Niet verzonden voor mimo-v2.5-tts-voicedesign.Standaard
mp3. Env: XIAOMI_TTS_FORMAT.Optionele stijlinstructie in natuurlijke taal die als gebruikersbericht wordt verzonden; wordt niet uitgesproken. Voor
mimo-v2.5-tts-voicedesign is dit de voice-design-prompt; OpenClaw levert een standaardwaarde wanneer deze wordt weggelaten.Agenttool
De tooltts converteert tekst naar spraak en retourneert een audiobijlage voor
antwoordbezorging. Op Feishu, Matrix, Telegram en WhatsApp wordt de audio
bezorgd als spraakbericht in plaats van als bestandsbijlage. Feishu en
WhatsApp kunnen niet-Opus TTS-uitvoer op dit pad transcoderen wanneer ffmpeg
beschikbaar is.
WhatsApp verzendt audio via Baileys als een PTT-spraaknotitie (audio met
ptt: true) en verzendt zichtbare tekst apart van PTT-audio, omdat
clients bijschriften op spraaknotities niet consistent weergeven.
De tool accepteert optionele velden channel en timeoutMs; timeoutMs is een
per-aanroep aanvraagtijdslimiet voor de provider in milliseconden. Per-aanroepwaarden overschrijven
messages.tts.timeoutMs; geconfigureerde TTS-time-outs overschrijven elke door Plugin geschreven
standaardproviderwaarde.
Gateway-RPC
| Methode | Doel |
|---|---|
tts.status | Huidige TTS-status en laatste poging lezen. |
tts.enable | Lokale automatische voorkeur instellen op always. |
tts.disable | Lokale automatische voorkeur instellen op off. |
tts.convert | Eenmalige tekst → audio. |
tts.setProvider | Lokale providervoorkeur instellen. |
tts.setPersona | Lokale personavoorkeur instellen. |
tts.providers | Geconfigureerde providers en status weergeven. |
Servicelinks
- OpenAI-gids voor tekst-naar-spraak
- OpenAI Audio API-referentie
- Azure Speech REST tekst-naar-spraak
- Azure Speech-provider
- ElevenLabs Text to Speech
- ElevenLabs-authenticatie
- Gradium
- Inworld TTS API
- MiniMax T2A v2 API
- Volcengine TTS HTTP API
- Xiaomi MiMo-spraaksynthese
- node-edge-tts
- Microsoft Speech-uitvoerindelingen
- xAI tekst naar spraak