#gemini tts
1 messages · Page 1 of 1 (latest)
It goes at the top level of openclaw.json, under messages.
So if you already have other top-level sections like gateway, models, or channels, it would look like:
{
gateway: {
// ...
},
models: {
// ...
},
messages: {
tts: {
auto: "always",
provider: "google",
providers: {
google: {
model: "gemini-3.1-flash-tts-preview",
voiceName: "Kore",
},
},
},
},
channels: {
// ...
},
}
If you already have a messages block, just merge tts into that existing block. Don’t create a second messages key.
Docs:
- TTS: https://docs.openclaw.ai/tools/tts
- Google provider: https://docs.openclaw.ai/providers/google
- Config reference: https://docs.openclaw.ai/gateway/configuration
Also, openclaw.json is JSON5, so unquoted keys and trailing commas like your example are fine.
everything in my openclaw.json has keys quoted, can it be either way?
Yep, either way is fine.
openclaw.json is parsed as JSON5, so these are both valid:
{
messages: {
tts: {
auto: "always"
}
}
}
and
{
"messages": {
"tts": {
"auto": "always"
}
}
}
If your file already uses quoted keys, I’d just keep it consistent and use quotes everywhere.
A few handy JSON5 extras:
- trailing commas are okay
- comments are okay
- unquoted keys are okay when they’re simple identifiers
So your block with quotes would be:
{
"messages": {
"tts": {
"auto": "always",
"provider": "google",
"providers": {
"google": {
"model": "gemini-3.1-flash-tts-preview",
"voiceName": "Kore"
}
}
}
}
}