Fish Audio: Fish Audio S2-Pro
fish/s2-pro
active
tts
1 provider
Fish Audio S2-Pro text-to-speech model with multi-speaker support and natural-language expression control.
AuthorFish Audio
Languages1 languages
VoicesLoading...
Response formatsMP3 · WAV · PCM · Opus
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
Fish Audio
19 params
fish
$0.015
—
Synchronous · Streaming
Supported languages
1 languages
English
en
Voices
Features
Text to speech
Generates spoken audio from text input.
text_to_speech
Streaming
Supports streaming audio output (HTTP + WebSocket) with optional timestamps.
streaming
Synchronous
Synthesizes speech from fully-submitted text in a single synchronous request.
synchronous
Multilingual
Supports 80+ languages.
multilingual
Voice cloning
Supports instant (reference audio) and persistent (reference_id) voice cloning.
voice_cloning
Emotion / expression control
Natural-language and bracket expression control; multi-speaker.
emotion_control
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: "fish/s2-pro",
outputFormat: "mp3_44100_128"
}, {
queryParams: {
provider: {
"only": [
"fish"
]
}
}
});
const reader = stream.getReader();
for (;;) {
const { done, value } = await reader.read();
if (done) break;
// Write value to your response, file, or audio playback pipeline.
}
