AgentsLiveWire

Plugins

View as MarkdownOpen in Claude

LiveWire provides stub classes that mirror popular livekit-agents plugin constructors so that existing code compiles unchanged. On SignalWire, the platform handles all STT, TTS, LLM, and VAD infrastructure automatically. These classes are no-ops that log an informational message once on first instantiation.

You do not need to install Deepgram, Cartesia, ElevenLabs, Silero, or any other provider SDK. SignalWire manages the entire AI pipeline in its control plane. These stubs exist solely so that imports and constructor calls from existing livekit-agents code do not raise errors.

STT Plugins

DeepgramSTT

Stub for the LiveKit Deepgram STT plugin.

1from signalwire.livewire import DeepgramSTT
2
3stt = DeepgramSTT(model="nova-2")
4# No-op: SignalWire handles speech recognition automatically

Accepts arbitrary keyword arguments for API compatibility. All are ignored.


LLM Plugins

OpenAILLM

Stub for the LiveKit OpenAI LLM plugin. The model keyword, if provided, is stored on the instance and can be read by AgentSession to set the SignalWire AI model parameter.

1from signalwire.livewire import OpenAILLM
2
3llm = OpenAILLM(model="gpt-4o")

Accepts **kwargs for API compatibility. The model keyword, if provided, is stored on the instance (default: "") and used by AgentSession when building the underlying SignalWire agent. All other kwargs are ignored.


TTS Plugins

CartesiaTTS

Stub for the LiveKit Cartesia TTS plugin.

1from signalwire.livewire import CartesiaTTS
2
3tts = CartesiaTTS(voice="some-voice-id")
4# No-op: SignalWire handles text-to-speech automatically

Accepts arbitrary keyword arguments for API compatibility. All are ignored.


ElevenLabsTTS

Stub for the LiveKit ElevenLabs TTS plugin.

1from signalwire.livewire import ElevenLabsTTS
2
3tts = ElevenLabsTTS(voice_id="some-voice-id")
4# No-op: SignalWire handles text-to-speech automatically

Accepts arbitrary keyword arguments for API compatibility. All are ignored.


VAD Plugins

SileroVAD

Stub for the LiveKit Silero VAD plugin.

1from signalwire.livewire import SileroVAD
2
3vad = SileroVAD()
4# No-op: SignalWire handles voice activity detection automatically

Accepts arbitrary keyword arguments for API compatibility. All are ignored.

load

load() -> SileroVAD

Class method factory that mirrors SileroVAD.load(). Returns a new instance.

1from signalwire.livewire.plugins import SileroVAD
2
3vad = SileroVAD.load()

Inference Stubs

These classes mirror the livekit.agents.inference namespace. They are available both as direct imports and through the inference namespace alias.

1# Direct import
2from signalwire.livewire import InferenceSTT, InferenceLLM, InferenceTTS
3
4# Or via namespace alias
5from signalwire.livewire import inference
6stt = inference.STT(model="deepgram/nova-2")
7llm = inference.LLM(model="gpt-4o")
8tts = inference.TTS(model="cartesia/sonic")

InferenceSTT

Stub for livekit.agents.inference.STT.

1from signalwire.livewire import InferenceSTT
2
3stt = InferenceSTT(model="deepgram/nova-2")
No-op. SignalWire’s control plane handles speech recognition automatically.
model
strDefaults to ""

Model identifier. Accepted for API compatibility.

Accepts additional keyword arguments. All are ignored.


InferenceLLM

Stub for livekit.agents.inference.LLM. Unlike the STT and TTS inference stubs, the model value is read by the session builder and mapped to the SignalWire AI model parameter.

1from signalwire.livewire import InferenceLLM, AgentSession
2
3llm = InferenceLLM(model="gpt-4o")
4session = AgentSession(llm=llm)
model
strDefaults to ""

Model identifier. This value is used when building the underlying SignalWire agent. A provider prefix (e.g., "openai/") is stripped automatically.

Accepts additional keyword arguments. All are ignored.


InferenceTTS

Stub for livekit.agents.inference.TTS.

1from signalwire.livewire import InferenceTTS
2
3tts = InferenceTTS(model="cartesia/sonic")
No-op. SignalWire’s control plane handles text-to-speech automatically.
model
strDefaults to ""

Model identifier. Accepted for API compatibility.

Accepts additional keyword arguments. All are ignored.