Skip to main content
Deepgram's Docs

Search documentation

Type to search this documentation.

On this pageOverview

Deploying Flux TTS

Please familiarize yourself with these general requirements before attempting to deploy Flux TTS to your self-hosted Deepgram instances.

  • Flux TTS runs on the NVIDIA L4, L40S, A100, H100, and Blackwell-generation GPUs. The NVIDIA T4 and A10 are not supported. All of them require NVIDIA driver >=580 with the open kernel modules; see Drivers and Containerization Platforms. See Model and GPU Compatibility for how this compares to Deepgram’s other models.
  • Each host running a Flux TTS Engine needs at least 64 GB of system RAM. See Memory Requirements below.
  • Flux TTS requires Deepgram container images from release-260812 or later. It runs on both the standard and the FIPS-compliant images. On FIPS images, MP3 and FLAC output are a known issue: set encoding explicitly on batch /v2/speak requests, which return MP3 by default. Streaming output is unaffected. See MP3 and FLAC Output.
  • Flux TTS must be enabled explicitly in your Engine configuration file. It is off by default.
  • Flux TTS requires a dedicated Engine. It cannot share an Engine with Aura models.
  • The Flux TTS model file must be present in your Engine models directory. Request it from your Deepgram account representative.
  • Your API configuration must enable the /v2/speak endpoint.

A Flux TTS Engine needs considerably more system RAM than an Aura Engine. While it loads the Flux TTS model at startup, the Engine container allocates up to 60 GB of system RAM. Once the model is loaded, steady-state usage is much lower.

Provision at least 64 GB of system RAM on every host running a Flux TTS Engine. On AWS, the g6.4xlarge instance type (one L4 GPU, 64 GB RAM) meets this requirement.

This requirement applies to system RAM, not GPU memory.

Enable Flux TTS in Deepgram Self-Hosted Deployment

Section titled “Enable Flux TTS in Deepgram Self-Hosted Deployment”

Flux TTS requires a couple of configuration changes in your self-hosted Deepgram deployment.

In your Deepgram Engine configuration, enable Flux TTS and select the model. Both uuid and max_batch_size are required when enabled = true.

Deepgram Engine Configuration
[flux_tts]
enabled = true
uuid = "<model UUID provided by Deepgram>"
max_batch_size = 0 # Placeholder; not a working value. See the warning below.

In your Deepgram API configuration, make sure that the /v2/speak endpoint is enabled. This endpoint is new for Flux TTS. Aura and Aura-2 are served via the /v1/speak endpoint.

Deepgram API Configuration
[features]
speak_v2 = true
speak_v2_streaming = true

speak_v2 exposes the batch REST transport, and speak_v2_streaming exposes the WebSocket transport.

The Helm chart exposes fluxTts.enabled, fluxTts.uuid, and fluxTts.maxBatchSize for the Engine side, and api.features.speakV2 and api.features.speakV2Streaming for the API side. Helm users do not edit the Engine configuration file directly; the chart renders it for them. See charts/deepgram-self-hosted/samples/08-flux-tts-setup.values.yaml in the self-hosted-resources repository for a complete example.

Flux TTS requires a dedicated Engine. Deploy it separately from Aura, and from your speech-to-text models, which contend for the same GPU memory.

Flux TTS synthesis workers bind to a single GPU. Exposing additional GPUs to a Flux TTS Engine does not increase its capacity. To use more GPUs, run one Engine per GPU.

Once your containers are running, make a sample request to verify that Flux TTS is loaded and serving. Flux TTS model strings use the format flux-{voice}-{language}, for example flux-haley-en. See Flux TTS Voices & Languages for the full catalog.

Unless you have HTTPS/TLS configured, use the http:// and ws:// protocols. Both /v2/speak transports are available on the same API port.

Bash

You should receive a response with the audio output. You can copy this file locally to manually evaluate the synthesized speech.

Bash

Each turn follows a clean lifecycle: SpeechStarted → audio → SpeechMetadata. Congratulations - your self-hosted Flux TTS setup is working!

Flux TTS behaves the same way in a self-hosted deployment as it does on Deepgram’s hosted platform. To learn about the API surface, voices, and transports, see:

Suggest an edit

Propose a replacement for this page. The site team reviews it before applying any changes.

Export
Documentation menu