***

title: Plugins
slug: /reference/python/agents/livewire/plugins
description: No-op plugin stubs and inference classes for LiveKit API compatibility.
max-toc-depth: 3
---------------------

For a complete index of all SignalWire documentation pages, fetch https://signalwire.com/docs/llms.txt

[agentsession]: /docs/server-sdks/reference/python/agents/livewire/agent-session

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.

<Note>
  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.
</Note>

## STT Plugins

### DeepgramSTT

Stub for the LiveKit Deepgram STT plugin.

```python
from signalwire.livewire import DeepgramSTT

stt = DeepgramSTT(model="nova-2")
# 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`][agentsession] to set
the SignalWire AI model parameter.

```python
from signalwire.livewire import OpenAILLM

llm = 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.

```python
from signalwire.livewire import CartesiaTTS

tts = CartesiaTTS(voice="some-voice-id")
# 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.

```python
from signalwire.livewire import ElevenLabsTTS

tts = ElevenLabsTTS(voice_id="some-voice-id")
# 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.

```python
from signalwire.livewire import SileroVAD

vad = SileroVAD()
# 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.

```python
from signalwire.livewire.plugins import SileroVAD

vad = 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.

```python
# Direct import
from signalwire.livewire import InferenceSTT, InferenceLLM, InferenceTTS

# Or via namespace alias
from signalwire.livewire import inference
stt = inference.STT(model="deepgram/nova-2")
llm = inference.LLM(model="gpt-4o")
tts = inference.TTS(model="cartesia/sonic")
```

### InferenceSTT

Stub for `livekit.agents.inference.STT`.

```python
from signalwire.livewire import InferenceSTT

stt = InferenceSTT(model="deepgram/nova-2")
```

<Note>
  No-op. SignalWire's control plane handles speech recognition automatically.
</Note>

<ParamField path="model" type="str" default="&#x22;&#x22;" toc={true}>
  Model identifier. Accepted for API compatibility.
</ParamField>

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.

```python
from signalwire.livewire import InferenceLLM, AgentSession

llm = InferenceLLM(model="gpt-4o")
session = AgentSession(llm=llm)
```

<ParamField path="model" type="str" default="&#x22;&#x22;" toc={true}>
  Model identifier. This value is used when building the underlying SignalWire
  agent. A provider prefix (e.g., `"openai/"`) is stripped automatically.
</ParamField>

Accepts additional keyword arguments. All are ignored.

***

### InferenceTTS

Stub for `livekit.agents.inference.TTS`.

```python
from signalwire.livewire import InferenceTTS

tts = InferenceTTS(model="cartesia/sonic")
```

<Note>
  No-op. SignalWire's control plane handles text-to-speech automatically.
</Note>

<ParamField path="model" type="str" default="&#x22;&#x22;" toc={true}>
  Model identifier. Accepted for API compatibility.
</ParamField>

Accepts additional keyword arguments. All are ignored.