Skip to main content
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

1

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.
2

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.
3

Schakel het in de configuratie in

Stel tts.auto: "always" en tts.provider in:
4

Probeer het in de chat

/tts status toont de huidige status. /tts audio Hello from OpenClaw verzendt een eenmalig audioantwoord.
Automatische TTS is standaard uitgeschakeld. Wanneer tts.provider niet is ingesteld, kiest OpenClaw de eerste geconfigureerde provider in de automatische selecteervolgorde van het register. De ingebouwde agenttool tts is alleen voor expliciete intenties: gewone chats blijven tekst, tenzij de gebruiker om audio vraagt, /tts gebruikt of automatische TTS/directieve spraak inschakelt.

Ondersteunde providers

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.
De meegeleverde Microsoft-provider gebruikt de online neurale TTS-service van Microsoft Edge via node-edge-tts. Het is een openbare webservice zonder gepubliceerde SLA of quota — beschouw deze als een service naar beste vermogen. De verouderde provider-id edge wordt genormaliseerd naar microsoft en openclaw doctor --fix herschrijft opgeslagen configuratie; nieuwe configuraties moeten altijd microsoft gebruiken.

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.
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:
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:
  1. tts
  2. actieve agents.entries.*.tts
  3. kanaaloverschrijving, wanneer het kanaal channels.<channel>.tts ondersteunt
  4. accountoverschrijving, wanneer het kanaal channels.<channel>.accounts.<id>.tts doorgeeft
  5. lokale /tts-voorkeuren voor deze host
  6. 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:

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

Volledige persona (providerspecifieke vormgeving)

Personaresolutie

De actieve persona wordt deterministisch geselecteerd:
  1. /tts persona <id> lokale voorkeur, indien ingesteld.
  2. tts.persona, indien ingesteld.
  3. Geen persona.
Providerselectie verwerkt expliciete keuzes eerst:
  1. Directe overschrijvingen (CLI, Gateway, Talk, toegestane TTS-instructies).
  2. /tts provider <id> lokale voorkeur.
  3. provider van de actieve persona.
  4. tts.provider.
  5. Automatische selectie uit het register.
Voor elke providerpoging voegt OpenClaw configuraties in deze volgorde samen:
  1. tts.providers.<id>
  2. tts.personas.<persona>.providers.<id>
  3. Vertrouwde aanvraagoverschrijvingen
  4. 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: 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:
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; vereist allowProvider: true)
  • speakerVoice / speakerVoiceId (verouderde aliassen: voice, voiceName, voice_name, google_voice, voiceId)
  • model / google_model
  • stability, similarityBoost, style, speed, useSpeakerBoost
  • vol / 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:
Wisselen van provider toestaan terwijl andere instellingen configureerbaar blijven:

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.
Opdrachten vereisen een geautoriseerde afzender (regels voor toelatingslijsten/eigenaren zijn van toepassing) en commands.text of registratie van systeemeigen opdrachten moet zijn ingeschakeld.
Gedragsnotities:
  • /tts on schrijft de lokale TTS-voorkeur naar always; /tts off schrijft deze naar off.
  • /tts chat on|off|default schrijft een sessiegebonden automatische TTS-overschrijving voor de huidige chat.
  • /tts persona <id> schrijft de lokale personavoorkeur; /tts persona off wist deze.
  • /tts latest leest 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 audio genereert 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.
  • limit en summary worden opgeslagen in lokale voorkeuren, niet in de hoofdconfiguratie.
  • /tts status bevat terugvaldiagnostiek voor de nieuwste poging — Fallback: <primary> -> <used>, Attempts: ... en details per poging (provider:outcome(reasonCode) latency).
  • /status toont 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. 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. 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 met ptt: true en audio/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 met ffmpeg voor 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 ffmpeg voor 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 met ffmpeg geconverteerd 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_8000 op 8 kHz voor telefonie.
  • Inworld: MP3 voor normale audiobijlagen, systeemeigen OGG_OPUS voor doelen voor spraakberichten en onbewerkte PCM op 22050 Hz voor Talk/telefonie.
  • xAI: standaard MP3; synthese van audiobestanden kan mp3, wav, pcm, mulaw of alaw gebruiken voor zowel gebufferde als gestreamde uitvoer. Doelen voor spraakberichten gebruiken MP3 voor streaming en als gebufferde terugvaloptie, omdat de uitvoer van xAI voor pcm, mulaw en alaw onbewerkte audio zonder headers is. Gebufferde synthese gebruikt het batch-REST-/v1/tts-eindpunt van xAI; textToSpeechStream gebruikt systeemeigen wss://api.x.ai/v1/tts. Dit is niet het realtime-spraakcontract. Een systeemeigen Opus-indeling voor spraakberichten wordt niet ondersteund.
  • Microsoft: gebruikt microsoft.outputFormat (standaard audio-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 sendVoice accepteert 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, landinstelling zh-CN) als de antwoordtekst voornamelijk uit CJK-tekens bestaat.
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 (of agents.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 maxLength tekens en synthetiseert vervolgens de samenvatting.
  • Samenvatting uit, samenvatten mislukt of er is geen API-sleutel beschikbaar voor het samenvattingsmodel: kort de tekst in tot maxLength tekens en synthetiseert de ingekorte tekst.

Veldreferentie

"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.
boolean
verouderd
Verouderde schakelaar. openclaw doctor --fix migreert deze naar auto.
"final" | "all"
standaard:"final"
"all" neemt naast definitieve antwoorden ook tool-/blokantwoorden op.
string
Id 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".
string
Actieve persona-id uit personas. Genormaliseerd naar kleine letters.
object
Stabiele gesproken identiteit. Velden: label, description, provider, fallbackPolicy, prompt, providers.<provider>. Zie Persona’s.
string
Goedkoop model voor automatische samenvatting; standaard agents.defaults.model.primary. Accepteert provider/model of een geconfigureerde modelalias.
object
Staat toe dat het model TTS-instructies uitvoert. enabled is standaard true; allowProvider is standaard false.
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.
number
standaard:"4096"
Harde limiet voor het aantal invoertekens voor TTS. /tts audio, tts.convert en tts.speak mislukken als deze wordt overschreden.
number
standaard:"30000"
Time-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.
string
Omgeving: AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY of SPEECH_KEY.
string
Azure Speech-regio (bijv. eastus). Omgeving: AZURE_SPEECH_REGION of SPEECH_REGION.
string
Optionele overschrijving van het Azure Speech-eindpunt (alias baseUrl).
string
ShortName van de Azure-stem. Standaard en-US-JennyNeural. Verouderde alias: voice.
string
SSML-taalcode. Standaard en-US.
string
Azure X-Microsoft-OutputFormat voor standaardaudio. Standaard audio-24khz-48kbitrate-mono-mp3.
string
Azure X-Microsoft-OutputFormat voor uitvoer van spraakberichten. Standaard ogg-24khz-16bit-mono-opus.
string
Valt terug op ELEVENLABS_API_KEY of XI_API_KEY.
string
Model-id. Standaard eleven_multilingual_v2. Verouderde id’s eleven_turbo_v2_5/eleven_turbo_v2 worden genormaliseerd naar het overeenkomende flash-model.
string
ElevenLabs-stem-id. Standaard pMsXgVXv3BLzUgSXRplE. Verouderde alias: voiceId.
object
stability, similarityBoost, style (elk 0..1, standaardwaarden 0.5/0.75/0), useSpeakerBoost (true|false, standaard true), speed (0.5..2.0, standaard 1.0).
"auto" | "on" | "off"
Modus voor tekstnormalisatie.
string
2-letterige ISO 639-1-code (bijv. en, de).
number
Geheel getal 0..4294967295 voor determinisme op basis van beste inspanning.
string
Overschrijf de basis-URL van de ElevenLabs-API.
string
Valt terug op GEMINI_API_KEY / GOOGLE_API_KEY. Indien weggelaten, kan TTS models.providers.google.apiKey hergebruiken voordat op de omgevingsvariabele wordt teruggevallen.
string
Gemini TTS-model. Standaard gemini-3.1-flash-tts-preview.
string
Naam van een vooraf ingebouwde Gemini-stem. Standaard Kore. Verouderde aliassen: voiceName, voice.
string
Stijlprompt in natuurlijke taal die vóór de gesproken tekst wordt geplaatst.
string
Optioneel sprekerlabel dat vóór de gesproken tekst wordt geplaatst wanneer je prompt een benoemde spreker gebruikt.
"audio-profile-v1"
Stel in op audio-profile-v1 om actieve personapromptvelden in een deterministische Gemini TTS-promptstructuur te verpakken.
string
Aanvullende Google-specifieke personaprompttekst die aan de Director’s Notes van de sjabloon wordt toegevoegd.
string
Alleen https://generativelanguage.googleapis.com wordt geaccepteerd.
string
Omgevingsvariabele: GRADIUM_API_KEY.
string
HTTPS-URL van de Gradium-API op api.gradium.ai. Standaard https://api.gradium.ai.
string
Standaard Emma (YTpq7expH9539ERJ). Verouderde alias: voiceId.

Primaire Inworld-configuratie

string
Omgevingsvariabele: INWORLD_API_KEY.
string
Standaard https://api.inworld.ai.
string
Standaard inworld-tts-1.5-max. Ook: inworld-tts-1.5-mini, inworld-tts-1-max, inworld-tts-1.
string
Standaard Sarah. Verouderde alias: voiceId.
number
Samplingtemperatuur 0..2 (0 uitgesloten).
string
Lokaal uitvoerbaar bestand of opdrachttekenreeks voor CLI-TTS.
string[]
Opdrachtargumenten. Ondersteunt de tijdelijke aanduidingen {{Text}}, {{OutputPath}}, {{OutputDir}}, {{OutputBase}}.
"mp3" | "opus" | "wav"
Verwachte CLI-uitvoerindeling. Standaard mp3 voor audiobijlagen.
number
Time-out van de opdracht in milliseconden. Standaard 120000.
string
Optionele werkmap voor de opdracht.
Record<string, string>
Optionele overschrijvingen van omgevingsvariabelen voor de opdracht.
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.
boolean
standaard:"true"
Gebruik van Microsoft-spraak toestaan.
string
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.
string
Taalcode (bijv. en-US).
string
Microsoft-uitvoerindeling. Standaard audio-24khz-48kbitrate-mono-mp3. Niet alle indelingen worden ondersteund door het meegeleverde, op Edge gebaseerde transport.
string
Percentagetekenreeksen (bijv. +10%, -5%).
boolean
JSON-ondertitels naast het audiobestand schrijven.
string
Proxy-URL voor Microsoft-spraakverzoeken.
number
Overschrijving van de time-out voor verzoeken (ms).
object
verouderd
Verouderde alias. Voer openclaw doctor --fix uit om de opgeslagen configuratie te herschrijven naar providers.microsoft.
string
Valt terug op MINIMAX_API_KEY. Authenticatie met Token Plan via MINIMAX_OAUTH_TOKEN, MINIMAX_CODE_PLAN_KEY of MINIMAX_CODING_API_KEY.
string
Standaard https://api.minimax.io. Omgevingsvariabele: MINIMAX_API_HOST.
string
Standaard speech-2.8-hd. Omgevingsvariabele: MINIMAX_TTS_MODEL.
string
Standaard English_expressive_narrator. Omgevingsvariabele: MINIMAX_TTS_VOICE_ID. Verouderde alias: voiceId.
number
0.5..2.0. Standaard 1.0.
number
(0, 10]. Standaard 1.0.
number
Geheel getal -12..12. Standaard 0. Fractionele waarden worden vóór het verzoek afgekapt.
string
Valt terug op OPENAI_API_KEY.
string
OpenAI TTS-model-id. Standaard gpt-4o-mini-tts.
string
Stemnaam (bijv. alloy, cedar). Standaard coral. Verouderde alias: voice.
string
Expliciet OpenAI-veld instructions. Wanneer dit is ingesteld, worden personapromptvelden niet automatisch toegewezen.
Record<string, unknown>
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.
string
Overschrijf het OpenAI TTS-eindpunt. Resolutievolgorde: configuratie → OPENAI_TTS_BASE_URLhttps://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.
string
Omgevingsvariabele: OPENROUTER_API_KEY. Kan models.providers.openrouter.apiKey hergebruiken.
string
Standaard https://openrouter.ai/api/v1. Verouderde https://openrouter.ai/v1 wordt genormaliseerd.
string
Standaard hexgrad/kokoro-82m. Alias: modelId.
string
Standaard af_alloy. Verouderde aliassen: voice, voiceId.
"mp3" | "pcm"
Standaard mp3.
number
Providerspecifieke overschrijving van de snelheid.
string
Omgevingsvariabele: VOLCENGINE_TTS_API_KEY of BYTEPLUS_SEED_SPEECH_API_KEY.
string
Standaard seed-tts-1.0. Omgevingsvariabele: VOLCENGINE_TTS_RESOURCE_ID. Gebruik seed-tts-2.0 wanneer je project recht heeft op TTS 2.0.
string
App-sleutelheader. Standaard aGjiRDfUWi. Omgevingsvariabele: VOLCENGINE_TTS_APP_KEY.
string
Overschrijf het HTTP-eindpunt voor Seed Speech TTS. Omgevingsvariabele: VOLCENGINE_TTS_BASE_URL.
string
Stemtype. Standaard en_female_anna_mars_bigtts. Omgevingsvariabele: VOLCENGINE_TTS_VOICE. Verouderde alias: voice.
number
Providerspecifieke snelheidsverhouding, 0.2..3.
string
Providerspecifieke emotietag.
string
verouderd
Verouderde velden van de Volcengine Speech Console. Omgevingsvariabelen: VOLCENGINE_TTS_APPID, VOLCENGINE_TTS_TOKEN, VOLCENGINE_TTS_CLUSTER (standaard volcano_tts).
string
Omgevingsvariabele: XAI_API_KEY.
string
Standaard https://api.x.ai/v1. Omgevingsvariabele: XAI_BASE_URL.
string
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.
string
BCP-47-taalcode of auto. Standaard en.
"mp3" | "wav" | "pcm" | "mulaw" | "alaw"
Standaard mp3.
number
Providerspecifieke overschrijving van de snelheid, 0.7..1.5.
string
Omgevingsvariabele: XIAOMI_API_KEY.
string
Standaard https://api.xiaomimimo.com/v1. Omgevingsvariabele: XIAOMI_BASE_URL.
string
Standaard mimo-v2.5-tts. Omgevingsvariabele: XIAOMI_TTS_MODEL. Ondersteunt ook mimo-v2.5-tts-voicedesign.
string
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.
"mp3" | "wav"
Standaard mp3. Omgevingsvariabele: XIAOMI_TTS_FORMAT.
string
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.

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

Servicekoppelingen

Gerelateerd