Built for voice agents that can't wait 600ms

Soniox: Soniox TTS Realtime v2

soniox/tts-rt-v2
active tts 1 provider
Playground

Soniox real-time streaming text-to-speech model; the successor to tts-rt-v1, adding voice cloning, speed adjustment and silence reduction.

AuthorSoniox
Languagesmultilingual
VoicesLoading...
Response formatsMP3 · WAV · PCM · Opus · AAC · FLAC · µ-law · A-law
Statusactive

Providers

Different providers can host the same model. Choose one provider when you need a fixed backend, or let routing select among them.

ProviderSlugPer 1k charactersLatencyiFor TTS, latency is measured as time to first byte of audio. For STT, latency is measured as time to first token.ModesUptime
Soniox 9 params
soniox
$0.0141
—
Synchronous · Streaming

Supported languages

No reviewed language list for this model yet.

Voices

Features

Text to speech

Generates spoken audio from text input.

text_to_speech
Streaming

Real-time streaming audio output over WebSocket.

streaming
Synchronous

Synthesizes speech from fully-submitted text in a single synchronous request.

synchronous
Voice cloning

Supports voice cloning from a reference sample of up to 120 seconds.

voice_cloning
Speed adjustment

Supports speaking-rate adjustment between 0.7x and 1.3x, not yet mapped on the route.

speed_control
Silence reduction

Supports trimming silence from generated audio, not yet mapped on the route.

silence_reduction
Timestamps

Reports timestamps alongside the generated audio.

timestamps

Code

Client
Mode
Language

ElevenLabs SDK streaming TTS

Routes the ElevenLabs SDK through allmodels and streams the audio response.

import { ElevenLabsClient } from "elevenlabs";

const client = new ElevenLabsClient({
  apiKey: process.env.ALLMODELS_API_KEY,
  baseUrl: "https://api.allmodels.io/el"
});

const stream = await client.textToSpeech.stream("voice_id", {
  text: "I'm sorry, Dave. I'm afraid I can't do that.",
  modelId: "soniox/tts-rt-v2",
  outputFormat: "mp3_44100_128"
}, {
  queryParams: {
    provider: {
      "only": [
        "soniox"
      ]
    }
  }
});

const reader = stream.getReader();
for (;;) {
  const { done, value } = await reader.read();
  if (done) break;
  // Write value to your response, file, or audio playback pipeline.
}