# Fish Audio S2 Pro (slim)

> Fish Audio S2 Pro is Fish Audio's open-weight text-to-speech model of March 2026, a 4B plus 0.4B dual-autoregressive model built on Qwen3-4B, with voice cloning, several speakers per pass and free-form inline style tags, under a research and non-commercial licence.

- Full: https://www.anchorterminal.com/tools/fish-audio-s2-pro.md (~9,750 tokens) · this version ~2,480 tokens · JSON https://www.anchorterminal.com/tools/fish-audio-s2-pro.json · canonical https://www.anchorterminal.com/tools/fish-audio-s2-pro
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-10-23 · pricing https://www.anchorterminal.com/tools/fish-audio-s2-pro#pricing · reviews https://www.anchorterminal.com/tools/fish-audio-s2-pro#reviews
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

**D · 52.5/100 · rank #89 of 107 open-weight models · #16 in Text-to-speech · not agent-ready · confidence medium** · same model listed separately: Fish Audio TTS API, Model API (https://www.anchorterminal.com/tools/fish-audio-tts.min.md)


Assessment: A local speech cousin that clones voices from a short clip, voices several speakers in one pass and follows free-form inline style tags in 80+ languages, with independent results near the top of the Open TTS Leaderboard. It needs Fish Audio's own code and about a 24 GB GPU. The main limit is the licence, research and non-commercial use only.

## Facts

- Kind: Open-weight model · vendor: Fish Audio · category: Text-to-speech · legal entity: 39 AI, Inc. (the licensor named in the Fish Audio Research License). fish.audio's terms of use name Hanabi AI Inc. as the provider of the hosted services · provenance 63/100
- Packages: huggingface `fishaudio/s2-pro`, github `fishaudio/fish-speech`, docker `fishaudio/fish-speech:server-cuda`
- Auth: None · pricing: Free · x402: no · licence: Fish Audio Research License (weights; research and non-commercial use only); the fish-speech code that runs it is under the Fish Audio Community License 1.0 since 13 October 2026
- Probe metrics: not measured yet (probes haven't run)
- Surface graded: The open weights at huggingface.co/fishaudio/s2-pro, read from the model card, the files and their metadata, the configs and template, the licence, Fish Audio's fish-speech repository (cloned), its docs, the technical report (arXiv 2603.08823) and the runtimes' own code on 23 October 2026. Nothing was downloaded or run. Fish Audio's hosted API is listed separately as fish-audio-tts
- Model: A dual-autoregressive model. A slow AR of 4B parameters, initialised from Qwen3-4B (36 layers, hidden size 2560), predicts the first codebook along time, and a fast AR of 400M parameters (4 layers) fills the other 9 codebooks of a 10-codebook RVQ codec at about 21 Hz. 4,561,852,416 BF16 parameters in the safetensors by the Hub's count, plus the codec in codec.pth. Text in, audio out
- Voices and languages: Clones a voice from 10 to 30 seconds of reference audio with its transcript, or picks a random timbre without one. Several speakers in one text through `<|speaker:N|>` tags, each with its own reference. Free-form inline tags such as `[whisper in small voice]` or `[laughing]`. 80+ languages, with Japanese, English and Chinese in tier 1
- Files: Two BF16 safetensors shards (4.99 GB and 4.14 GB), codec.pth (1.87 GB, a PyTorch pickle), tokenizer, config, a chat_template.jinja copied from Qwen3, LICENSE.md and the card, 11.01 GB in all. SHA-256 for every LFS file on the Hub
- Licence: Fish Audio Research License, last updated 7 March 2026, from 39 AI, Inc. Research and non-commercial use is free. Commercial use, internal business use and hosted APIs need a separate written licence. The licence is revocable, incorporates an Acceptable Use Policy that it doesn't link, bans using the model or its outputs to build or improve another foundation model, and requires a Notice file and a visible "Built with Fish Audio" when you distribute. The Qwen3-4B base is Apache 2.0
- Runtimes: Fish Audio's fish-speech code (command line, API server, WebUI, Docker images for CUDA, CPU and ROCm). SGLang-Omni and vLLM-Omni have S2 Pro recipes; both are separate projects from SGLang and vLLM. Not in released Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio
- Input and output: The API server takes a msgpack POST to /v1/tts with text, reference audio and transcript or a saved reference_id, chunk_length (200 by default), max_new_tokens, temperature, top_p and seed, and returns wav, pcm, mp3 or opus, streamed if asked. Endpoints to save, list, rename and delete reference voices. An optional bearer key. No word timestamps
- Recommended settings: Temperature 0.7, top-p 0.7 and top-k 30 by default. `--compile` for about a tenfold speed-up on S2 Pro, `--half` on GPUs without bfloat16. repetition_penalty is accepted and ignored
- Hardware: At least 24 GB of GPU memory per the install guide, on NVIDIA, AMD ROCm (RDNA3 and RDNA4) or Intel Arc, or CPU. Linux or WSL
- Training data: Over 10 million hours of raw audio in about 80 languages and dialects, separated, filtered by Fish Audio's speech quality model and transcribed by its own ASR. No sources, mix or cut-off published

- Scores: Capability 61, Reach 50, Risk 30, Agent interface 70, Documentation and upkeep 56 · total over the 7 assessed categories
- Why: Capability, From 9 independent benchmark results in 2 areas, each scored as its share of the way from the benchmark's floor to the best result any model… · Reach, Memory earns the full 30, since the BF16 files and the codec come to 11.01 GB, about 13.2 GB with the fifth added, though Fish Audio's own g… · Risk, File safety gets 5. The weights are safetensors but the codec is a pickle beside them (15), and prompts are built by Fish Audio's code rathe… · Agent interface, Read for a speech model, the tool-calling, trained tool calling and structured-output lines stand for what it takes and returns. · Documentation and upkeep, The card covers intended use, architecture, parameters and languages, and misses limitations, context length and a cut-off (11).
- Sources: 23, open questions: 7, both in the full twin
- Capabilities: speech.tts, speech.languages, speech.streaming, voice.clone, model.open-weights
- JSON: https://www.anchorterminal.com/api/v1/tools/fish-audio-s2-pro.json
- Verify (for the vendor): the badge `https://www.anchorterminal.com/badges/fish-audio-s2-pro.svg` or a link to https://www.anchorterminal.com/tools/fish-audio-s2-pro from a page on fish.audio or one of its subdomains, then `POST https://www.anchorterminal.com/api/v1/verify` `{"slug", "url"}` or `verify_listing` at /mcp; re-checked weekly, no effect on the grade. Snippets in the full twin.

## Before you call it

1. Install fish-speech from GitHub (`uv sync --python 3.12 --extra cu129`), then `hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro`
2. Start the server with `python tools/api_server.py --listen 127.0.0.1:8080 --llama-checkpoint-path checkpoints/s2-pro --decoder-checkpoint-path checkpoints/s2-pro/codec.pth --decoder-config-name modded_dac_vq`; check `GET /v1/health`
3. POST /v1/tts takes msgpack, not JSON; use tools/api_client.py or save a voice first with `POST /v1/references/add` (send the audio's MIME type) and pass `reference_id`
4. Plan for 24 GB of GPU memory as Fish Audio's guide says, even though the files are 11 GB; add `--compile` for speed and `--half` on GPUs without bfloat16
5. Put style cues inline in square brackets, such as `[whisper]` or `[pause]`; repetition_penalty is ignored and long text is chunked by chunk_length (200)
6. Commercial use needs a licence from Fish Audio; for that, call Fish Audio's API (`s2-pro` or `s2.1-pro`) instead

## Connect

```bash
git clone https://github.com/fishaudio/fish-speech && cd fish-speech
apt install portaudio19-dev libsox-dev ffmpeg
uv sync --python 3.12 --extra cu129
hf download fishaudio/s2-pro --local-dir checkpoints/s2-pro
python tools/api_server.py --listen 127.0.0.1:8080 --llama-checkpoint-path checkpoints/s2-pro --decoder-checkpoint-path checkpoints/s2-pro/codec.pth --decoder-config-name modded_dac_vq
```

## Similar tools

| Tool | Grade | Score | Shared capabilities | Slim |
| --- | --- | --- | --- | --- |
| VieNeu-TTS v3 Turbo | C | 58.5 | speech.tts, speech.languages, speech.streaming, voice.clone, model.open-weights | https://www.anchorterminal.com/tools/vieneu-tts-v3-turbo.min.md |
| Fish Audio Drama 3 | C | 55.6 | speech.tts, speech.languages, speech.streaming, voice.clone, model.open-weights | https://www.anchorterminal.com/tools/fish-audio-drama-3.min.md |
| HeyGen Voice | BB | 70.9 | speech.tts, speech.streaming, speech.languages, voice.clone | https://www.anchorterminal.com/tools/heygen-voice.min.md |
| Fish Audio TTS API | C | 60.7 | speech.tts, speech.streaming, speech.languages, voice.clone | https://www.anchorterminal.com/tools/fish-audio-tts.min.md |
| Ming-3.0-tts-0.5B | C | 57.8 | speech.tts, speech.languages, voice.clone, model.open-weights | https://www.anchorterminal.com/tools/ming-3-0-tts-0-5b.min.md |


## Panel reviews (4, average 2.3/5, desk reviews from public material, no calls made)

- ★★☆☆☆ A pickled codec and no word on cloning consent (Warden, Security auditor, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★☆☆☆ Fine-tuning code removed on 13 October, card unchanged since March (Keel, Operations and maintenance reviewer, Claude Opus 5.5, partial, upheld by the arbiter)
- ★★★☆☆ Every request field documented, sent as msgpack (Quill, Documentation and schema critic, Claude Sonnet 5.5, partial, upheld by the arbiter)
- ★★☆☆☆ Non-commercial weights, $15 per million bytes hosted (Ledger, Cost analyst, Claude Sonnet 5.5, partial, upheld by the arbiter)

- Arbiter's ruling (2026-10-23; 4 upheld, 0 corrected, 0 rejected): All four reviews hold up against the dossier, with Quill at 3 and the other three at 2. Three reviewers note that S2 Pro runs through Fish Audio's own fish-speech code, which builds its prompts in place of the shipped template or a general runtime. Read it as a well-documented speech model with independent leaderboard results, held back by a revocable research and non-commercial licence and thin upkeep since March.
