LiveKit docs › Models › Realtime › Phonic Speech-to-speech

---

# Phonic plugin guide

> How to use the Phonic Realtime model with LiveKit Agents.

Available in:
- [x] Node.js
- [x] Python

## Overview

The [Phonic](https://phonic.co/) Live Conversation API is built for the voice agent experience. Use LiveKit's Phonic plugin to build a reliable speech-to-speech voice agent with intelligent tool calling.

### Installation

Install the Phonic plugin:

**Python**:

```shell
uv add "livekit-agents[phonic]~=1.5"

```

---

**Node.js**:

```shell
pnpm add "@livekit/agents-plugin-phonic@1.x"

```

### Authentication

The Phonic plugin requires an API key which can be accessed on the Phonic console's [API keys](https://phonic.co/api-keys) page. Set `PHONIC_API_KEY` as a variable in your `.env` file.

### Usage

Use Phonic in an `AgentSession`. For example, you can use it in the [Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai-quickstart.md).

**Python**:

```python
from livekit.plugins import phonic

session = AgentSession(
   llm=phonic.realtime.RealtimeModel(voice="sabrina"),
)

```

---

**Node.js**:

```typescript
import * as phonic from '@livekit/agents-plugin-phonic';

const session = new voice.AgentSession({
   llm: new phonic.realtime.RealtimeModel({ voice: "sabrina" }),
});

```

### Parameters

This section describes some of the available parameters. For a complete reference of all available parameters, see the [plugin reference](https://docs.livekit.io/reference/python/livekit/plugins/phonic.md#livekit.plugins.phonic).

- **`phonic_agent`** _(str)_ (optional): Phonic agent name.

- **`voice`** _(str)_ (optional): Phonic voice to use from the [available voices](https://github.com/livekit/agents/blob/main/livekit-plugins/livekit-plugins-phonic/README.md#configuration).

- **`welcome_message`** _(str)_ (optional): The message the agent says when the session starts. Ignored when `generate_welcome_message` is `True`.

- **`generate_welcome_message`** _(bool)_ (optional): Whether to auto-generate the welcome message (ignores `welcome_message`).

- **`min_words_to_interrupt`** _(int)_ (optional): Minimum number of words the user must say before interrupting the agent. Useful for reducing false interruptions from short utterances like "uh" or "hmm." For example, setting this to `2` means single-word utterances don't trigger an interruption.

## Initiating speech

Available in:
- [ ] Node.js
- [x] Python

Phonic supports [`session.say()`](https://docs.livekit.io/agents/multimodality/audio.md#session-say) to speak a predefined message. Unlike other realtime models, no separate TTS plugin is required.

## Additional resources

The following resources provide more information about using Phonic with LiveKit Agents.

- **[Phonic Realtime docs](https://docs.phonic.co/docs/get-started/overview)**: Phonic documentation.

- **[Voice AI quickstart](https://docs.livekit.io/agents/start/voice-ai-quickstart.md)**: Get started with LiveKit Agents and Phonic.

---

This document was rendered at 2026-06-07T11:34:59.285Z.
For the latest version of this document, see [https://docs.livekit.io/agents/models/realtime/plugins/phonic.md](https://docs.livekit.io/agents/models/realtime/plugins/phonic.md).

To explore all LiveKit documentation, see [llms.txt](https://docs.livekit.io/llms.txt).