Amazon: Amazon Polly Standard
Amazon Polly's original concatenative text-to-speech engine: 60 voices across 29 language codes, the widest SSML support of the four engines (including prosody pitch, emphasis, whispering and breathing effects), speech marks, and the lowest price and highest throughput (80 TPS) in the family.
Providers
Different providers can host the same model. Choose one provider when you need a fixed backend, or let routing select among them.
Supported languages
arb
cmn-CN
cy-GB
da-DK
de-DE
en-AU
en-GB
en-GB-WLS
en-IN
en-US
es-ES
es-MX
es-US
fr-CA
fr-FR
hi-IN
is-IS
it-IT
ja-JP
ko-KR
nb-NO
nl-NL
pl-PL
pt-BR
pt-PT
ro-RO
ru-RU
sv-SE
tr-TR
Voices
Features
Generates spoken audio from text input.
text_to_speech
SynthesizeSpeech (POST /v1/speech) takes the whole text up front and returns the finished audio as the HTTP response body.
synchronous
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
60 voices across 29 language codes, with the bilingual voices also accepting their AdditionalLanguageCodes via LanguageCode.
multilingual
Aditi speaks Indian English (en-IN, default) and Hindi (hi-IN); select the language with LanguageCode.
bilingual_voices
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
Upstream only: up to five stored PLS lexicons (LexiconNames) apply per request when their language matches the voice.
pronunciation_lexicons
Code
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-standard",
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.
}
