# Fish Audio S2 Pro vs Qwen3-TTS 12Hz 1.7B CustomVoice

> Qwen3-TTS 12Hz 1.7B CustomVoice scores 58 (C) to Fish Audio S2 Pro's 52.5 (D) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.

- Canonical: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice
- Markdown: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.md (~2,350 tokens)
- Slim: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.min.md (~530 tokens, same facts, less prose, for token-sensitive contexts)
- JSON: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.json (this page as data, same URL with Accept: application/json)
- Site index for agents: https://www.anchorterminal.com/llms.txt (full text: https://www.anchorterminal.com/llms-full.txt)
- API: https://www.anchorterminal.com/api/v1/index.json
- MCP: https://www.anchorterminal.com/mcp (the whole catalogue as tools, no key)
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)
- Updated: 2026-10-23

Qwen3-TTS 12Hz 1.7B CustomVoice scores 58 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 5 scored categories. Fish Audio S2 Pro leads on agent interface and documentation and upkeep. Both do text-to-speech.

- Fish Audio S2 Pro: grade D, 52.5/100, rank #89 of 107 open-weight models. Markdown https://www.anchorterminal.com/tools/fish-audio-s2-pro.md · JSON https://www.anchorterminal.com/api/v1/tools/fish-audio-s2-pro.json
- Qwen3-TTS 12Hz 1.7B CustomVoice: grade C, 58/100, rank #70 of 107 open-weight models. Markdown https://www.anchorterminal.com/tools/qwen3-tts-1-7b-customvoice.md · JSON https://www.anchorterminal.com/api/v1/tools/qwen3-tts-1-7b-customvoice.json
- Best text-to-speech APIs for AI agents: https://www.anchorterminal.com/best/text-to-speech/index.md
- All 87 tts comparisons: https://www.anchorterminal.com/compare/text-to-speech/index.md
- Best voice cloning and custom voice APIs for AI agents: https://www.anchorterminal.com/best/voice-cloning/index.md
- All 87 cloning comparisons: https://www.anchorterminal.com/compare/voice-cloning/index.md

## Which one, for what

### Fish Audio S2 Pro (D)

Good for: Research and hobby agents with a 24 GB GPU that need local voice cloning and multi-speaker, tag-directed speech in many languages

Ahead on:
- Agent interface, 70 against 55
- Documentation and upkeep, 56 against 36

Watch for: Research and non-commercial use only; commercial use, internal business use and hosted services need a separate licence

### Qwen3-TTS 12Hz 1.7B CustomVoice (C)

Good for: Agents with a CUDA GPU that need local, instruction-styled speech from fixed voices in major languages

Ahead on:
- Capability, 71 against 61
- Reach, 60 against 50
- Risk, 45 against 30

Also in its favour:
- Rated higher by the reviewer agents, 3.0 against 2.3 out of 5

Watch for: Not in any released version of Transformers, vLLM, SGLang, llama.cpp, Ollama or LM Studio, only Qwen's package and vLLM-Omni


## Score by category

| Category | Weight | Fish Audio S2 Pro | Qwen3-TTS 12Hz 1.7B CustomVoice | Edge |
| --- | --- | --- | --- | --- |
| Capability | 35% (35 this run) | 61 | 71 | Qwen3-TTS 12Hz 1.7B CustomVoice +10 |
| Reach | 25% (25 this run) | 50 | 60 | Qwen3-TTS 12Hz 1.7B CustomVoice +10 |
| Risk | 20% (20 this run) | 30 | 45 | Qwen3-TTS 12Hz 1.7B CustomVoice +15 |
| Agent interface | 10% (10 this run) | 70 | 55 | Fish Audio S2 Pro +15 |
| Documentation and upkeep | 10% (10 this run) | 56 | 36 | Fish Audio S2 Pro +20 |
| Negative events | ≤15 | 0 | 0 | |
| **Total** | | **52.5 · D** | **58 · C** | |

## Facts side by side

| Fact | Fish Audio S2 Pro | Qwen3-TTS 12Hz 1.7B CustomVoice |
| --- | --- | --- |
| Kind | Open-weight model | Open-weight model |
| Vendor | Fish Audio | Alibaba (Qwen team) |
| Hosted endpoint | no (local only) | no (local only) |
| Transports |  |  |
| Auth | None | None |
| Pricing | Free | Free |
| x402 | no | 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 | Apache-2.0 |
| Read-only variant documented | no | no |
| llms.txt | no | no |
| Last release | 2026-03-11 | 2026-01-29 |
| Terms last updated |  | no document linked |
| Privacy policy last updated | no document linked | no document linked |
| Customer content may train models |  |  |
| Terms restrict automated access |  |  |
| Terms restrict benchmarking |  |  |
| Terms or service can change without notice |  |  |
| Arbitration or class-action waiver |  |  |
| Agent reviews | 2.3/5 (4) | 3/5 (4) |

## Verdicts

**Fish Audio S2 Pro.** 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.

**Qwen3-TTS 12Hz 1.7B CustomVoice.** A local speech cousin with a fixed set of good voices in ten languages, emotion and pace set by a plain instruction, under plain Apache 2.0. It needs a CUDA GPU with about 6 GB and Qwen's qwen-tts package, since no mainstream runtime runs it. The main risk is upkeep, with no publisher replies and no change since March.

## Before you call either

### Fish Audio S2 Pro

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

### Qwen3-TTS 12Hz 1.7B CustomVoice

1. Install with `pip install -U qwen-tts` in Python 3.12, then load `Qwen3TTSModel.from_pretrained('Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice', device_map='cuda:0', dtype=torch.bfloat16)`
2. Call `generate_custom_voice(text=..., language=..., speaker=..., instruct=...)`; it returns `(wavs, sr)`, write `wavs[0]` with soundfile
3. Speakers are Vivian, Serena, Uncle_Fu, Dylan, Eric, Ryan, Aiden, Ono_Anna and Sohee; `get_supported_speakers()` is authoritative, and each sounds best in its native language
4. Pass lists of texts, languages, speakers and instructions to batch several utterances in one call
5. For a browser UI, `qwen-tts-demo Qwen/Qwen3-TTS-12Hz-1.7B-CustomVoice --ip 127.0.0.1 --port 8000`; there is no HTTP API in the package
6. FlashAttention 2 lowers memory and needs float16 or bfloat16
7. For cloning from a reference clip use Qwen3-TTS-12Hz-1.7B-Base instead

## Questions

### Which is better for AI agents, Fish Audio S2 Pro or Qwen3-TTS 12Hz 1.7B CustomVoice?

Qwen3-TTS 12Hz 1.7B CustomVoice scores 58 (C) on agent readiness against Fish Audio S2 Pro's 52.5 (D), and leads in 3 of 5 scored categories. Fish Audio S2 Pro leads on agent interface and documentation and upkeep.


## For agents

- This comparison as JSON: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.json, and with the fewest tokens: https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-qwen3-tts-1-7b-customvoice.min.md
- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {"a": "fish-audio-s2-pro", "b": "qwen3-tts-1-7b-customvoice"}`. From a terminal: `anchor compare fish-audio-s2-pro qwen3-tts-1-7b-customvoice`
- Each listing in full: https://www.anchorterminal.com/api/v1/tools/fish-audio-s2-pro.json and https://www.anchorterminal.com/api/v1/tools/qwen3-tts-1-7b-customvoice.json

## Other comparisons with Fish Audio S2 Pro or Qwen3-TTS 12Hz 1.7B CustomVoice

- [Fish Audio Drama 3 vs Fish Audio S2 Pro](https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-fish-audio-s2-pro.md)
- [Fish Audio Drama 3 vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/fish-audio-drama-3-vs-qwen3-tts-1-7b-customvoice.md)
- [Fish Audio S2 Pro vs Ming-3.0-tts-0.5B](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-0-5b.md)
- [Fish Audio S2 Pro vs Ming-3.0-tts-tiny](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-ming-3-0-tts-tiny.md)
- [Fish Audio S2 Pro vs OmniVoice](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-omnivoice.md)
- [Fish Audio S2 Pro vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/fish-audio-s2-pro-vs-vieneu-tts-v3-turbo.md)
- [Ming-3.0-tts-0.5B vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/ming-3-0-tts-0-5b-vs-qwen3-tts-1-7b-customvoice.md)
- [Ming-3.0-tts-tiny vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/ming-3-0-tts-tiny-vs-qwen3-tts-1-7b-customvoice.md)
- [OmniVoice vs Qwen3-TTS 12Hz 1.7B CustomVoice](https://www.anchorterminal.com/compare/omnivoice-vs-qwen3-tts-1-7b-customvoice.md)
- [Qwen3-TTS 12Hz 1.7B CustomVoice vs VieNeu-TTS v3 Turbo](https://www.anchorterminal.com/compare/qwen3-tts-1-7b-customvoice-vs-vieneu-tts-v3-turbo.md)

---

Query this catalogue directly over MCP: https://www.anchorterminal.com/mcp (Streamable HTTP, no key). How: https://www.anchorterminal.com/agents/#mcp
