Built for voice agents that can't wait 600ms

Amazon: Amazon Polly Long-Form

amazon/amazon-polly-long-form
active tts 1 provider
Playground

Amazon Polly's premium engine for longer content such as news articles, training material and marketing video: text-embedding-driven emphasis, pauses and tone with six voices — four en-US (Danielle, Gregory, Ruth, Patrick) and two es-ES (Alba, Raul) — available in us-east-1 only, with full speech marks.

AuthorAmazon
Languages2 languages
VoicesLoading...
Response formatsMP3 · Opus · PCM
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
Amazon 5 params
amazon
$0.1
—
Synchronous

Supported languages

2 languages
English (US) en-US
Spanish (Spain) es-ES

Voices

Features

Text to speech

Generates spoken audio from text input.

text_to_speech
Synchronous

SynthesizeSpeech (POST /v1/speech) takes the whole text up front and returns the finished audio as the HTTP response body.

synchronous
Speech marks (word / sentence / viseme / SSML timing)

Upstream only: OutputFormat=json with SpeechMarkTypes returns NDJSON word, sentence, viseme and ssml marks instead of audio, billed at the same per-character rate.

speech_marks
Multilingual

6 voices across 2 language codes.

multilingual
Asynchronous long-text synthesis

Upstream only: StartSpeechSynthesisTask accepts up to 100,000 billed characters and writes the audio to an S3 bucket, which this platform does not expose.

async_long_text
Pronunciation lexicons

Upstream only: up to five stored PLS lexicons (LexiconNames) apply per request when their language matches the voice.

pronunciation_lexicons

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: "amazon/amazon-polly-long-form",
  outputFormat: "mp3_44100_128"
}, {
  queryParams: {
    provider: {
      "only": [
        "amazon"
      ]
    }
  }
});

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