Built for voice agents that can't wait 600ms

Sprag: Chorus

sprag/chorus
active tts 1 provider
Playground

Sprag's text-to-speech model that synthesizes 24 kHz mono speech in ten languages from built-in preset voices, voices cloned from reference audio, or voices designed from a written description.

AuthorSprag
Languages10 languages
VoicesLoading...
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
Sprag AI 11 params
sprag
$0.0162
—
Synchronous

Supported languages

10 languages
English en
Chinese zh
Japanese ja
Korean ko
Spanish es
Portuguese pt
Russian ru
German de
French fr
Italian it

Voices

Features

Text to speech

Generates spoken audio from text through an OpenAI /v1/audio/speech shape, returning audio bytes rather than JSON.

text_to_speech
Streaming

Streams raw chunked audio (stream_format=audio) or base64 audio deltas over SSE (stream_format=sse), for pcm and wav output only.

streaming
Output formats

Serves mp3, flac, wav and pcm at 24 kHz mono and opus at 48 kHz mono.

output_formats
Speaking rate control

`speed` multiplies the speaking rate over the documented 0.25-4.0 range.

speed_control
Voice cloning

Clones a speaker from reference audio passed inline as ref_audio and ref_text or saved once as an organization voice.

voice_cloning
Voice design

Creates a voice from a written description through /v1/audio/voices/design previews saved as organization voices.

voice_design

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

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