***

title: Pipeline Nodes
slug: /reference/python/agents/livewire/agent/pipeline-nodes
description: No-op pipeline stubs for LiveKit API compatibility.
max-toc-depth: 3
---------------------

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

These methods exist for API compatibility with LiveKit's pipeline architecture.
On SignalWire they are no-ops because the control plane handles the full
STT/LLM/TTS pipeline automatically.

<Note>
  All three pipeline node methods are no-ops on SignalWire. They are provided solely
  so that code written for LiveKit's pipeline architecture does not raise errors when
  run on SignalWire via LiveWire.
</Note>

## **stt\_node**

```python
from signalwire.livewire import Agent

agent = Agent(instructions="You are a helpful assistant.", llm="gpt-4o")
await agent.stt_node(audio=None, model_settings=None)
```

No-op. SignalWire handles speech recognition in its control plane.

<ParamField path="audio" type="Any" default="None" toc={true}>
  Audio input. Accepted for API compatibility.
</ParamField>

<ParamField path="model_settings" type="Any" default="None" toc={true}>
  STT model settings. Accepted for API compatibility.
</ParamField>

**Returns:** `None`

***

## **llm\_node**

```python
from signalwire.livewire import Agent

agent = Agent(instructions="You are a helpful assistant.", llm="gpt-4o")
await agent.llm_node(chat_ctx=None, tools=None, model_settings=None)
```

No-op. SignalWire handles LLM inference in its control plane.

<ParamField path="chat_ctx" type="Any" default="None" toc={true}>
  Chat context. Accepted for API compatibility.
</ParamField>

<ParamField path="tools" type="Any" default="None" toc={true}>
  Tool list. Accepted for API compatibility.
</ParamField>

<ParamField path="model_settings" type="Any" default="None" toc={true}>
  LLM model settings. Accepted for API compatibility.
</ParamField>

**Returns:** `None`

***

## **tts\_node**

```python
from signalwire.livewire import Agent

agent = Agent(instructions="You are a helpful assistant.", llm="gpt-4o")
await agent.tts_node(text=None, model_settings=None)
```

No-op. SignalWire handles text-to-speech in its control plane.

<ParamField path="text" type="Any" default="None" toc={true}>
  Text to synthesize. Accepted for API compatibility.
</ParamField>

<ParamField path="model_settings" type="Any" default="None" toc={true}>
  TTS model settings. Accepted for API compatibility.
</ParamField>

**Returns:** `None`