Cartesia STT and TTS integration for Vision Agents
Project description
Cartesia
Cartesia is a service that provides Speech-to-Text (STT) and Text-to-Speech (TTS) capabilities. It's designed for real-time voice applications, making it ideal for voice AI agents, transcription pipelines, and conversational interfaces.
The Cartesia plugin for the Stream Python AI SDK allows you to add STT and TTS functionality to your project.
Installation
Install the Stream Cartesia plugin with
uv add "vision-agents[cartesia]"
# or directly
uv add vision-agents-plugins-cartesia
Examples
Read on for some key details and check out our Cartesia examples to see working code samples:
- in main.py we see a voice bot that uses Cartesia STT and TTS in a Stream call
- in narrator-example.py we see a well-prompted combination of an STT -> LLM -> TTS flow that leverages Cartesia's Ink and Sonic models to narrate a creative story from the user's input
Initialisation
The Cartesia plugin for Stream exposes STT and TTS classes:
from vision_agents.plugins import cartesia
stt = cartesia.STT()
tts = cartesia.TTS()
To initialise without passing in the API key, make sure the `CARTESIA_API_KEY` is available as an environment variable.
You can do this either by defining it in a `.env` file or exporting it directly in your terminal.
Parameters
These are the parameters available in the Cartesia STT plugin for you to customise:
| Name | Type | Default | Description |
|---|---|---|---|
api_key |
str or None |
None |
Your Cartesia API key. If not provided, the plugin will look for the CARTESIA_API_KEY environment variable. |
model |
str |
"ink-2" |
ID of the Cartesia STT model to use. |
sample_rate |
int |
16000 |
Sample rate (in Hz) sent to Cartesia. |
encoding |
str |
"pcm_s16le" |
PCM encoding sent to Cartesia. |
cartesia_version |
str |
"2026-03-01" |
Cartesia API version used for the turn-detection websocket. |
These are the parameters available in the Cartesia TTS plugin for you to customise:
| Name | Type | Default | Description |
|---|---|---|---|
api_key |
str or None |
None |
Your Cartesia API key. If not provided, the plugin will look for the CARTESIA_API_KEY environment variable. |
model_id |
str |
"sonic-3.5" |
ID of the Cartesia TTS model to use. |
voice_id |
str or None |
"f9836c6e-a0bd-460e-9d3c-f7299fa60f94" |
ID of the voice to use for TTS responses. |
sample_rate |
int |
16000 |
Sample rate (in Hz) used for audio processing. |
Functionality
Send audio to transcribe speech
STT streams PCM audio to Cartesia Ink and emits transcript and turn events that Vision Agents can use for interruption and eager turn handling.
agent = Agent(
...,
stt=cartesia.STT(),
tts=cartesia.TTS(),
)
Send text to convert to speech
The send_iter() method sends the text passed in for the service to synthesize
and yields TTSOutputChunks containing the produced PCM audio.
async for chunk in tts.send_iter("Demo text you want AI voice to say"):
pass
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vision_agents_plugins_cartesia-0.6.8.tar.gz.
File metadata
- Download URL: vision_agents_plugins_cartesia-0.6.8.tar.gz
- Upload date:
- Size: 7.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
edf718a361dbb7c487a6300f939222fd34f7e612ca860afedd140c82fd51a9e0
|
|
| MD5 |
ea60ad8679d80e5b603efaf61c99020c
|
|
| BLAKE2b-256 |
11d483b29d84b16231eab3f82baa0aed8929cf16fe3fb250531bfee21ba9d0f0
|
File details
Details for the file vision_agents_plugins_cartesia-0.6.8-py3-none-any.whl.
File metadata
- Download URL: vision_agents_plugins_cartesia-0.6.8-py3-none-any.whl
- Upload date:
- Size: 7.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.10.10 {"installer":{"name":"uv","version":"0.10.10","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4dc30b29a5404975ebbe79dc0d9147f0343b60b88c07b5b37303024d7658abb8
|
|
| MD5 |
dc08b45d014325eadc50da33f0b61894
|
|
| BLAKE2b-256 |
08dd930bb950a51457ae7ea08a728a9d977d4af90d48333b6199c1f5a8b7b925
|