Skip to main content

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.