Amazon: Amazon Polly Neural
Amazon Polly's neural TTS (NTTS) engine — a sequence-to-sequence spectrogram model plus a neural vocoder — with 63 voices across 37 language codes (36 documented locales plus Arabic through the bilingual Gulf voices), the newscaster speaking style on four voices, full speech marks and a curated SSML subset.
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
ar-AE
arb
ca-ES
cmn-CN
cs-CZ
da-DK
de-AT
de-CH
de-DE
en-AU
en-GB
en-IE
en-IN
en-NZ
en-SG
en-US
en-ZA
es-ES
es-MX
es-US
fi-FI
fr-BE
fr-CA
fr-FR
hi-IN
it-IT
ja-JP
ko-KR
nb-NO
nl-BE
nl-NL
pl-PL
pt-BR
pt-PT
sv-SE
tr-TR
yue-CN
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
63 voices across 37 language codes, with the bilingual voices also accepting their AdditionalLanguageCodes via LanguageCode.
multilingual
Kajal (en-IN + hi-IN), Hala and Zayd (ar-AE + arb) speak two languages fluently; 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-neural",
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.
}
