LemonGateway.Voice.Config (lemon_gateway v0.1.0)

View Source

Configuration for the voice transport.

Reads from the canonical gateway config ([gateway.voice] TOML section) via LemonCore.GatewayConfig.

Temporary compatibility fallbacks to legacy app env and direct env are kept only where needed while tests and deployments finish migrating.

Summary

Functions

Returns the Deepgram API key.

Returns the ElevenLabs API key.

Returns the ElevenLabs audio output format.

Returns the ElevenLabs voice ID to use.

Returns whether the voice transport is enabled.

Returns the LLM model to use for voice responses.

Returns the maximum duration for a voice call in seconds.

Returns the public URL for Twilio webhooks.

Returns the silence timeout in milliseconds.

Returns the system prompt for voice conversations.

Returns the Twilio account SID.

Returns the Twilio auth token.

Returns the Twilio phone number for voice calls.

Returns the WebSocket port for Twilio Media Streams.

Functions

deepgram_api_key()

@spec deepgram_api_key() :: String.t() | nil

Returns the Deepgram API key.

elevenlabs_api_key()

@spec elevenlabs_api_key() :: String.t() | nil

Returns the ElevenLabs API key.

elevenlabs_output_format()

@spec elevenlabs_output_format() :: String.t()

Returns the ElevenLabs audio output format.

ulaw_8000 is Twilio Media Streams compatible and avoids a conversion step.

elevenlabs_voice_id()

@spec elevenlabs_voice_id() :: String.t()

Returns the ElevenLabs voice ID to use.

enabled?()

@spec enabled?() :: boolean()

Returns whether the voice transport is enabled.

llm_model()

@spec llm_model() :: String.t()

Returns the LLM model to use for voice responses.

max_call_duration_seconds()

@spec max_call_duration_seconds() :: integer()

Returns the maximum duration for a voice call in seconds.

public_url()

@spec public_url() :: String.t() | nil

Returns the public URL for Twilio webhooks.

silence_timeout_ms()

@spec silence_timeout_ms() :: integer()

Returns the silence timeout in milliseconds.

system_prompt()

@spec system_prompt() :: String.t()

Returns the system prompt for voice conversations.

twilio_account_sid()

@spec twilio_account_sid() :: String.t() | nil

Returns the Twilio account SID.

twilio_auth_token()

@spec twilio_auth_token() :: String.t() | nil

Returns the Twilio auth token.

twilio_phone_number()

@spec twilio_phone_number() :: String.t() | nil

Returns the Twilio phone number for voice calls.

websocket_port()

@spec websocket_port() :: integer()

Returns the WebSocket port for Twilio Media Streams.