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

# Telnyx STT

[Telnyx](https://telnyx.com/) provides streaming speech-to-text over WebSocket. The plugin resamples audio to your configured rate, sends it as raw `linear16` frames, and emits transcripts as they arrive.

<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>

<Info>
  Get your Telnyx API key from the [Telnyx Mission Control Portal](https://portal.telnyx.com/).
</Info>

<Tip>
  Telnyx also provides [text-to-speech](/integrations/tts/telnyx), an [LLM](/integrations/llm/telnyx), and [PSTN telephony](/integrations/telephony/telnyx). You can use all four in the same agent.
</Tip>

<Warning>
  Telnyx STT does not emit VAD signals, so pair it with a turn detector such as [Smart Turn](/integrations/turn-detection/smart-turn).
</Warning>

## Installation

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

## Quick start

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

agent = Agent(
    edge=getstream.Edge(),
    agent_user=User(name="Assistant", id="agent"),
    instructions="You are a helpful voice assistant.",
    stt=telnyx.STT(),
    llm=telnyx.LLM(),
    tts=telnyx.TTS(),
    turn_detection=smart_turn.TurnDetection(),
)
```

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

## Parameters

```python theme={null}
stt = telnyx.STT(
    transcription_engine="Telnyx",
    language="en",
    sample_rate=16000,
    interim_results=False,
)
```

| Name | Type | Default | Description |
| - | - | - | - |
| `transcription_engine` | `str` | `"Telnyx"` | Engine to transcribe with (e.g. `Telnyx`, `Deepgram`, `Speechmatics`, `Soniox`) |
| `language` | `str` | `"en"` | Language code |
| `sample_rate` | `int` | `16000` | Rate in Hz audio is resampled to (use `8000` for telephony audio) |
| `interim_results` | `bool` | `False` | Emit partial transcripts (honoured per engine) |
| `model` | `str` | `""` | Optional engine-specific model id |
| `api_key` | `str` | `None` | API key (defaults to `TELNYX_API_KEY` env var) |

<Tip>
  Set `sample_rate=8000` when transcribing telephony audio from the [Telnyx](/integrations/telephony/telnyx) or [Twilio](/integrations/telephony/twilio) plugins to avoid upsampling PCMU frames.
</Tip>

## Engines and interim results

Measured against the live API with the same audio, `Speechmatics` and `Soniox` stream partial transcripts, while `Telnyx` and `Deepgram` accept the parameter and return finals only.

```python theme={null}
stt = telnyx.STT(transcription_engine="Speechmatics", interim_results=True)
```

The engine catalogue is served by Telnyx and is not validated locally.

## Next steps

<CardGroup cols={2}>
  <Card title="Telnyx TTS" icon="volume-high" href="/integrations/tts/telnyx">
    Streaming text-to-speech
  </Card>

  <Card title="Telnyx LLM" icon="brain" href="/integrations/llm/telnyx">
    OpenAI-compatible chat completions
  </Card>

  <Card title="Telnyx Telephony" icon="phone" href="/integrations/telephony/telnyx">
    PSTN calls via Call Control
  </Card>

  <Card title="Turn Detection" icon="ear-listen" href="/ai-technologies/turn-detection">
    Pair with a turn detector
  </Card>
</CardGroup>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.