Transports
Transports define how the runtime connects to external services.
A provider describes what service is used; a transport describes how the runtime reaches it.
Transport configuration includes connection details such as:
- endpoint URLs
- automatic reconnect behavior
- timeout behavior
- websocket or HTTP connection settings
Transports are declared under [transports].
[transports]
deepgram_listen_ws = { auto_reconnect = true, endpoint = "wss://api.deepgram.com/v1/listen" }
deepgram_rt = { auto_reconnect = true }
deepgram_speak_ws = { auto_reconnect = true, endpoint = "wss://api.deepgram.com/v1/speak" }
openai_responses_http = { auto_reconnect = true, endpoint = "https://api.openai.com/v1/responses" }
openai_responses_http2 = { auto_reconnect = true, endpoint = "https://api.openai.com/v1/responses" }
[transports.openai_realtime_ws]
auto_reconnect = true
endpoint = "wss://api.openai.com/v1/realtime?model=gpt-realtime"
Endpoint
The endpoint field defines the remote URL used by the transport.
endpoint = "wss://api.openai.com/v1/realtime?model=gpt-realtime"
Websocket(s) transports normally use wss:// - HTTP(s) transports normally use https://.
Some transports may omit the endpoint when the provider implementation already has a default endpoint.
deepgram_rt = { auto_reconnect = true }
Auto reconnect
The auto_reconnect field controls whether the runtime should try to reconnect after transient connection failures.
auto_reconnect = true
This is usually enabled for realtime voice services, because network interruptions can happen during long-lived sessions.
How transports connect to modalities
A transport is normally consumed by a Modality.
[realtime]
deepgram_rt = { provider = "deepgram", transport = "deepgram_rt" }
openai_realtime_voice = { provider = "openai", transport = "openai_realtime_ws" }
The modality combines:
- a provider
- a transport
This allows the same provider to use different connection profiles if needed.