Skip to main content

Providers

Providers define the external AI and voice services that the Voxtronics runtime can use.

A provider is not the call flow itself; it is a service definition. Profiles and modalities decide when a provider is used.

In a typical configuration, providers are used for:

  • speech recognition
  • reasoning
  • text generation
  • realtime voice sessions
  • speech synthesis

The provider section is declared under [providers].

[providers.deepgram]
enabled = true
experimental = false
key = "deepgram"
language = "en"
listen_model = "nova-3"
speak_model = "aura-asteria-en"
speak_provider_type = "deepgram"
think_provider_model = "gpt-4o-mini"
think_provider_temperature = 0
think_provider_type = "open_ai"
type = "deepgram"

[providers.openai]
key = "openai"
input_transcription_model = "gpt-4o-mini-transcribe"
model = "gpt-realtime"
tool_choice = "auto"
voice = "alloy"

Providers are referenced by name across the configuration and should remain focused on service capabilities, not runtime behavior.

Secret management

The key field does not contain the raw API key; it is a reference to a secret stored in the Vault.

This keeps sensitive credentials out of the TOML configuration and allows secrets to be rotated without changing the configuration file.

For example:

key = "deepgram"

In this example, deepgram is the name of the secret reference.

The same rule applies to provider credentials and adapter authentication blocks.

A field named key should be treated as a secret reference, not as the literal secret value.