Validate Deepgram Self-Hosted TTS

An open-source terminal utility for validating Deepgram Aura-2 text-to-speech on self-hosted deployments.

tts-tui is an open-source terminal application written in Rust for testing and validating Deepgram text-to-speech on self-hosted deployments. It supports Deepgram-compatible HTTP endpoints and Amazon SageMaker, with interactive voice selection, multi-format audio output, and local audio caching.

Features

  • Validate self-hosted TTS — confirm that Aura-2 models produce correct audio on your own infrastructure before going to production.
  • Test output formats — switch between MP3, Linear16 (WAV), FLAC, and other encodings with configurable sample rates.
  • Multi-language support — synthesize speech in any Deepgram-supported language and save utterances for comparison.
  • Audio caching — repeated playback is served from disk instantly, so you can iterate without redundant API calls.
  • Dual provider support — test both Deepgram-compatible HTTP endpoints and Amazon SageMaker InvokeEndpoint deployments from the same tool.

Prerequisites

  • Rust Toolchain (only required when building from source)
  • Deepgram self-hosted TTS deployment

Installation

Run Pre-compiled Binary

  1. Download the latest release from GitHub Releases.
  2. Extract the ZIP file.
  3. Run the tts-tui binary.

Build from Source

$git clone https://github.com/deepgram-devs/deepgram-demos-rust.git
$cd deepgram-demos-rust/tts-tui
$cargo install --path .

Once installed, the tts-tui binary is available from anywhere on your system.

Configure for self-hosted

Use the --endpoint flag to point tts-tui at your Deepgram-compatible HTTP endpoint:

$tts-tui --provider deepgram --endpoint https://your-selfhosted-deepgram.example.com/v1/speak

If the endpoint requires an API key, supply it through the DEEPGRAM_API_KEY environment variable or press k inside the running application.

Configure for Amazon SageMaker

Use self-hosted Deepgram TTS on Amazon SageMaker through the AWS SageMaker Runtime InvokeEndpoint API:

$tts-tui \
> --provider sagemaker \
> --sagemaker-endpoint-name your-sagemaker-endpoint \
> --aws-region us-east-2

The same settings can be supplied with environment variables:

$export TTS_TUI_PROVIDER=sagemaker
$export SAGEMAKER_ENDPOINT_NAME=your-sagemaker-endpoint
$export AWS_REGION=us-east-2
$tts-tui

Learn more