Skip to main content
Version: 0.9.14

Providers

A provider is the connection between Delphi and an AI vendor (OpenAI, Azure, Pythia, TOBi, …). Every voice agent ultimately calls a provider to do speech-to-text, generate a response, and synthesise speech.

Where providers live

There is no top-level /providers sidebar entry outside this section. Providers are configured inside the Flow Designer — on the flow's default provider (Flow Settings) or as a per-node override on a voice agent. This page is the section overview; for editing, open the Flow Designer.

v0.9.14-patch1 provider migration

Saved provider references are no longer supported. Flows that still contain { ref: "<provider-id>" } must be converted to inline provider configuration before the patch migration drops saved provider records.

Two pipeline modes

Each flow picks one of two pipeline modes for its default provider:

ModeWhat it does
RealtimeOne provider runs STT, LLM, and TTS in a single bidirectional connection (lowest latency; e.g. OpenAI Realtime, Azure Realtime).
PipelineSeparate STT + LLM + TTS providers chained together (more flexibility; e.g. Azure STT → OpenAI Chat → Azure TTS).

A voice-agent node can override the flow default with its own inline provider configuration. There is no separate saved-provider record at runtime.

Custom endpoints

Modular STT and TTS providers, and most Realtime providers, accept custom base URLs — including hostnames and IP addresses. Use this for private-network speech services, mock servers, and non-default Azure Speech deployments.

See Custom STT/TTS endpoints for IP vs DNS, path defaults, Squid/proxy behaviour, and troubleshooting.

Speech playback and hangup

Pipeline flows queue TTS output and coordinate hangup with wait for silence and delay bot disconnect. Realtime flows stream vendor audio but use the same hangup timing on the call leg. See Speech playback and hangup — the shared reference for multi-message playback, TOBi queueing, and managed hangup settings.

Provider reference

The catalogue below depends on feature flags. Per-vendor field lists and endpoint settings are on each reference page.

ProviderModesReference
OpenAIRealtime, Chat (LLM), TTSOpenAI
AzureRealtime, STT, TTSAzure
Gemini LiveRealtimeGemini Live
InworldSTT, TTSInworld
Grok (xAI)RealtimeGrok
PythiaRealtimePythia
TOBi (managed LLM)Managed LLM (pipeline)TOBi managed LLM

Audio preprocessing

For voice flows the provider config also picks the noise-reduction profile applied to inbound audio (legacy per-provider VAD fields were removed in favour of this).

Teams on Starter or Business Small plans cannot enable audio preprocessing on new or published flow versions.

Resilience settings

Provider settings can define timeout and retry behavior per role (STT, TTS, realtime, or bot/LLM). The effective policy merges platform defaults, optional team overrides, and flow-level provider settings.

See Platform settings → Resilience defaults and Inspectors → Provider config editor.

Credentials

Provider credentials (API keys, deployment names) are not stored on the flow. They live as team variables and secrets, referenced by name inside the provider config (for example {{team.azureDefaultKey}}). Flow JSON stays portable across environments.

Where to edit

Open the Flow Designer for an app and:

  • Click the Default Provider chip (or the Start node) to edit the flow-default provider.
  • Click any voice agent node and use its Provider override tab.

See Inspectors → Provider config editor.

See also