#different Elevenlabs-Voices per Agent
1 messages · Page 1 of 1 (latest)
Not as a “set it once per sub-agent ID” config knob (today messages.tts is global), but you can effectively do it per reply using TTS directives — so each sub-agent can speak with its own ElevenLabs voiceId.
How to do it
- Enable TTS + keep model-driven overrides on (default):
{
messages: {
tts: {
auto: "tagged", // recommended if you only want audio when explicitly requested
provider: "elevenlabs",
modelOverrides: { enabled: true },
elevenlabs: {
apiKey: "…",
modelId: "eleven_multilingual_v2"
}
}
}
}
- Have each sub-agent include a voice override in its final message:
Here’s my result…
[[tts:voiceId=EXAVITQu4vr4xnSDxMaL]]
That [[tts:...]] tag can set ElevenLabs voiceId per message, so you can assign:
- Sub-agent A → voiceId A
- Sub-agent B → voiceId B
…just by instructing them to always include their tag.
Docs:
- https://docs.openclaw.ai/tts (see “Model-driven overrides” /
[[tts:voiceId=...]]) - https://docs.openclaw.ai/gateway/configuration-reference (see
messages.tts.elevenlabs.voiceId)