> ## Documentation Index
> Fetch the complete documentation index at: https://visionagents.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# Cartesia STT

[Cartesia](https://cartesia.ai/?utm_medium=partner\&utm_source=getstream) provides low-latency speech-to-text with the Ink model. `STT` streams PCM audio to Cartesia Ink and emits transcript and turn events that Vision Agents uses for interruption and eager turn handling.

<Info>
  Vision Agents uses [Stream Video](https://getstream.io/video/) for real-time WebRTC transport by default. [External WebRTC transports](/integrations/introduction-to-integrations#edge-transport) are supported as well. Most AI providers offer free tiers to get started.
</Info>

<Tip>
  Cartesia also provides low-latency [text-to-speech](/integrations/tts/cartesia). You can use both in the same agent.
</Tip>

## Installation

```sh theme={null}
uv add "vision-agents[cartesia]"
```

## Quick Start

```python theme={null}
from vision_agents.core import Agent, User
from vision_agents.plugins import cartesia, gemini, getstream

agent = Agent(
    edge=getstream.Edge(),
    agent_user=User(name="Assistant", id="agent"),
    instructions="You are a helpful assistant.",
    llm=gemini.LLM("gemini-3-flash-preview"),
    stt=cartesia.STT(),
    tts=cartesia.TTS(),
)
```

<Warning>
  Set `CARTESIA_API_KEY` in your environment or pass `api_key` directly.
</Warning>

## Parameters

| Name                      | Type  | Default                                       | Description                                                                                       |
| ------------------------- | ----- | --------------------------------------------- | ------------------------------------------------------------------------------------------------- |
| `api_key`                 | `str` | `None`                                        | API key (defaults to `CARTESIA_API_KEY` env var)                                                  |
| `model`                   | `str` | `"ink-2"`                                     | Cartesia STT model                                                                                |
| `sample_rate`             | `int` | `16000`                                       | PCM sample rate (Hz) sent to Cartesia. One of `8000`, `16000`, `22050`, `24000`, `44100`, `48000` |
| `encoding`                | `str` | `"pcm_s16le"`                                 | PCM encoding sent to Cartesia                                                                     |
| `cartesia_version`        | `str` | `"2026-03-01"`                                | Cartesia API version used for the turn-detection websocket                                        |
| `websocket_url`           | `str` | `"wss://api.cartesia.ai/stt/turns/websocket"` | WebSocket endpoint (mainly useful for tests)                                                      |
| `audio_chunk_duration_ms` | `int` | `100`                                         | Maximum duration per WebSocket audio frame (ms)                                                   |

## Next Steps

<CardGroup cols={2}>
  <Card title="Cartesia TTS" icon="volume-high" href="/integrations/tts/cartesia">
    Low-latency text-to-speech
  </Card>

  <Card title="Build a Voice Agent" icon="microphone" href="/introduction/voice-agents">
    Get started with voice
  </Card>
</CardGroup>
