Text to Speech APIBuild Voice Into Any App
Expressive, directable speech at ~100ms latency, the same S2.1 Pro model behind HeyGen, Retell, and Plaud.

Models built for different production needs
One API. Switch models with a single header. Both API models bill at the same flat rate.
S2 Pro
Accurate on even the shortest utterances
- Instant voice cloning
- Full multilingual support
- Reliable on very short prompts
- Same flat rate as S2.1 Pro
S2.1 Pro
The most expressive model Fish ships.
- Time-to-first-audio ~100ms (no single H200)
- Real-time factor 0.195
- 80+ languages, instant code-switching
- Open-domain Emotion Tags
- Native multi-speaker in one generation
On-premise
Deploy in your own infrastructure.
- VPC, on-prem, sovereign cloud, air-gapped
- Zero data egress
- Full model control
- Commercial license available
From signup to first audio in 5 minutes.
No sales call required. Get an API key, install the SDK, and ship.
curl https://api.fish.audio/v1/tts \-H "Authorization: Bearer YOUR_FISH_AUDIO_API_KEY" \-H "Content-Type: application/json" \-H "model: s2.1-pro" \-d '{"text": "[chuckle] When you are building something new, there is this [emphasis] mix of wonder and fear.","reference_id": "YOUR_VOICE_ID","format": "mp3"}' --output speech.mp3
from fishaudio import FishAudiofrom fishaudio.utils import saveclient = FishAudio(api_key="YOUR_FISH_AUDIO_API_KEY")audio = client.tts.convert(text="Hello from Fish Audio!",reference_id="YOUR_VOICE_ID",model="s2.1-pro",)save(audio, "output.mp3")
Everything you needto ship production speech
One API for voice creation, expressive generation, and real-time delivery.
Inline emotion and delivery
Direction written as [tag] syntax, anywhere in the text. Unlimited free-form tags, no separate emotion parameter.
Millions of community voices
Browse and ship from the largest open voice library, or clone your own and build on top of it.




Multi-speaker dialogue
Generate a full conversation in one pass. Available on S2.1 Pro.
Instant voice cloning
Capture timbre and speaking style from a short reference clip. Works across all 80+ languages with no extra training.
Read complex text naturally
Numbers, currency, dates, and units spoken correctly
Streaming and timestamps
Stream audio with word-level timestamps.
Build the Voice Experience Your Product Needs
Create a reusable voice, direct how it performs, and stream it into real-time products.
Clone Any Voice Instantly
with Fish Audio
The Fish Audio AI voice cloning API turns a short reference clip into a reusable voice. The clone captures timbre and speaking style and carries across all 80+ languages with no extra training.
# Clone from reference audiovoice = session.create_model(title="My Voice",voices=[open("reference.wav", "rb").read()])# Synthesize with the cloned voicerequest = TTSRequest(text="This is my cloned voice.",reference_id=voice.id)with open("clone.mp3", "wb") as f:for chunk in session.tts(request, backend="s2-pro"):f.write(chunk)
Fish Audio TTS APIBenchmarks and Specs
One API. Switch models with a single header. Both API models bill at the same flat rate.
POST https://api.fish.audio/v1/tts
REAL-TIME FACTOR
Short clip
VOICE CLONING
Native
MULTI-SPEAKER
REST + WebSocket
STREAMING
Word-level
TIMESTAMPS
SAMPLE RATE
CONCURRENT REQUESTS
MP3 · WAV · Opus
AUDIO FORMATS
Flexible pricing for your needs
Concurrent Request Limits
Frequently asked questions
Get to production this weekend
Get an API key, install the SDK, and ship. No card required.
