X-Microsoft-OutputFormat header.
| Detail | Value |
|---|---|
| Provider ID | azure-speech (alias: azure) |
| Website | Azure AI Speech |
| Docs | Speech REST text-to-speech |
| Auth | AZURE_SPEECH_KEY plus AZURE_SPEECH_REGION |
| Default voice | en-US-JennyNeural |
| Default file output | audio-24khz-48kbitrate-mono-mp3 |
| Default voice-note file | ogg-24khz-16bit-mono-opus |
Getting started
Create an Azure Speech resource
In the Azure portal, create a Speech resource. Copy KEY 1 from
Resource Management > Keys and Endpoint, and copy the resource location
such as
eastus.Configuration options
All options live undermessages.tts.providers["azure-speech"].
| Option | Description |
|---|---|
apiKey | Azure Speech resource key. Falls back to AZURE_SPEECH_KEY, AZURE_SPEECH_API_KEY, or SPEECH_KEY. |
region | Azure Speech resource region. Falls back to AZURE_SPEECH_REGION or SPEECH_REGION. |
endpoint | Optional Azure Speech endpoint override. Falls back to AZURE_SPEECH_ENDPOINT. |
baseUrl | Optional Azure Speech base URL override. |
voice | Azure voice ShortName (default en-US-JennyNeural). Legacy alias: voiceId. |
lang | SSML language code (default en-US). |
outputFormat | Audio-file output format (default audio-24khz-48kbitrate-mono-mp3). |
voiceNoteOutputFormat | Voice-note output format (default ogg-24khz-16bit-mono-opus). |
timeoutMs | Request timeout override in milliseconds. Falls back to the global messages.tts.timeoutMs. |
apiKey is set plus one of
region, endpoint, or baseUrl. Env vars are only checked as a fallback
for config keys left unset.
Notes
Authentication
Authentication
Azure Speech uses a Speech resource key, not an Azure OpenAI key. The key
is sent as
Ocp-Apim-Subscription-Key; OpenClaw derives
https://<region>.tts.speech.microsoft.com from region unless you
provide endpoint or baseUrl.Voice names
Voice names
Use the Azure Speech voice
ShortName value, for example
en-US-JennyNeural. The bundled provider can list voices through the
same Speech resource and filters out voices marked deprecated, retired,
or disabled.Audio outputs
Audio outputs
Azure accepts output formats such as
audio-24khz-48kbitrate-mono-mp3,
ogg-24khz-16bit-mono-opus, and riff-24khz-16bit-mono-pcm. OpenClaw
requests Ogg/Opus for voice-note targets so channels can send native
voice bubbles without an extra MP3 conversion, and forces
raw-8khz-8bit-mono-mulaw for telephony targets.Alias
Alias
azure is accepted as a provider alias for existing config, but new
config should use azure-speech to avoid confusion with Azure OpenAI
model providers.Related
Text-to-speech
TTS overview, providers, and
messages.tts config.Configuration
Full config reference including
messages.tts settings.Providers
All bundled OpenClaw providers.
Troubleshooting
Common issues and debugging steps.