Tools
Tekst-naar-spraak
OpenClaw zet uitgaande antwoorden om in audio via 14 spraakproviders: native spraakberichten op Feishu, Matrix, Telegram en WhatsApp; audio- bijlagen op alle andere platforms; en PCM/Ulaw-streams voor telefonie en Talk.
TTS is de spraakuitvoerhelft van de stt-tts-modus van Talk (talk.speak-gesprekken gebruiken
ditzelfde synthesepad). Providernatieve realtime-Talk-sessies synthetiseren
spraak binnen de realtimeprovider; transcription-sessies synthetiseren nooit
een gesproken antwoord van de assistent.
Snel aan de slag
Kies een provider
OpenAI en ElevenLabs zijn de betrouwbaarste gehoste opties. Microsoft en de lokale CLI werken zonder API-sleutel. Bekijk 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 de lokale CLI hebben geen sleutel nodig.
Schakel het in de configuratie in
Stel tts.auto: "always" en tts.provider in:
{ tts: { auto: "always", provider: "elevenlabs", },}Probeer het in de chat
/tts status toont de huidige status. /tts audio Hello from OpenClaw
verzendt een eenmalig audioantwoord.
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-uitvoer voor spraakberichten en telefonie. |
| DeepInfra | DEEPINFRA_API_KEY |
OpenAI-compatibele TTS. Standaard ingesteld op hexgrad/Kokoro-82M. |
| ElevenLabs | ELEVENLABS_API_KEY of XI_API_KEY |
Stemklonen, meertalig, deterministisch via seed; gestreamd voor spraakweergave in Discord. |
| Google Gemini | GEMINI_API_KEY of GOOGLE_API_KEY |
Batch-TTS via de Gemini-API; personabewust via promptTemplate: "audio-profile-v1". |
| Gradium | GRADIUM_API_KEY |
Uitvoer voor spraakberichten en telefonie. |
| Inworld | INWORLD_API_KEY |
Streaming-TTS-API. Native Opus voor spraakberichten en PCM voor telefonie. |
| Lokale CLI | geen | Voert een geconfigureerde lokale TTS-opdracht uit. |
| Microsoft | geen | Openbare neurale Edge-TTS via node-edge-tts. Naar beste vermogen, zonder SLA. |
| MiniMax | MINIMAX_API_KEY (of Token Plan: MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY, MINIMAX_CODING_API_KEY) |
T2A v2-API. Standaard ingesteld op speech-2.8-hd. |
| OpenAI | OPENAI_API_KEY |
Wordt ook gebruikt voor automatische samenvattingen; 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 (verouderde AppID/token: VOLCENGINE_TTS_APPID/_TOKEN) |
BytePlus Seed Speech HTTP-API. |
| Vydra | VYDRA_API_KEY |
Gedeelde provider voor afbeeldingen, video en spraak. |
| xAI | XAI_API_KEY |
Batch-TTS van xAI. Native Opus voor spraakberichten wordt niet ondersteund. |
| Xiaomi MiMo | XIAOMI_API_KEY |
MiMo-TTS via Xiaomi-chatvoltooiingen. |
Als meerdere providers zijn geconfigureerd, wordt de geselecteerde provider eerst gebruikt en dienen de
andere als terugvalopties. Automatische samenvattingen gebruiken summaryModel (of
agents.defaults.model.primary), dus die provider moet ook geauthenticeerd zijn
als je samenvattingen ingeschakeld laat.
Configuratie
De TTS-configuratie staat onder tts in ~/.openclaw/openclaw.json. Kies een
voorinstelling en pas het providerblok aan. De hieronder getoonde velden speakerVoice/speakerVoiceId
zijn canoniek; de eigen veldnamen voice/voiceId/
voiceName van elke provider werken nog als verouderde aliassen.
Azure Speech
{tts: {auto: "always",provider: "azure-speech",providers: { "azure-speech": { apiKey: "${AZURE_SPEECH_KEY}", region: "eastus", speakerVoice: "en-US-JennyNeural", lang: "en-US", outputFormat: "audio-24khz-48kbitrate-mono-mp3", voiceNoteOutputFormat: "ogg-24khz-16bit-mono-opus", },},},}ElevenLabs
{tts: {auto: "always",provider: "elevenlabs",providers: { elevenlabs: { apiKey: "${ELEVENLABS_API_KEY}", model: "eleven_multilingual_v2", speakerVoiceId: "EXAVITQu4vr4xnSDxMaL", },},},}Google Gemini
{tts: {auto: "always",provider: "google",providers: { google: { apiKey: "${GEMINI_API_KEY}", model: "gemini-3.1-flash-tts-preview", speakerVoice: "Kore", // Optionele stijlprompts in natuurlijke taal: // audioProfile: "Spreek met een kalme toon, zoals een podcastpresentator.", // speakerName: "Alex", },},},}Gradium
{tts: {auto: "always",provider: "gradium",providers: { gradium: { apiKey: "${GRADIUM_API_KEY}", speakerVoiceId: "YTpq7expH9539ERJ", },},},}Inworld
{tts: {auto: "always",provider: "inworld",providers: { inworld: { apiKey: "${INWORLD_API_KEY}", modelId: "inworld-tts-1.5-max", speakerVoiceId: "Sarah", temperature: 0.7, },},},}Lokale CLI
{tts: {auto: "always",provider: "tts-local-cli",providers: { "tts-local-cli": { command: "say", args: ["-o", "{{OutputPath}}", "{{Text}}"], outputFormat: "wav", timeoutMs: 120000, },},},}Microsoft (geen sleutel)
{tts: {auto: "always",provider: "microsoft",providers: { microsoft: { enabled: true, speakerVoice: "en-US-MichelleNeural", lang: "en-US", outputFormat: "audio-24khz-48kbitrate-mono-mp3", rate: "+0%", pitch: "+0%", },},},}MiniMax
{tts: {auto: "always",provider: "minimax",providers: { minimax: { apiKey: "${MINIMAX_API_KEY}", model: "speech-2.8-hd", speakerVoiceId: "English_expressive_narrator", speed: 1.0, vol: 1.0, pitch: 0, },},},}OpenAI + ElevenLabs
{tts: {auto: "always",provider: "openai",summaryModel: "openai/gpt-4.1-mini",modelOverrides: { enabled: true },providers: { openai: { apiKey: "${OPENAI_API_KEY}", model: "gpt-4o-mini-tts", speakerVoice: "alloy", }, elevenlabs: { apiKey: "${ELEVENLABS_API_KEY}", model: "eleven_multilingual_v2", speakerVoiceId: "EXAVITQu4vr4xnSDxMaL", voiceSettings: { stability: 0.5, similarityBoost: 0.75, style: 0.0, useSpeakerBoost: true, speed: 1.0 }, applyTextNormalization: "auto", languageCode: "en", },},},}OpenRouter
{tts: {auto: "always",provider: "openrouter",providers: { openrouter: { apiKey: "${OPENROUTER_API_KEY}", model: "hexgrad/kokoro-82m", speakerVoice: "af_alloy", responseFormat: "mp3", },},},}Volcengine
{tts: {auto: "always",provider: "volcengine",providers: { volcengine: { apiKey: "${VOLCENGINE_TTS_API_KEY}", resourceId: "seed-tts-1.0", speakerVoice: "en_female_anna_mars_bigtts", },},},}xAI
{tts: {auto: "always",provider: "xai",providers: { xai: { apiKey: "${XAI_API_KEY}", speakerVoiceId: "eve", language: "en", responseFormat: "mp3", },},},}Xiaomi MiMo
{tts: {auto: "always",provider: "xiaomi",providers: { xiaomi: { apiKey: "${XIAOMI_API_KEY}", model: "mimo-v2.5-tts", speakerVoice: "mimo_default", format: "mp3", },},},}Laat voor Xiaomi mimo-v2.5-tts-voicedesign speakerVoice weg en stel style in op
de prompt voor het stemontwerp. OpenClaw verzendt die prompt als het TTS-bericht user
en verzendt audio.voice niet voor het voicedesign-model.
Stemoverschrijvingen per agent
Gebruik agents.entries.*.tts wanneer één agent met een andere provider,
stem, model, persona of automatische TTS-modus moet spreken. Het agentblok wordt diep samengevoegd boven op
tts, zodat providerreferenties in de globale providerconfiguratie kunnen blijven staan:
{ tts: { auto: "always", provider: "elevenlabs", providers: { elevenlabs: { apiKey: "${ELEVENLABS_API_KEY}", model: "eleven_multilingual_v2" }, }, }, agents: { list: [ { id: "reader", tts: { providers: { elevenlabs: { speakerVoiceId: "EXAVITQu4vr4xnSDxMaL" }, }, }, }, ], },}Om een persona per agent vast te zetten, stel je agents.entries.*.tts.persona in naast de providerconfiguratie — deze overschrijft de algemene tts.persona uitsluitend voor die agent.
Volgorde van prioriteit voor automatische antwoorden, /tts audio, /tts status en de agenttool tts:
tts- actieve
agents.entries.*.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:...]]-instructies wanneer modelgestuurde overschrijvingen zijn ingeschakeld
Kanaal- en accountoverschrijvingen gebruiken dezelfde vorm als tts en worden diep samengevoegd over de eerdere lagen, zodat gedeelde providerreferenties in tts kunnen blijven terwijl een kanaal- of botaccount alleen de stem van de spreker, het model, de persona of de automatische modus wijzigt:
{ tts: { provider: "openai", providers: { openai: { apiKey: "${OPENAI_API_KEY}", model: "gpt-4o-mini-tts" }, }, }, channels: { feishu: { accounts: { english: { tts: { providers: { openai: { speakerVoice: "shimmer" }, }, }, }, }, }, },}Persona's
Een persona is een stabiele gesproken identiteit die deterministisch kan worden toegepast bij verschillende providers. De persona kan de voorkeur geven aan één provider, providerneutrale promptintentie definiëren en providerspecifieke koppelingen bevatten voor stemmen, modellen, promptsjablonen, seeds en steminstellingen.
Minimale persona
{ tts: { auto: "always", persona: "narrator", personas: { narrator: { label: "Verteller", provider: "elevenlabs", providers: { elevenlabs: { speakerVoiceId: "EXAVITQu4vr4xnSDxMaL", modelId: "eleven_multilingual_v2", }, }, }, }, },}Volledige persona (providerspecifieke vormgeving)
{ tts: { auto: "always", persona: "alfred", personas: { alfred: { label: "Alfred", description: "Droge, warme Britse butlerverteller.", provider: "google", fallbackPolicy: "preserve-persona", providers: { google: { model: "gemini-3.1-flash-tts-preview", speakerVoice: "Algieba", promptTemplate: "audio-profile-v1", }, openai: { model: "gpt-4o-mini-tts", speakerVoice: "cedar" }, elevenlabs: { speakerVoiceId: "voice_id", modelId: "eleven_multilingual_v2", seed: 42, voiceSettings: { stability: 0.65, similarityBoost: 0.8, style: 0.25, useSpeakerBoost: true, speed: 0.95, }, }, }, }, }, },}Personaresolutie
De actieve persona wordt deterministisch geselecteerd:
/tts persona <id>lokale voorkeur, indien ingesteld.tts.persona, indien ingesteld.- Geen persona.
Providerselectie verwerkt expliciete keuzes eerst:
- Directe overschrijvingen (CLI, Gateway, Talk, toegestane TTS-instructies).
/tts provider <id>lokale voorkeur.providervan de actieve persona.tts.provider.- Automatische selectie uit het register.
Voor elke providerpoging voegt OpenClaw configuraties in deze volgorde samen:
tts.providers.<id>tts.personas.<persona>.providers.<id>- Vertrouwde aanvraagoverschrijvingen
- Toegestane overschrijvingen uit door het model uitgegeven TTS-instructies
Aangepaste personavormgeving
Providerneutrale personas.<id>.prompt.*-configuratie is buiten gebruik gesteld. Doctor verwijdert die velden en verwijst naar de interface van de spraakprovider. Plaats ingebouwde providerinstellingen onder personas.<id>.providers.<provider> (bijvoorbeeld Google personaPrompt of OpenAI instructions). Voor aangepaste vormgeving implementeer je een spraakproviderplugin met prepareSynthesis(ctx) en retourneer je aangepaste tekst, providerconfiguratie of overschrijvingen voordat synthesize() wordt uitgevoerd. Hierdoor blijft de constructie van expressieve prompts in de providercode, waar de semantiek van de aanvraag bekend is.
Terugvalbeleid
fallbackPolicy bepaalt het gedrag wanneer een persona geen koppeling heeft voor de provider die wordt geprobeerd:
| Beleid | Gedrag |
|---|---|
preserve-persona |
Standaard. Providerneutrale promptvelden blijven beschikbaar; de provider kan ze gebruiken of negeren. |
provider-defaults |
De persona wordt voor die poging weggelaten uit de promptvoorbereiding; de provider gebruikt zijn neutrale standaardwaarden terwijl de terugval naar andere providers doorgaat. |
fail |
Sla die providerpoging over met reasonCode: "not_configured" en personaBinding: "missing". Terugvalproviders worden nog steeds geprobeerd. |
De volledige TTS-aanvraag mislukt alleen wanneer elke providerpoging wordt overgeslagen of mislukt.
De providerselectie voor een Talk-sessie geldt uitsluitend binnen de sessie. Een Talk-client hoort provider-ID's, model-ID's, stem-ID's en landinstellingen te kiezen uit talk.catalog en deze door te geven via de Talk-sessie of overdrachtsaanvraag. Het openen van een spraaksessie hoort tts of de algemene standaardproviders van Talk niet te wijzigen.
Modelgestuurde instructies
Standaard kan de assistent [[tts:...]]-instructies uitvoeren om de stem, het model of de snelheid voor één antwoord te overschrijven, plus een optioneel [[tts:text]]...[[/tts:text]]-blok voor expressieve aanwijzingen die alleen in de audio mogen voorkomen:
Alsjeblieft. [[tts:speakerVoiceId=pMsXgVXv3BLzUgSXRplE model=eleven_v3 speed=1.1]][[tts:text]](lacht) Lees het lied nogmaals.[[/tts:text]]Wanneer tts.auto gelijk is aan "tagged", zijn instructies vereist om audio te activeren. Bij gestreamde bloklevering worden instructies uit zichtbare tekst verwijderd voordat het kanaal ze ontvangt, 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 instructie uitsluitend door die provider geparseerd; niet-ondersteunde sleutels worden verwijderd en gemeld als waarschuwingen voor TTS-instructies.
Beschikbare instructiesleutels:
provider(geregistreerde provider-ID; vereistallowProvider: true)speakerVoice/speakerVoiceId(verouderde aliassen:voice,voiceName,voice_name,google_voice,voiceId)model/google_modelstability,similarityBoost,style,speed,useSpeakerBoostvol/volume(MiniMax-volume,(0, 10])pitch(gehele MiniMax-toonhoogte, −12 tot 12; fractionele waarden worden afgekapt)emotion(Volcengine-emotietag)applyTextNormalization(auto|on|off)languageCode(ISO 639-1)seed
Modeloverschrijvingen volledig uitschakelen:
{ messages: { tts: { modelOverrides: { enabled: false } } } }Wisselen van provider toestaan terwijl andere instellingen configureerbaar blijven:
{ messages: { tts: { modelOverrides: { enabled: true, allowProvider: true, allowSeed: false } } } }Slash-opdrachten
Eén opdracht: /tts. Op Discord registreert OpenClaw ook /voice, omdat /tts een ingebouwde Discord-opdracht is — de tekst /tts ... werkt nog steeds.
/tts off | on | status/tts chat on | off | default/tts latest/tts provider <id>/tts persona <id> | off/tts limit <chars>/tts summary off/tts audio <text>Gedragsnotities:
/tts onschrijft de lokale TTS-voorkeur naaralways;/tts offschrijft deze naaroff./tts chat on|off|defaultschrijft een sessiegebonden automatische TTS-overschrijving voor de huidige chat./tts persona <id>schrijft de lokale personavoorkeur;/tts persona offwist deze./tts latestleest het nieuwste assistentantwoord uit het transcript van de huidige sessie en verzendt het eenmaal als audio. Alleen een hash van dat antwoord wordt in het sessie-item opgeslagen om dubbele spraakverzendingen te voorkomen./tts audiogenereert een eenmalig audioantwoord (schakelt TTS niet in)./tts limit <chars>accepteert 100–4096 (4096 is het maximum voor Telegram-bijschriften/-berichten); waarden buiten dat bereik worden geweigerd.limitensummaryworden opgeslagen in lokale voorkeuren, niet in de hoofdconfiguratie./tts statusbevat terugvaldiagnostiek voor de nieuwste poging —Fallback: <primary> -> <used>,Attempts: ...en details per poging (provider:outcome(reasonCode) latency)./statustoont de actieve TTS-modus plus de geconfigureerde provider, het model, de stem en opgeschoonde metagegevens van aangepaste eindpunten wanneer TTS is ingeschakeld.
Voorkeuren per gebruiker
Slash-opdrachten schrijven lokale overschrijvingen naar het pad voor TTS-voorkeuren. De standaardwaarde is ~/.openclaw/settings/tts.json; overschrijf deze met OPENCLAW_TTS_PREFS. Doctor verplaatst de buiten gebruik gestelde algemene waarde tts.prefsPath naar gedeelde machinestatus. Geavanceerde configuraties met meerdere agents kunnen nog steeds agents.entries.<id>.tts.prefsPath instellen wanneer agents bewust afzonderlijke voorkeursopslag gebruiken.
| Opgeslagen veld | Effect |
|---|---|
auto |
Lokale automatische TTS-overschrijving (always, off, …) |
provider |
Lokale overschrijving van de primaire provider |
persona |
Lokale personaoverschrijving |
maxLength |
Drempelwaarde voor samenvatting/afkapping (standaard 1500 tekens, /tts limit bereik 100–4096) |
summarize |
Schakelaar voor samenvatting (standaard true) |
Deze overschrijven de effectieve configuratie van tts plus het actieve agents.entries.*.tts-blok voor die host.
Uitvoerformaten
De levering van TTS-spraak wordt bepaald door de kanaalmogelijkheden. Kanaalplugins geven aan of TTS in spraakstijl providers om een systeemeigen voice-note-doel moet vragen of normale audio-file-synthese moet behouden, en of het kanaal niet-systeemeigen uitvoer vóór verzending transcodeert.
| Doel | Indeling |
|---|---|
| Feishu / Matrix / Telegram / WhatsApp | Antwoorden als spraakbericht geven de voorkeur aan Opus (opus_48000_64 van ElevenLabs, opus van OpenAI). 48 kHz / 64 kbps biedt een goede balans tussen helderheid en grootte. |
| Andere kanalen | MP3 (mp3_44100_128 van ElevenLabs, mp3 van OpenAI). 44.1 kHz / 128 kbps is de standaardbalans voor spraak. |
| Talk / telefonie | Providerspecifieke PCM (Inworld 22050 Hz, Google 24 kHz), of ulaw_8000 van Gradium voor telefonie. |
Opmerkingen per provider:
- Transcodering voor Feishu / WhatsApp: wanneer een antwoord als spraakbericht binnenkomt als MP3/WebM/WAV/M4A of een ander waarschijnlijk audiobestand, transcodeert de kanaalplugin het vóór verzending als systeemeigen spraakbericht naar 48 kHz Ogg/Opus met
ffmpeg(libopus, 64 kbps). WhatsApp verzendt het resultaat via de Baileys-audio-payload metptt: trueenaudio/ogg; codecs=opus. Bij een transcoderingsfout: Feishu vangt de fout op en valt terug op verzending van het oorspronkelijke bestand als gewone bijlage; WhatsApp heeft geen terugvaloptie, waardoor de verzending zelf mislukt in plaats van een incompatibele PTT-payload te plaatsen. - MiniMax: MP3 (
speech-2.8-hd-model, samplefrequentie van 32 kHz) voor normale audiobijlagen; getranscodeerd naar 48 kHz Opus metffmpegvoor doelen die door het kanaal als spraakbericht worden aangeduid. - Xiaomi MiMo: standaard MP3, of WAV wanneer dit is geconfigureerd; getranscodeerd naar 48 kHz Opus met
ffmpegvoor doelen die door het kanaal als spraakbericht worden aangeduid. - Lokale CLI: gebruikt de geconfigureerde
outputFormat. Doelen voor spraakberichten worden geconverteerd naar Ogg/Opus en telefonie-uitvoer wordt metffmpeggeconverteerd naar onbewerkte 16 kHz mono-PCM. - Google Gemini: retourneert onbewerkte 24 kHz PCM. OpenClaw verpakt deze als WAV voor audiobijlagen, transcodeert deze naar 48 kHz Opus voor doelen voor spraakberichten en retourneert PCM rechtstreeks voor Talk/telefonie.
- Gradium: WAV voor audiobijlagen, Opus voor doelen voor spraakberichten en
ulaw_8000op 8 kHz voor telefonie. - Inworld: MP3 voor normale audiobijlagen, systeemeigen
OGG_OPUSvoor doelen voor spraakberichten en onbewerktePCMop 22050 Hz voor Talk/telefonie. - xAI: standaard MP3; synthese van audiobestanden kan
mp3,wav,pcm,mulawofalawgebruiken voor zowel gebufferde als gestreamde uitvoer. Doelen voor spraakberichten gebruiken MP3 voor streaming en als gebufferde terugvaloptie, omdat de uitvoer van xAI voorpcm,mulawenalawonbewerkte audio zonder headers is. Gebufferde synthese gebruikt het batch-REST-/v1/tts-eindpunt van xAI;textToSpeechStreamgebruikt systeemeigenwss://api.x.ai/v1/tts. Dit is niet het realtime-spraakcontract. Een systeemeigen Opus-indeling voor spraakberichten wordt niet ondersteund. - Microsoft: gebruikt
microsoft.outputFormat(standaardaudio-24khz-48kbitrate-mono-mp3).- Het meegeleverde transport accepteert een
outputFormat, maar niet alle indelingen zijn beschikbaar via de service. - Waarden voor de uitvoerindeling volgen de uitvoerindelingen van Microsoft Speech (waaronder Ogg/WebM Opus).
- Telegram
sendVoiceaccepteert OGG/MP3/M4A; gebruik OpenAI/ElevenLabs als je gegarandeerde Opus-spraakberichten nodig hebt. - Als de geconfigureerde Microsoft-uitvoerindeling mislukt, probeert OpenClaw het opnieuw met MP3.
- Wanneer geen expliciete stemoverschrijving is ingesteld en de standaard Engelse stem wordt gebruikt, schakelt OpenClaw automatisch over naar een Chinese neurale stem (
zh-CN-XiaoxiaoNeural, landinstellingzh-CN) als de antwoordtekst voornamelijk uit CJK-tekens bestaat.
- Het meegeleverde transport accepteert een
De uitvoerindelingen van OpenAI en ElevenLabs liggen per kanaal vast zoals hierboven vermeld.
Gedrag van automatische TTS
Wanneer 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 toe aan het antwoord.
- Verzendt in
mode: "final"nog steeds uitsluitend audio-TTS voor gestreamde definitieve antwoorden nadat de tekststream is voltooid; de gegenereerde media ondergaan dezelfde normalisatie van kanaalmedia als normale antwoordbijlagen.
Als het antwoord langer is dan maxLength, slaat OpenClaw audio nooit volledig over:
- Samenvatting aan (standaard) en er is een samenvattingsmodel beschikbaar: vat de
tekst samen tot ongeveer
maxLengthtekens en synthetiseert vervolgens de samenvatting. - Samenvatting uit, samenvatten mislukt of er is geen API-sleutel beschikbaar voor het
samenvattingsmodel: kort de tekst in tot
maxLengthtekens en synthetiseert de ingekorte tekst.
Antwoord -> TTS ingeschakeld? nee -> tekst verzenden ja -> bevat media / kort? ja -> tekst verzenden nee -> lengte > limiet? nee -> TTS -> audio toevoegen ja -> samenvatting ingeschakeld en beschikbaar? nee -> inkorten -> TTS -> audio toevoegen ja -> samenvatten -> TTS -> audio toevoegenVeldreferentie
TTS op het hoogste niveau.*
auto"off" | "always" | "inbound" | "tagged"Modus voor automatische TTS. inbound verzendt alleen audio na een inkomend spraakbericht; tagged verzendt alleen audio wanneer het antwoord [[tts:...]]-instructies of een [[tts:text]]-blok bevat.
enabledbooleanVerouderde schakelaar. openclaw doctor --fix migreert deze naar auto.
mode"final" | "all"default: final"all" neemt naast definitieve antwoorden ook tool-/blokantwoorden op.
providerstringId van de spraakprovider. Wanneer deze niet is ingesteld, gebruikt OpenClaw de eerste geconfigureerde provider in de automatische selecteervolgorde van het register. Verouderde provider: "edge" wordt door openclaw doctor --fix herschreven naar "microsoft".
personastringActieve persona-id uit personas. Genormaliseerd naar kleine letters.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InBlcnNvbmFzLjxpZA
" type="object">
Stabiele gesproken identiteit. Velden: label, description, provider, fallbackPolicy, prompt, providers.<provider>. Zie Persona's.
summaryModelstringGoedkoop model voor automatische samenvatting; standaard agents.defaults.model.primary. Accepteert provider/model of een geconfigureerde modelalias.
modelOverridesobjectStaat toe dat het model TTS-instructies uitvoert. enabled is standaard true; allowProvider is standaard false.
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InByb3ZpZGVycy48aWQ
" type="object">
Instellingen die eigendom zijn van de provider, geïndexeerd op spraakprovider-id. Verouderde directe blokken (tts.openai, .elevenlabs, .microsoft, .edge) worden herschreven door openclaw doctor --fix; leg alleen tts.providers.<id> vast.
maxTextLengthnumberdefault: 4096Harde limiet voor het aantal invoertekens voor TTS. /tts audio, tts.convert en tts.speak mislukken als deze wordt overschreden.
timeoutMsnumberdefault: 30000Time-out van aanvragen in milliseconden. Een timeoutMs per aanroep (agenttool, Gateway) heeft voorrang wanneer deze is ingesteld; anders heeft een expliciet geconfigureerde tts.timeoutMs voorrang op elke door een plugin ingestelde standaardwaarde van de provider.
Provider-apiKey-velden kunnen onbewerkte tekenreeksen of SecretRefs zijn. Als tijdens een koude start van de Gateway
een TTS-SecretRef niet beschikbaar is, wordt de ingebouwde TTS-mogelijkheid
gemarkeerd als geconfigureerd-maar-niet-beschikbaar in plaats van de Gateway te stoppen. tts.speak retourneert dan
UNAVAILABLE met reden SECRET_SURFACE_UNAVAILABLE en er wordt geen providerverzoek
verzonden. Status en doctor vermelden de gedegradeerde TTS-eigenaar en de bijbehorende configuratiepaden. De
expliciete verwijzingen blijven in de runtime-snapshot staan, zodat omgevings- of profielreferenties
niet ongemerkt een ander account kunnen selecteren. Herlaadbewerkingen en controles voorafgaand aan het schrijven van configuratie
passen het degradatiebeleid met eigenaarsbesef toe: een ongewijzigde, geschikte TTS-
eigenaar mag de laatst bekende werkende referenties als verouderd behouden, terwijl een nieuwe of gewijzigde
fout koud wordt zonder gezonde eigenaren te blokkeren. Structureel ongeldige verwijzingen
en opgeloste waarden laten het opstarten nog steeds mislukken of zorgen ervoor dat de update wordt geweigerd.
Azure Speech
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgeving: AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY of SPEECH_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlZ2lvbiIgdHlwZT0ic3RyaW5nIg
Azure Speech-regio (bijv. eastus). Omgeving: AZURE_SPEECH_REGION of SPEECH_REGION.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImVuZHBvaW50IiB0eXBlPSJzdHJpbmci
Optionele overschrijving van het Azure Speech-eindpunt (alias baseUrl).
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
ShortName van de Azure-stem. Standaard en-US-JennyNeural. Verouderde alias: voice.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImxhbmciIHR5cGU9InN0cmluZyI
SSML-taalcode. Standaard en-US.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg
Azure X-Microsoft-OutputFormat voor standaardaudio. Standaard audio-24khz-48kbitrate-mono-mp3.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InZvaWNlTm90ZU91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg
Azure X-Microsoft-OutputFormat voor uitvoer van spraakberichten. Standaard ogg-24khz-16bit-mono-opus.
OPENCLAW_DOCS_MARKER:paramClose:
ElevenLabs
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Valt terug op ELEVENLABS_API_KEY of XI_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Model-id. Standaard eleven_multilingual_v2. Verouderde id's eleven_turbo_v2_5/eleven_turbo_v2 worden genormaliseerd naar het overeenkomende flash-model.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci
ElevenLabs-stem-id. Standaard pMsXgVXv3BLzUgSXRplE. Verouderde alias: voiceId.
OPENCLAW_DOCS_MARKER:paramClose:
voiceSettingsobjectstability, similarityBoost, style (elk 0..1, standaardwaarden 0.5/0.75/0), useSpeakerBoost (true|false, standaard true), speed (0.5..2.0, standaard 1.0).
applyTextNormalization"auto" | "on" | "off"OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imxhbmd1YWdlQ29kZSIgdHlwZT0ic3RyaW5nIg
2-letterige ISO 639-1-code (bijv. en, de).
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNlZWQiIHR5cGU9Im51bWJlciI
Geheel getal 0..4294967295 voor determinisme op basis van beste inspanning.
OPENCLAW_DOCS_MARKER:paramClose:
baseUrlstringGoogle Gemini
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Valt terug op GEMINI_API_KEY / GOOGLE_API_KEY. Indien weggelaten, kan TTS models.providers.google.apiKey hergebruiken voordat op de omgevingsvariabele wordt teruggevallen.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Gemini TTS-model. Standaard gemini-3.1-flash-tts-preview.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
Naam van een vooraf ingebouwde Gemini-stem. Standaard Kore. Verouderde aliassen: voiceName, voice.
OPENCLAW_DOCS_MARKER:paramClose:
audioProfilestringspeakerNamestringOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InByb21wdFRlbXBsYXRlIiB0eXBlPSciYXVkaW8tcHJvZmlsZS12MSIn
Stel in op audio-profile-v1 om actieve personapromptvelden in een deterministische Gemini TTS-promptstructuur te verpakken.
OPENCLAW_DOCS_MARKER:paramClose:
personaPromptstringOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Alleen https://generativelanguage.googleapis.com wordt geaccepteerd.
OPENCLAW_DOCS_MARKER:paramClose:
Gradium
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgevingsvariabele: GRADIUM_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
HTTPS-URL van de Gradium-API op api.gradium.ai. Standaard https://api.gradium.ai.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci
Standaard Emma (YTpq7expH9539ERJ). Verouderde alias: voiceId.
OPENCLAW_DOCS_MARKER:paramClose:
Inworld
Primaire Inworld-configuratie
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgevingsvariabele: INWORLD_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Standaard https://api.inworld.ai.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsSWQiIHR5cGU9InN0cmluZyI
Standaard inworld-tts-1.5-max. Ook: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci
Standaard Sarah. Verouderde alias: voiceId.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRlbXBlcmF0dXJlIiB0eXBlPSJudW1iZXIi
Samplingtemperatuur 0..2 (0 uitgesloten).
OPENCLAW_DOCS_MARKER:paramClose:
Lokale CLI (tts-local-cli)
commandstringOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFyZ3MiIHR5cGU9InN0cmluZ1tdIg
Opdrachtargumenten. Ondersteunt de tijdelijke aanduidingen {{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0nIm1wMyIgfCAib3B1cyIgfCAid2F2Iic
Verwachte CLI-uitvoerindeling. Standaard mp3 voor audiobijlagen.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InRpbWVvdXRNcyIgdHlwZT0ibnVtYmVyIg
Time-out van de opdracht in milliseconden. Standaard 120000.
OPENCLAW_DOCS_MARKER:paramClose:
cwdstringenv"Record<string,De standaarduitvoer van de opdracht en gegenereerde of geconverteerde audio zijn beperkt tot 50 MiB. Diagnostische standaardfoutuitvoer is beperkt tot 1 MiB. OpenClaw beëindigt de opdracht en laat de synthese mislukken wanneer een van beide limieten wordt overschreden.
Microsoft (geen API-sleutel)
enabledbooleandefault: trueOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
Naam van de neurale Microsoft-stem (bijv. en-US-MichelleNeural). Verouderde alias: voice. Als de standaard Engelse stem actief is en de antwoordtekst hoofdzakelijk uit CJK-tekens bestaat, schakelt OpenClaw automatisch over naar zh-CN-XiaoxiaoNeural.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImxhbmciIHR5cGU9InN0cmluZyI
Taalcode (bijv. en-US).
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im91dHB1dEZvcm1hdCIgdHlwZT0ic3RyaW5nIg
Microsoft-uitvoerindeling. Standaard audio-24khz-48kbitrate-mono-mp3. Niet alle indelingen worden ondersteund door het meegeleverde, op Edge gebaseerde transport.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJhdGUgLyBwaXRjaCAvIHZvbHVtZSIgdHlwZT0ic3RyaW5nIg
Percentagetekenreeksen (bijv. +10%, -5%).
OPENCLAW_DOCS_MARKER:paramClose:
saveSubtitlesbooleanproxystringtimeoutMsnumberOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImVkZ2UuKiIgdHlwZT0ib2JqZWN0IiBkZXByZWNhdGVk
Verouderde alias. Voer openclaw doctor --fix uit om de opgeslagen configuratie te herschrijven naar providers.microsoft.
OPENCLAW_DOCS_MARKER:paramClose:
MiniMax
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Valt terug op MINIMAX_API_KEY. Authenticatie met Token Plan via MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY of MINIMAX_CODING_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Standaard https://api.minimax.io. Omgevingsvariabele: MINIMAX_API_HOST.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Standaard speech-2.8-hd. Omgevingsvariabele: MINIMAX_TTS_MODEL.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci
Standaard English_expressive_narrator. Omgevingsvariabele: MINIMAX_TTS_VOICE_ID. Verouderde alias: voiceId.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkIiB0eXBlPSJudW1iZXIi
0.5..2.0. Standaard 1.0.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InZvbCIgdHlwZT0ibnVtYmVyIg
(0, 10]. Standaard 1.0.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InBpdGNoIiB0eXBlPSJudW1iZXIi
Geheel getal -12..12. Standaard 0. Fractionele waarden worden vóór het verzoek afgekapt.
OPENCLAW_DOCS_MARKER:paramClose:
OpenAI
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Valt terug op OPENAI_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
OpenAI TTS-model-id. Standaard gpt-4o-mini-tts.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
Stemnaam (bijv. alloy, cedar). Standaard coral. Verouderde alias: voice.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imluc3RydWN0aW9ucyIgdHlwZT0ic3RyaW5nIg
Expliciet OpenAI-veld instructions. Wanneer dit is ingesteld, worden personapromptvelden niet automatisch toegewezen.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImV4dHJhQm9keSAvIGV4dHJhX2JvZHkiIHR5cGU9IlJlY29yZDxzdHJpbmcsIHVua25vd24
">Extra JSON-velden die na de gegenereerde OpenAI TTS-velden worden samengevoegd met de hoofdtekst van /audio/speech-verzoeken. Gebruik dit voor OpenAI-compatibele eindpunten zoals Kokoro die providerspecifieke sleutels zoals lang vereisen; onveilige prototypesleutels worden genegeerd.
OPENCLAW_DOCS_MARKER:paramClose:
baseUrlstringOverschrijf het OpenAI TTS-eindpunt. Resolutievolgorde: 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 en speed de bereikcontrole voor 0.25..4.0 verliest.
OpenRouter
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgevingsvariabele: OPENROUTER_API_KEY. Kan models.providers.openrouter.apiKey hergebruiken.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Standaard https://openrouter.ai/api/v1. Verouderde https://openrouter.ai/v1 wordt genormaliseerd.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Standaard hexgrad/kokoro-82m. Alias: modelId.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
Standaard af_alloy. Verouderde aliassen: voice, voiceId.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc3BvbnNlRm9ybWF0IiB0eXBlPScibXAzIiB8ICJwY20iJw
Standaard mp3.
OPENCLAW_DOCS_MARKER:paramClose:
speednumberVolcengine (BytePlus Seed Speech)
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgevingsvariabele: VOLCENGINE_TTS_API_KEY of BYTEPLUS_SEED_SPEECH_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc291cmNlSWQiIHR5cGU9InN0cmluZyI
Standaard seed-tts-1.0. Omgevingsvariabele: VOLCENGINE_TTS_RESOURCE_ID. Gebruik seed-tts-2.0 wanneer je project recht heeft op TTS 2.0.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwcEtleSIgdHlwZT0ic3RyaW5nIg
App-sleutelheader. Standaard aGjiRDfUWi. Omgevingsvariabele: VOLCENGINE_TTS_APP_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Overschrijf het HTTP-eindpunt voor Seed Speech TTS. Omgevingsvariabele: VOLCENGINE_TTS_BASE_URL.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
Stemtype. Standaard en_female_anna_mars_bigtts. Omgevingsvariabele: VOLCENGINE_TTS_VOICE. Verouderde alias: voice.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkUmF0aW8iIHR5cGU9Im51bWJlciI
Providerspecifieke snelheidsverhouding, 0.2..3.
OPENCLAW_DOCS_MARKER:paramClose:
emotionstringOPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwcElkIC8gdG9rZW4gLyBjbHVzdGVyIiB0eXBlPSJzdHJpbmciIGRlcHJlY2F0ZWQ
Verouderde velden van de Volcengine Speech Console. Omgevingsvariabelen: VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (standaard volcano_tts).
OPENCLAW_DOCS_MARKER:paramClose:
xAI
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgevingsvariabele: XAI_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Standaard https://api.x.ai/v1. Omgevingsvariabele: XAI_BASE_URL.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZUlkIiB0eXBlPSJzdHJpbmci
Standaard eve. Met authenticatie haalt openclaw infer tts voices --provider xai de huidige ingebouwde catalogus op; zonder authenticatie geeft het de offline terugvalopties ara, eve, leo, rex en sal weer. Aangepaste stem-id's van het account worden doorgestuurd, zelfs wanneer ze niet in de ingebouwde lijst voorkomen. Verouderde alias: voiceId.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Imxhbmd1YWdlIiB0eXBlPSJzdHJpbmci
BCP-47-taalcode of auto. Standaard en.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InJlc3BvbnNlRm9ybWF0IiB0eXBlPScibXAzIiB8ICJ3YXYiIHwgInBjbSIgfCAibXVsYXciIHwgImFsYXciJw
Standaard mp3.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWVkIiB0eXBlPSJudW1iZXIi
Providerspecifieke overschrijving van de snelheid, 0.7..1.5.
OPENCLAW_DOCS_MARKER:paramClose:
Xiaomi MiMo
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImFwaUtleSIgdHlwZT0ic3RyaW5nIg
Omgevingsvariabele: XIAOMI_API_KEY.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImJhc2VVcmwiIHR5cGU9InN0cmluZyI
Standaard https://api.xiaomimimo.com/v1. Omgevingsvariabele: XIAOMI_BASE_URL.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9Im1vZGVsIiB0eXBlPSJzdHJpbmci
Standaard mimo-v2.5-tts. Omgevingsvariabele: XIAOMI_TTS_MODEL. Ondersteunt ook mimo-v2.5-tts-voicedesign.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InNwZWFrZXJWb2ljZSIgdHlwZT0ic3RyaW5nIg
Standaard mimo_default voor modellen met vooraf ingestelde stemmen. Omgevingsvariabele: XIAOMI_TTS_VOICE. Verouderde alias: voice. Wordt niet verzonden voor mimo-v2.5-tts-voicedesign.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9ImZvcm1hdCIgdHlwZT0nIm1wMyIgfCAid2F2Iic
Standaard mp3. Omgevingsvariabele: XIAOMI_TTS_FORMAT.
OPENCLAW_DOCS_MARKER:paramClose:
OPENCLAW_DOCS_MARKER:paramOpen:IHBhdGg9InN0eWxlIiB0eXBlPSJzdHJpbmci
Optionele stijlinstructie in natuurlijke taal die als gebruikersbericht wordt verzonden en niet wordt uitgesproken. Voor mimo-v2.5-tts-voicedesign is dit de prompt voor stemontwerp; OpenClaw levert een standaardwaarde wanneer deze wordt weggelaten.
OPENCLAW_DOCS_MARKER:paramClose:
Agenttool
De tool tts zet tekst om in spraak en retourneert een audiobijlage voor
het afleveren van antwoorden. Op Feishu, Matrix, Telegram en WhatsApp wordt de audio
afgeleverd als een 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-spraakbericht (audio met
ptt: true) en verzendt zichtbare tekst afzonderlijk van PTT-audio, omdat
clients bijschriften bij spraakberichten niet consistent weergeven.
De tool accepteert optionele velden channel en timeoutMs; timeoutMs is een
time-out per aanroep voor providerverzoeken in milliseconden. Waarden per aanroep overschrijven
tts.timeoutMs; geconfigureerde TTS-time-outs overschrijven elke door een Plugin ingestelde
standaardwaarde van de provider.
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 |
Eenmalig tekst → audio. |
tts.setProvider |
Lokale providervoorkeur instellen. |
tts.personas |
Geconfigureerde persona's en de actieve persona weergeven. |
tts.setPersona |
Lokale personavoorkeur instellen. |
tts.providers |
Geconfigureerde providers en hun status weergeven. |
Servicekoppelingen
- OpenAI-handleiding voor tekst-naar-spraak
- OpenAI Audio API-referentie
- Azure Speech REST voor tekst-naar-spraak
- Azure Speech-provider
- ElevenLabs tekst-naar-spraak
- 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