Fish Audio: Fish Audio S1
fish/s1
active
tts
1 provider
Previous-generation Fish Audio text-to-speech model with parenthesis-style emotion tags.
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 13 languages.
multilingual
Voice cloning
Supports instant (reference audio) and persistent (reference_id) voice cloning.
voice_cloning
Emotion / expression control
S1 uses (parenthesis) emotion tags.
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/s1",
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.
}
