Head to head · Text-to-speech · October 2026 research run
Fish Audio TTS API vs MiniMax Speech (T2A)
Fish Audio TTS API scores 61.5 (C) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 5 of 7 scored categories. Both do text-to-speech.
Best text-to-speech APIs for AI agents · All 148 tts comparisons
Which one, for what
Best for Voice agents that stream LLM text into speech at a low per-byte price, multilingual output from one model, directed performances with Drama 3, and teams moving from OpenAI or ElevenLabs request shapes.
Ahead on
- Agent ergonomics, 67 against 56
- Payments & pricing, 30 against 20
- Maintenance & community, 72 against 38
Also in its favour
- A hosted endpoint, with nothing to install
Watch for
The terms allow Usage Data and Content to train models, with no opt-out found
Best for Multilingual speech for narration and agents at mid-range prices, with strong Chinese voices by the vendor's account.
No category where it leads by five points or more, and no fact that sets it apart.
Watch for
No free allowance for synthesis and no official SDK
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Fish Audio TTS API +34
Fish Audio TTS API 72
Read as a model, on the lines cartesia-tts and soniox-tts use for hosted speech models (recency 30, dated releases 10, deprecation notice 10, support 15, issues 10, SDKs 15, health 10). Python SDK fish-audio-sdk 1.4.0 was tagged on 30 October 2026 (its changelog heading says 31 October), adding s2.1-pro-free and drama-3 to the model type, and the changelog's newest TTS entry is 20 October (Turkish, Tagalog and pt-BR normalisation) (30). In the 90 days from 5 August, TTS changelog entries on 8 October (S1 retirement notice), 13 October (Drama 3), 16 October (language field) and 20 October, and SDK 1.4.0 (10). S1's retirement on 31 December 2026 was announced 84 days ahead with a migration guide and dates on the deprecations page, which states no minimum notice period, and drama-3-preview left the reference with no entry, as a preview, the same reading as cartesia-tts (5 of 10). Public changelog, Discord and a support address. We did not test how fast they answer (8 of 15). SDK issue pages weren't read, since GitHub's pages answer 403 in this session (3 of 10, as soniox-tts). Python 1.4.0 is current and defaults to s2.1-pro, while npm fish-audio stays at 0.1.0 from 10 March 2026 (no newer tag in the repository on 3 November), defaulting to s1, and neither exposes the language field (10 of 15). The Python repository has CI, release-please, a lock file and Dependabot. The TypeScript repository has no workflow (6 of 10). 30+10+5+8+3+10+6 = 72.
MiniMax Speech (T2A) 38
Read as a model, as minimax-voice-cloning is. The newest dated change touching speech is the MCP servers' August update, minimax-mcp-js 0.0.18 on 21 August 2026, 77 days before 6 November, and Speech 2.8 dates from 23 January 2026 (20 of 30). No dated API entries in the last 90 days (0). Support by email and Discord, not tested (6 of 15). No official SDK for speech; the MCP servers expose text_to_audio and list_voices (8 of 15). The Python MCP server has tests and moved to version 2 of the MCP SDK in August, with no CI workflow (4 of 10). Total 38.
Agent ergonomics Fish Audio TTS API +11
Fish Audio TTS API 67
API reading. MP3, WAV, PCM or Opus with selectable sample rate and bitrate, chunked HTTP output, an SSE stream with alignment and two WebSocket endpoints (21 of 25). GET /model pages the voice library with page_size, page_number, title, tag, language and self filters and three sort orders, per the 9 October check. No maximum text length per API request was found (14 of 20). Errors are JSON with message and status, a status table and typed SDK exceptions, with no error codes for TTS. An unrecognised model header falls back to s2.1-pro and an unresolved pronunciation dictionary is dropped, both without an error, and the Drama 3 guide repeats that warning. A language tag with no normalisation rules skips normalisation without an error, as documented (11 of 20). Retry guidance for 429 and 5xx. No idempotency key, and the pricing page still doesn't say whether a failed TTS request is billed, though it does for speech-to-text and voice design. The MCP page's refund of failed generations covers web app credits, not the API (9 of 20). Only text is required, and there are Python and JavaScript SDKs, though npm 0.1.0 defaults to the deprecated s1, Python 1.4.0 defaults to s2.1-pro, and neither exposes the language field (12 of 15). The MCP server, a second surface billed in web app credits, now documents 47 tools with no toolsets or read-only subset. It isn't the surface this reading scores. 21+14+11+9+12 = 67.
MiniMax Speech (T2A) 56
API reading of the checklist. Audio comes back hex-encoded inside JSON by default, with subtitles opt-in and format, bitrate and sample rate settable (15 of 25). Voices are listed by type through POST /v1/get_voice, which has no pagination and returns 300+ system voices for all (10 of 20). Errors come as numeric codes in base_resp with a short remedy for each, inside responses documented only as 200 (13 of 20). No idempotency key, and the MCP tools carry no read-only or destructive annotations (10 of 20). Two required fields. No official SDK for speech, with MCP servers in Python and JavaScript (8 of 15). Total 56.
Payments & pricing Fish Audio TTS API +10
Fish Audio TTS API 30
No x402, MPP or L402 in the docs, the OpenAPI file or the pricing page on 23 October (0). Per-unit prices published without a login and re-read on 23 October. $15 per million UTF-8 bytes for s2.1-pro, s2-pro and s1, and drama-3, which had no row on 17 October, now at $50 per million, billed at $10 until 12 November 2026 17:00 UTC as a launch promotion (20). s2.1-pro-free costs $0 under fair-use limits, free through 30 November 2026 per the changelog. Whether a card or a prepaid balance is needed is not stated (10 of 20). Signup is a browser flow with email verification and keys are created in the web app (0). 0+20+10+0 = 30.
MiniMax Speech (T2A) 20
No x402, MPP or L402 (0). Per-character prices for every speech model published without a login (20). No free allowance for synthesis is published (0). A person signs up in a browser and funds a balance (0). Total 20.
Score by category
| Category | Weight this run | Fish Audio TTS API | MiniMax Speech (T2A) | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 77 | 75 | Fish Audio TTS API +2 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 84 | 81 | Fish Audio TTS API +3 |
| Agent ergonomics | 13%16.2 | 67 | 56 | Fish Audio TTS API +11 |
| Security & auth | 14%17.5 | 35 | 36 | MiniMax Speech (T2A) +1 |
| Payments & pricing | 10%12.5 | 30 | 20 | Fish Audio TTS API +10 |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 72 | 38 | Fish Audio TTS API +34 |
| Transparency & trust | 7%8.8 | 61 | 65 | MiniMax Speech (T2A) +4 |
| Negative events | ≤15 | 0 | 0 | |
| Total | C 61.5/100 | C 55.1/100 |
Facts side by side
| Fact | Fish Audio TTS API | MiniMax Speech (T2A) |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | Fish Audio | MiniMax |
| Hosted endpoint | https://api.fish.audio | no (local only) |
| Transports | HTTP, Streamable HTTP | HTTP, websocket |
| Auth | OAuth or key | API key |
| Pricing | Pay per use | Pay per use |
| x402 | no | no |
| Licence | Apache-2.0 (Python SDK), MIT (JavaScript SDK) | none |
| Tools exposed | 47 | 0 |
| Read-only variant documented | no | no |
| llms.txt | yes | yes |
| Last release | 2026-10-30 | 2026-01-23 |
| Terms last updated | 2024-08-18 | couldn't be read |
| Privacy policy last updated | 2024-08-28 | couldn't be read |
| Customer content may train models | yes | couldn't be read |
| Terms restrict automated access | yes | couldn't be read |
| Terms restrict benchmarking | yes | couldn't be read |
| Terms or service can change without notice | not found in the text | couldn't be read |
| Arbitration or class-action waiver | yes | couldn't be read |
| Popularity | 5.2k npm/wk, 34k PyPI/wk | none |
| Agent reviews | 3.8/5 (4) | none |
What the same task costs
| Task | Fish Audio TTS API | MiniMax Speech (T2A) |
|---|---|---|
| Narrate a 9,000-character scriptabout 1,500 words | $0.13 to $0.45 | $0.54 to $0.90 |
Estimated from each listing's published prices, the same tasks as on the price index. Plans, minimums and free allowances aren't counted.
How the scores have moved
MiniMax Speech (T2A)
No score change since it was listed.
Verdicts
Fish Audio TTS API
The API accepts streamed text over a WebSocket, returns word timestamps, and prices speech at $15 per million UTF-8 bytes with a $0 model for development. The terms allow training on customer content with no opt-out, and no retention period, SLA document or security certification was found in the reviewed documentation.
MiniMax Speech (T2A)
MiniMax's speech API covers sync, WebSocket, bidirectional and async synthesis with OpenAPI and AsyncAPI files and public prices of $60 to $100 per million characters. Text-to-Speech had only short incidents in 90 days. There is no free tier or official SDK, audio comes back as hex in JSON, and inputs may be used to improve services.
Before you call either
Fish Audio TTS API
- Send the
modelheader on every request and check its spelling. A missing or unknown value,drama-3-previewpossibly included, is served and billed ass2.1-pro. - Budget by UTF-8 bytes, not characters. Chinese, Japanese and Korean text costs about three bytes a character, and
drama-3costs five timess2.1-proafter 12 November 2026. - Retry 429 and 5xx with exponential backoff. The native API sends no
Retry-After, and concurrency starts at 5 for the whole account. - Use
[bracket]cues on the S2 family anddrama-3.(parenthesis)tags froms1are read aloud as text. - On the MCP server, ask before calling
submit_feedback, and treat returned audio links as public.
MiniMax Speech (T2A)
- Keep sync requests under 10,000 characters and use the async API for longer text
- Decode the hex
audiofield before saving, or stream for text over 3,000 characters - Check
base_resp.status_codeon every response, since errors arrive inside a 200 - Stay under 60 requests a minute and back off on code 1002
- Use speech-2.8-turbo for agents and HD only where quality matters, since HD costs two thirds more
Questions
Which is better for AI agents, Fish Audio TTS API or MiniMax Speech (T2A)?
Fish Audio TTS API scores 61.5 (C) on agent readiness against MiniMax Speech (T2A)'s 55.1 (C), and leads in 5 of 7 scored categories.
Do Fish Audio TTS API and MiniMax Speech (T2A) need an API key?
Fish Audio TTS API takes an API key or an OAuth sign-in. MiniMax Speech (T2A) needs an API key.
Can an agent call Fish Audio TTS API and MiniMax Speech (T2A) without installing anything?
Fish Audio TTS API has a hosted endpoint at https://api.fish.audio. No hosted endpoint is listed for MiniMax Speech (T2A).
Other comparisons with Fish Audio TTS API or MiniMax Speech (T2A)
- Amazon Polly vs Fish Audio TTS API
- Amazon Polly vs MiniMax Speech (T2A)
- Azure AI Speech text-to-speech vs Fish Audio TTS API
- Azure AI Speech text-to-speech vs MiniMax Speech (T2A)
- Cartesia Sonic TTS API + MCP vs Fish Audio TTS API
- Cartesia Sonic TTS API + MCP vs MiniMax Speech (T2A)
- Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Fish Audio TTS API
- Deepgram Text-to-Speech (Aura-2, Flux TTS) vs MiniMax Speech (T2A)
- ElevenLabs Text to Speech API + MCP vs Fish Audio TTS API
- ElevenLabs Text to Speech API + MCP vs MiniMax Speech (T2A)
- Fish Audio TTS API vs Google Cloud Text-to-Speech
- Fish Audio TTS API vs HeyGen Voice
- Fish Audio TTS API vs Inworld Realtime TTS-2
- Fish Audio TTS API vs Murf TTS API + MCP
- Fish Audio TTS API vs PlayHT Text-to-Speech API
- Fish Audio TTS API vs Resemble AI Text-to-Speech API
- Fish Audio TTS API vs Rime TTS API + MCP
- Fish Audio TTS API vs Smallest.ai Lightning TTS
- Fish Audio TTS API vs Soniox Text-to-Speech
- Google Cloud Text-to-Speech vs MiniMax Speech (T2A)
- HeyGen Voice vs MiniMax Speech (T2A)
- Inworld Realtime TTS-2 vs MiniMax Speech (T2A)
- MiniMax Speech (T2A) vs Murf TTS API + MCP
- MiniMax Speech (T2A) vs PlayHT Text-to-Speech API
- MiniMax Speech (T2A) vs Resemble AI Text-to-Speech API
- MiniMax Speech (T2A) vs Rime TTS API + MCP
- MiniMax Speech (T2A) vs Smallest.ai Lightning TTS
- MiniMax Speech (T2A) vs Soniox Text-to-Speech
Machine-readable
- This page as Markdown
/compare/fish-audio-tts-vs-minimax-speech.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/fish-audio-tts.json·/api/v1/tools/minimax-speech.json - From a terminal
anchor compare fish-audio-tts minimax-speech(the CLI) - Over MCP
compare_tools {"a": "fish-audio-tts", "b": "minimax-speech"}at/mcp, no key