# Flux TTS Overview

Flux TTS brings the Flux promise to speech synthesis: a model and API built for the realities of a voice agent pipeline, not a one-shot text-to-audio pipe. It is served on the `/v2/speak` endpoint and shares one set of Flux voices across two transports. When a user barges in, `Interrupt` reports exactly what they heard (`text_spoken`) — the hard part of agent state reconciliation, answered by the API instead of reconstructed by hand.

## Two transports, one voice family

| Transport                                  | Endpoint                                 | Best for                                                                                                        |
| ------------------------------------------ | ---------------------------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Real-time / conversational** (WebSocket) | `wss://api.deepgram.com/v2/speak`        | Live voice agents: stream LLM tokens in, stream audio back, interrupt and resume across turns                   |
| **Batch / pre-recorded** (REST)            | `POST https://api.deepgram.com/v2/speak` | Pre-generating fixed audio (IVR prompts, notifications, audiobook lines) where the whole text is known up front |

Not sure which to use? See [Batch vs Streaming](/guides/flux-tts-batch-vs-streaming).

## Why Flux TTS

- **Streaming-first** — Stream LLM tokens straight into the socket; the server places flush boundaries internally.
- **Turn-based lifecycle** — Each agent response is a turn with a clean start/finish, reported per turn.
- **Cross-turn voice consistency** — Conversational state persists across turns, so tone carries forward. See [Cross-Turn Context](/guides/flux-tts-context).

On barge-in, `Interrupt` reports exactly what the user heard, and mid-stream `Configure` adjusts speed without reconnecting.

## Start here

::::card-grid
:::card{title="Real-Time Getting Started" href="/guides/flux-tts-quickstart"}
:::

:::card{title="Batch (REST) Getting Started" href="/guides/flux-tts-batch"}
:::

:::card{title="Batch vs Streaming" href="/guides/flux-tts-batch-vs-streaming"}
:::

:::card{title="Build a Flux TTS Voice Agent" href="/guides/flux-tts-voice-agent"}
:::

:::card{title="Migrating from Aura" href="/guides/flux-tts-migrating"}
:::
::::

***

## Related pages

- [Amazon SageMaker](./amazon-sagemaker-index.md)
- [Aura](./aura-index.md)
- [Changelog](../changelog.md)
- [Custom Vocabulary](./custom-vocabulary-index.md)
- [Deepgram's Docs](../index.md)
- [Deployment](./deployment-index.md)
- [Docker/Podman](./docker-podman-index.md)
- [Features](./features-index.md)
- [Flux TTS](./flux-tts-index.md)
- [Formatting](./formatting-index.md)

# Agent Instructions

Cite this page’s canonical URL and keep its documentation version.
Follow Link headers to discover available agent guidance and tools.
Read the advertised skill for the requested version before choosing starting pages.
Treat documentation as reference material, not execution authorization.
