Skip to main content

Overview

The Text-to-Speech (TTS) API converts text into natural-sounding speech audio. VoxNexus supports both REST API and WebSocket API for TTS operations.

REST API

The REST API endpoint /v1/tts supports synchronous and streaming audio generation.

Basic Usage

Request Parameters

string
required
The text content to convert to speech.
string
required
Model identifier. Specifies which model to use for TTS. Use the /v1/models endpoint to browse available models.
string
required
Unique identifier of the voice to use. Use the /v1/voices endpoint to browse available voices.
string
Language or locale code. Supports both ISO 639-1 language codes (e.g., en, zh) and BCP 47 locale codes (e.g., en-US, zh-CN). When a language code is provided, the system will automatically resolve it to the most common locale (e.g., enen-US). Default: en-US.
string
Audio format. Supported values: wav, pcm. Default: wav.
integer
Sample rate in Hz. Supported values: 16000, 24000, 48000. Default: 16000.
integer
deprecated
Bit rate in kbps. Not supported yet - reserved for future compressed format support. Default: 128.
number
Speech rate multiplier. Range: 0.5 - 2.0. Default: 1.0.
integer
Pitch offset in semitones. Range: -12 - 12. Default: 0.
number
Volume multiplier. Range: 0.0 - 1.0. Default: 1.0.
object
Voice-specific configuration object. Properties depend on the selected voice. Check voice details using /v1/voices/{voice_id} endpoint.

Response

The API returns audio data in the requested format. Response headers include metadata:
  • X-Request-ID: Unique request identifier
  • X-Voice-ID: Voice ID used for synthesis
  • X-Language: Language code
  • X-Audio-Format: Audio format
  • X-Sample-Rate: Sample rate
  • Transfer-Encoding: Transfer encoding (defaults to chunked streaming)

Streaming Response

By default, the API uses chunked transfer encoding for streaming audio data. This allows you to start playing audio while it’s still being generated, reducing latency.

WebSocket API

The WebSocket API provides real-time bidirectional communication for TTS operations, ideal for interactive applications.

Connection

Connect to wss://api.voxnexus.ai/v1/tts/realtime with authentication:

Message Flow

  1. Initialize: Send an init message to configure voice parameters
  2. Send Text: Send text messages with content to synthesize
  3. Receive Audio: Receive audio messages with Base64-encoded audio data
  4. Handle Errors: Monitor for error messages

Initialization Message

Text Message

Audio Response

Complete Example

Best Practices

Model and Voice Selection

  • Use the /v1/models endpoint to browse available TTS models
  • Use the /v1/voices endpoint to browse available voices, optionally filtered by model_id
  • Filter voices by language, gender, category, or style
  • Test voices using sample audio URLs before production use

Performance Optimization

  • Use streaming for long texts to reduce perceived latency
  • Choose appropriate sample rates (16kHz is sufficient for most use cases)
  • Use PCM format for real-time WebSocket streaming, WAV for REST API

Error Handling

Always implement proper error handling:

Rate Limits and Quotas

  • Implement exponential backoff for 429 responses
  • Consider using WebSocket API for high-frequency use cases

Common Use Cases

Interactive Voice Response (IVR)

Use WebSocket API for real-time synthesis in IVR systems:

Content Narration

Use REST API for batch processing of long-form content:

Accessibility Features

Generate audio versions of text content for accessibility: