Built for voice agents that can't wait 600ms

Cartesia: Sonic 3

cartesia/sonic-3
active tts 2 providers
Playground

Cartesia Sonic 3 streaming TTS with high naturalness and fine-grained volume, speed and emotion control, older than Sonic 3.5 but still served for compatibility.

AuthorCartesia
Languages1 languages
VoicesLoading...
Response formatsSynchronous: MP3 · WAV · PCM · µ-law · A-law
Streaming: PCM · µ-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
Cartesia 7 params
cartesia
$0.03738
—
Synchronous · Streaming
Together AI 5 params
together
$0.065
—
Synchronous

Supported languages

1 languages
English en

Voices

Features

Text to speech

Generates spoken audio from text input.

text_to_speech
Streaming

Low-latency streaming TTS over WebSocket; raw PCM output (pcm_f32le/pcm_s16le/pcm_mulaw/pcm_alaw).

streaming
Synchronous

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

synchronous
Multilingual

Supports 44 languages.

multilingual
Voice cloning

Supports instant and professional voice clones.

voice_cloning
Speed & emotion control

Speed (0.6-1.5) and emotion (neutral/calm/angry/content/sad) control; volume control on Sonic 3+.

speed_emotion_control

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: "cartesia/sonic-3",
  outputFormat: "mp3_44100_128"
}, {
  queryParams: {
    provider: {
      "only": [
        "cartesia"
      ]
    }
  }
});

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