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:

    json5
    {  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

    json5
    {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

    json5
    {tts: {auto: "always",provider: "elevenlabs",providers: {  elevenlabs: {    apiKey: "${ELEVENLABS_API_KEY}",    model: "eleven_multilingual_v2",    speakerVoiceId: "EXAVITQu4vr4xnSDxMaL",  },},},}

    Google Gemini

    json5
    {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

    json5
    {tts: {auto: "always",provider: "gradium",providers: {  gradium: {    apiKey: "${GRADIUM_API_KEY}",    speakerVoiceId: "YTpq7expH9539ERJ",  },},},}

    Inworld

    json5
    {tts: {auto: "always",provider: "inworld",providers: {  inworld: {    apiKey: "${INWORLD_API_KEY}",    modelId: "inworld-tts-1.5-max",    speakerVoiceId: "Sarah",    temperature: 0.7,  },},},}

    Lokale CLI

    json5
    {tts: {auto: "always",provider: "tts-local-cli",providers: {  "tts-local-cli": {    command: "say",    args: ["-o", "{{OutputPath}}", "{{Text}}"],    outputFormat: "wav",    timeoutMs: 120000,  },},},}

    Microsoft (geen sleutel)

    json5
    {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

    json5
    {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

    json5
    {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

    json5
    {tts: {auto: "always",provider: "openrouter",providers: {  openrouter: {    apiKey: "${OPENROUTER_API_KEY}",    model: "hexgrad/kokoro-82m",    speakerVoice: "af_alloy",    responseFormat: "mp3",  },},},}

    Volcengine

    json5
    {tts: {auto: "always",provider: "volcengine",providers: {  volcengine: {    apiKey: "${VOLCENGINE_TTS_API_KEY}",    resourceId: "seed-tts-1.0",    speakerVoice: "en_female_anna_mars_bigtts",  },},},}

    xAI

    json5
    {tts: {auto: "always",provider: "xai",providers: {  xai: {    apiKey: "${XAI_API_KEY}",    speakerVoiceId: "eve",    language: "en",    responseFormat: "mp3",  },},},}

    Xiaomi MiMo

    json5
    {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:

    json5
    {  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:

    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:

    json5
    {  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

    json5
    {  tts: {    auto: "always",    persona: "narrator",    personas: {      narrator: {        label: "Verteller",        provider: "elevenlabs",        providers: {          elevenlabs: {            speakerVoiceId: "EXAVITQu4vr4xnSDxMaL",            modelId: "eleven_multilingual_v2",          },        },      },    },  },}

    Volledige persona (providerspecifieke vormgeving)

    json5
    {  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:

    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:

    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:

    text
    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; 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:

    json5
    { messages: { tts: { modelOverrides: { enabled: false } } } }

    Wisselen van provider toestaan terwijl andere instellingen configureerbaar blijven:

    json5
    { 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.

    text
    /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 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.

    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 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.
    text
    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 toevoegen

    Veldreferentie

    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.

    enabledboolean

    Verouderde schakelaar. openclaw doctor --fix migreert deze naar auto.

    mode"final" | "all"default: final

    "all" neemt naast definitieve antwoorden ook tool-/blokantwoorden op.

    providerstring

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

    personastring

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

    summaryModelstring

    Goedkoop model voor automatische samenvatting; standaard agents.defaults.model.primary. Accepteert provider/model of een geconfigureerde modelalias.

    modelOverridesobject

    Staat 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: 4096

    Harde limiet voor het aantal invoertekens voor TTS. /tts audio, tts.convert en tts.speak mislukken als deze wordt overschreden.

    timeoutMsnumberdefault: 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.

    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:

    voiceSettingsobject

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

    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:

    baseUrlstring
    Google 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:

    audioProfilestring
    speakerNamestring

    OPENCLAW_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:

    personaPromptstring

    OPENCLAW_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)
    commandstring

    OPENCLAW_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:

    cwdstring
    env"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: true

    OPENCLAW_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:

    saveSubtitlesboolean
    proxystring
    timeoutMsnumber

    OPENCLAW_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:

    baseUrlstring

    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.

    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:

    speednumber
    Volcengine (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:

    emotionstring

    OPENCLAW_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

    Gerelateerd

    Was this useful?
    On this page

    On this page