Tools

Text-to-speech

OpenClaw converts outbound replies into native voice messages on Feishu, Matrix, Telegram, and WhatsApp. Every other channel receives an audio attachment. Telephony and Talk receive PCM or Ulaw streams.

TTS is the speech-output half of Talk's stt-tts mode (talk.speak calls this same synthesis path). Provider-native realtime Talk sessions synthesize speech inside the realtime provider instead. transcription sessions never synthesize an assistant voice reply.

This page is an index. Text-to-speech is documented on seven pages, one per reader job. Open the page that matches your task.

Page Read it when
Text-to-speech quickstart You are turning TTS on, choosing a provider, and testing it from chat.
Text-to-speech configuration You need the tts config block, a provider snippet, a local engine, or override precedence.
Text-to-speech personas You want one stable spoken identity, its provider bindings, and its fallback policy.
Commands and directives You need [[tts:...]] directives, the /tts commands, or where local preferences live.
Output and Auto-TTS behavior You need the audio format per channel, transcoding rules, or when Auto-TTS summarizes.
Text-to-speech field reference You need the type, default, env var, or legacy alias for one TTS field.
Agent tool and Gateway RPC You are calling TTS from an agent tool call or a Gateway RPC method.

Where each section moved

Every section heading from the previous single-page version keeps its anchor here, so an existing link such as /tools/tts#per-agent-voice-overrides still resolves. Each entry points at the page that now holds the content.

Component anchors

The previous single-page version also minted an anchor for every step, tab, accordion, and field. Those anchors are preserved here so that any deep link into the old page still resolves. Nine accordion anchors lost a -1 suffix when the tab that shared their slug moved to a different page. The stub below keeps the old id and points at the new one.

Quickstart

Configuration

Field reference

Was this useful?
On this page

On this page