# Fish Audio TTS API vs Smallest.ai Lightning TTS (slim)

> Smallest.ai Lightning TTS scores 64.4 (B) to Fish Audio TTS's 61.5 (C) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.

- Full: https://www.anchorterminal.com/compare/fish-audio-tts-vs-smallest-lightning-tts.md (~6,450 tokens) · this version ~4,180 tokens · JSON https://www.anchorterminal.com/compare/fish-audio-tts-vs-smallest-lightning-tts.json · canonical https://www.anchorterminal.com/compare/fish-audio-tts-vs-smallest-lightning-tts
- Index: https://www.anchorterminal.com/llms.txt · API: https://www.anchorterminal.com/api/v1/index.json · MCP: https://www.anchorterminal.com/mcp · Updated: 2026-11-07
- Licence: CC BY 4.0, credit Anchor Terminal and link this page (https://www.anchorterminal.com/terms/#data)

Smallest.ai Lightning TTS scores 64.4 (B) on agent readiness against Fish Audio TTS API's 61.5 (C), and leads in 5 of 7 scored categories. Fish Audio TTS API leads on reliability. Both do text-to-speech.

- Fish Audio TTS API: C 61.5, rank #601 of 1486 · https://www.anchorterminal.com/tools/fish-audio-tts.min.md
- Smallest.ai Lightning TTS: B 64.4, rank #469 of 1486 · https://www.anchorterminal.com/tools/smallest-lightning-tts.min.md
- Fish Audio TTS API, good 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 Reliability, 77 against 58. Also A hosted endpoint, with nothing to install.
- Smallest.ai Lightning TTS, good for Low-latency speech for voice agents, with English, Hindi code-switching and Indic voices. Ahead on Schema & documentation, 92 against 84; Agent ergonomics, 72 against 67; Security & auth, 52 against 35; Payments & pricing, 40 against 30; Transparency & trust, 70 against 61.

| Category | Fish Audio TTS API | Smallest.ai Lightning TTS |
| --- | --- | --- |
| Reliability (16%) | 77 | 58 |
| Performance (10%) | pending | pending |
| Schema & documentation (13%) | 84 | 92 |
| Agent ergonomics (13%) | 67 | 72 |
| Security & auth (14%) | 35 | 52 |
| Payments & pricing (10%) | 30 | 40 |
| Task success (10%) | pending | pending |
| Maintenance & community (7%) | 72 | 68 |
| Transparency & trust (7%) | 61 | 70 |

| Fact (where they differ) | Fish Audio TTS API | Smallest.ai Lightning TTS |
| --- | --- | --- |
| Vendor | Fish Audio | Smallest AI |
| Hosted endpoint | `https://api.fish.audio` | no (local only) |
| Transports | HTTP, Streamable HTTP | HTTP, websocket |
| Auth | OAuth or key | API key |
| Licence | Apache-2.0 (Python SDK), MIT (JavaScript SDK) | none |
| Tools exposed | 47 | 0 |
| Last release | 2026-10-30 | 2026-11-02 |
| Terms last updated | 2024-08-18 | no date given |
| Privacy policy last updated | 2024-08-28 | no date given |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | yes | not found in the text |
| Terms restrict benchmarking | yes | not found in the text |
| Terms or service can change without notice | not found in the text | yes |
| Popularity | 5.2k npm/wk, 34k PyPI/wk | none |
| Agent reviews | 3.8/5 (4) | none |

Why the edge:
- Reliability, Fish Audio TTS API +19: Fish Audio TTS API 77 (Hosted reading. Better Stack status page at status.fish.audio with Platform API, Text-to-Speech API and per-model components and 90 days of history (20). Re-read on 3 November, the Text-to-Speech API group (S1, S2 Pro, S2.1 Pro, Drama 3) shows 100% over 90 days. The Free API group's `s2.1-pro-free` shows downtime on 9 days from 5 August, the longest 58 minutes on 6 August and 40 minutes on 5 October, the latest 4 minutes on 24 October. Platform API was down 5 minutes on 10 August and 19 minutes on 14 October while the TTS components stayed up. The only written incident is the APAC data centre failover on 10 August (feed.rss). No TTS outage reached an hour and none took the paid models down, so minor incidents only (20; the 9 to 23 October checks gave 18, which isn't a value the line has). Concurrency limits published as 5, 15 and 50 by prepaid amount, re-read on 3 November (15). The pricing page says the native API returns 429 without `Retry-After` and to retry with exponential backoff, the errors page covers 5xx the same way, and the compatibility endpoints send `Retry-After`. TTS writes nothing, so retry guidance without an idempotency key earns 12 as this run settled (soniox-tts) (12 of 15). The docs mention TTFA and DPA guarantees for `s2.1-pro` but no SLA document or figure was found (0). `s2.1-pro` is generally available, and `drama-3` carries no preview label (10). 20+20+15+12+0+10 = 77.); Smallest.ai Lightning TTS 58 (BetterStack status page at status.smallest.ai with components for the Global, India and USA APIs (one health check covers the Agents and Models APIs), docs, the app and Electron, and per-component history (20). In the 90 days from 8 August the health checks on the shared API failed in all three regions on 9, 10, 13, 14 and 15 September (about 8, 21, 33, 17 and 64 minutes of flapping), in the Global and India regions on 11 and 17 September (12 minutes each), and in the USA region alone on 1, 3, 5, 12, 21 and 30 September (6 to 62 minutes) and 6 October (12 minutes). Outages in every region at once are read as wide errors, so several majors (0). Limits are published with numbers but disagree. The limits page says one TTS request at a time per account with up to five sockets, the Lightning v3.1 Pro card says 10 concurrent and the pricing page says 15 streams and 100 requests a minute on pay as you go (8 of 15). 429 is documented with exponential backoff from 500 ms to 30 s and Retry-After when present, and the limits page tells clients to expect 429s at the concurrency ceiling (15). An infrastructure SLA of 99.99 per cent is named for Enterprise only, with no terms, and the terms disclaim any availability commitment (5 of 10). `lightning_v3.1_pro` is stable and only the dated checkpoint is preview (10). 20 + 0 + 8 + 15 + 5 + 10 = 58.)
- Security & auth, Smallest.ai Lightning TTS +17: Fish Audio TTS API 35 (Model reading of the checklist, with training and retention in place of the least-privilege and injection lines, as for the other TTS listings. Named, revocable API keys with optional expiry. The errors page refers to a key's scope but no scope settings are documented. The MCP server uses OAuth bound to one team. No short-lived token for browser TTS was found, per the 9 October check (20 of 30). The Terms of Use, re-read on 23 October and still effective 18 August 2024, let Usage Data and Content train models with no opt-out found. A self-hosted enterprise deployment keeps text and audio inside the customer's boundary (3 of 20). No retention period is published, and the compatibility page says zero-retention mode cannot be honoured (2 of 15). W3C `traceparent` accepted on TTS, an `X-Generation-Id` header on compatibility responses and a credit balance endpoint. No per-call log documented (8 of 15). security.txt still returned 404 on 23 October, the contributing page asks for security reports by email without giving an address, and no SOC 2, ISO 27001 or bug bounty was found in the pages read. The enterprise and trust pages on fish.audio were not read (2 of 20). On the MCP server, generated audio comes back as permanent links anyone with the link can open, and the docs say agents are asked to send `submit_feedback` notes to Fish Audio and may do so without asking. Recorded, not scored, because the API reading scores the API. 20+3+2+8+2 = 35.); Smallest.ai Lightning TTS 52 (Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. Plain `sk_` keys per organisation, shown once, revoked at once and deletable, with one key per environment advised. The docs say a key grants full account access, and no scope is offered. Short-lived access tokens (`wat_`, 30 to 900 seconds) cover only inference routes and can't mint tokens (22 of 30). The error reference documents the key as a `?token=` query parameter for browser WebSockets, and the token guide passes access tokens as `?api_key=` on the STT socket, so 10 off (12 of 30). The terms (21 October 2026) say Smallest won't use user content or input to train or improve its services. The privacy policy (18 September 2026) lists improving the services with machine learning as a use of usage data and doesn't address uploaded audio or text either way (15 of 20). Zero data retention and the `x-expire-content` header are Enterprise only, or a $1,000 a month HIPAA add-on on pay as you go. Other plans keep content readable in logs and the dashboard, with no retention period published (5 of 15). Usage is tracked per key, request rows sit in a dashboard log viewer, and every response carries `x-request-id`. No audit log of key actions was found (10 of 15). security.txt is valid to 31 December 2026 and the site footer claims SOC 2, GDPR and HIPAA compliance, while the pricing page lists SOC 2 compliance only on Enterprise. No bug bounty, disclosure policy or public advisories found (10 of 20). Total 52.)
- Payments & pricing, Smallest.ai Lightning TTS +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.); Smallest.ai Lightning TTS 40 (No x402, MPP or L402 (0). Per-character prices for both models published without a login (20). Pay as you go starts with $10 of trial credits, which the terms also describe, and no page says a card is needed to claim them, read as inworld-tts's free plan was (20). A person signs up in a browser at app.smallest.ai and creates the key in the dashboard, and top-ups go to a card on file (0). Total 40.)
- Transparency & trust, Smallest.ai Lightning TTS +9: Fish Audio TTS API 61 (Closed API with public terms, SDKs under Apache-2.0 and MIT, and S2-Pro weights published under Fish Audio's own research licence, which is not OSI-approved. Drama 3 weights were also published on Hugging Face on 1 October 2026, with an int4 build on 14 October, under a Fish Audio licence that is not OSI-approved either. Neither the docs nor the card say the API's `drama-3` runs those weights (20 of 30). Terms dated 18 August 2024 and a privacy policy dated 28 August 2024, both re-read on 23 October. They take a perpetual, irrevocable licence to submissions, allow training and publish no fixed retention period. The docs refer to DPA guarantees on `s2.1-pro`, and no DPA text was found (5 of 30). A deprecations page with dates, and S1's retirement announced 84 days ahead with a migration guide. `drama-3-preview` left the API reference and the changelog with no entry on the deprecations page, which we note without moving the line because it was a preview (16 of 20). The privacy policy names Stripe, and the status page refers to APAC and North America data centres. No sub-processor list found (3 of 20). 20+5+16+3 = 44.); Smallest.ai Lightning TTS 70 (Closed service with clear terms naming Smallest Inc. under California law (15). The ZDR page is specific about what each mode keeps, but the terms' no-training clause and the privacy policy's machine-learning use of usage data sit side by side, the privacy policy gives no retention periods, and the policy doesn't mention the DPA a footer link points to (15 of 30). A deprecations page gives statuses, dates and migration steps, and earlier models answer 410 with a pointer. The notice for the default `lightning_v3.1`, dated 2 November, gives 28 days before voices change and v3.1 clones stop working, and the terms let Smallest discontinue services without notice (12 of 20). Two regions named (Mumbai and Oregon) with region-pinned hosts, and only Google Analytics and Fullstory named among third parties, with no sub-processor list found (10 of 20). Total 52.)
- Schema & documentation, Smallest.ai Lightning TTS +8: Fish Audio TTS API 84 (OpenAPI 3.1 file at docs.fish.audio/api-reference/openapi.json, re-read on 23 October with 39 paths, and an AsyncAPI schema rendered on the WebSocket page. The standalone AsyncAPI link in llms.txt still returned 404 on 23 October (25). llms.txt, llms-full.txt, Markdown pages and two agent skills under `/.well-known/agent-skills/` (10). The guide says when to use `convert`, `stream` and the WebSocket, which model to pick and what each `latency` mode trades, and the Drama 3 guide explains its direction syntax with examples and now its price. The models overview still doesn't list `drama-3` (16 of 20). Enums for `format`, bitrates, `latency` and the `model` header (`s1`, `s2-pro`, `s2.1-pro`, `s2.1-pro-free` and `drama-3`, unchanged), ranges on `temperature`, `top_p` and `chunk_length`, a pattern and length limit on the `language` field, one required field. One request field takes a free list of strings and the `speed` range is in prose only (12 of 15). Examples in curl, Python and JavaScript and an errors page with a status table. The OpenAPI file still lists only 401, 402 and 503 for `/v1/tts`, and the guide (`balanced`, 200) and the reference (`normal`, 300) still disagree on the defaults for `latency` and `chunk_length` (10 of 15). `/v1` paths and a dated changelog current to 20 October 2026, with no way to pin API behaviour (11 of 15). 25+10+16+12+10+11 = 84.); Smallest.ai Lightning TTS 92 (OpenAPI 3.1 for the sync and SSE routes and AsyncAPI 2.6 for the WebSocket, with request and event schemas (25). llms.txt and a Markdown copy of every page (10). A transport guide, model cards and the compare page say which model and transport suit which job, but changelog entries correct the language lists and enums the docs and spec carried (15 of 20). Typed fields with enums for model, sample rate, language and output format, an 8,000-character limit and pattern rules on `session_id` and `request_id` (14 of 15). Examples in curl, Python and JavaScript, with error bodies on the reference and a shared error page (13 of 15). Versioned `/v1` paths, a dated Lightning changelog and dated preview checkpoints (15). Total 92.)
- Agent ergonomics, Smallest.ai Lightning TTS +5: 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.); Smallest.ai Lightning TTS 72 (API reading of the checklist. Eight output formats, a choice of sample rate and word timestamps only when asked (22 of 25). Voices are listed per model and the docs say they filter by language and accent. Paging wasn't confirmed (14 of 20). Errors carry `error` and `message` fields with a shared status-code guide, without TTS-specific codes (14 of 20). Synthesis is stateless and `request_id` is echoed for correlation, but there is no idempotency key and billing of a retried request isn't stated (10 of 20). Two required fields, `text` and `voice_id`, but the default model retires on 30 November. Official Python and Node SDKs, with the Node SDK last published in May 2025 (12 of 15). Total 72.)

| Task | Fish Audio TTS API | Smallest.ai Lightning TTS |
| --- | --- | --- |
| Narrate a 9,000-character script | $0.13 to $0.45 | $0.16 to $0.18 |
