Voice (TTS / STT)

tota supports multiple TTS and STT providers. Run tota setup voice to configure interactively.

#TTS providers

Env VarDescriptionDefault
OPENAI_API_KEYUsed for OpenAI TTS-1
ELEVENLABS_API_KEYElevenLabs API key
ELEVENLABS_VOICE_IDElevenLabs voice ID to use
GOOGLE_TTS_API_KEYGoogle Cloud TTS API key

#STT providers

Env VarDescriptionDefault
OPENAI_API_KEYUsed for OpenAI Whisper-1
GROQ_API_KEYGroq Whisper-large-v3 (faster)

Or configure fully in ~/.tota/tota.yaml:

voice:
  ttsProvider: openai        # openai | elevenlabs | google
  sttProvider: openai        # openai | groq
  defaultVoice: nova         # alloy | echo | fable | onyx | nova | shimmer
  elevenLabsApiKey: sk-...
  elevenLabsVoiceId: VOICE_ID
  googleTtsApiKey: AIza...
  groqApiKey: gsk_...

The provider param on text_to_speech and transcribe_audio tools overrides the configured default per call.

When any STT key is present, Telegram voice messages are automatically transcribed before being passed to the agent.

Run tota setup voice to configure providers via an interactive wizard.