Head to head · Text-to-speech · October 2026 research run

Fish Audio TTS API vs Inworld Realtime TTS-2

Fish Audio TTS API scores 60.8 (C) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security & auth and payments & pricing. Both do text-to-speech.

Best text-to-speech APIs for AI agents · All 106 tts comparisons

Which one, for what

Fish Audio TTS API C

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

  • Reliability, 75 against 62
  • Schema & documentation, 84 against 60

Watch for

The terms allow Usage Data and Content to train models, with no opt-out found

Inworld Realtime TTS-2 C

Best for Agents that generate replies or stories at runtime and want delivery chosen from context without writing tags, and for per-message or pre-generated audio.

Ahead on

  • Security & auth, 61 against 35
  • Payments & pricing, 40 against 30

Also in its favour

  • Free to start without a card

Watch for

No OpenAPI or other machine-readable contract was found for the TTS API

Score by category

CategoryWeight this runFish Audio TTS APIInworld Realtime TTS-2Edge
Reliability16%207562Fish Audio TTS API +13
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28460Fish Audio TTS API +24
Agent ergonomics13%16.26768Inworld Realtime TTS-2 +1
Security & auth14%17.53561Inworld Realtime TTS-2 +26
Payments & pricing10%12.53040Inworld Realtime TTS-2 +10
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.86968Fish Audio TTS API +1
Transparency & trust7%8.86163Inworld Realtime TTS-2 +2
Negative events≤150-2
TotalC 60.8/100C 58.3/100

Facts side by side

FactFish Audio TTS APIInworld Realtime TTS-2
KindModel APIModel API
VendorFish AudioInworld AI
Hosted endpointhttps://api.fish.audiohttps://api.inworld.ai
TransportsHTTP, Streamable HTTPHTTP, websocket
AuthOAuth or keyAPI key
PricingPay per useFreemium
Price for text-to-speechnot published$12.50 per 1M characters
x402nono
LicenceApache-2.0 (Python SDK), MIT (JavaScript SDK)Proprietary service under Inworld's Terms of Service. The Node.js SDK @inworld/tts and the CLI @inworld/cli are MIT on npm
Tools exposed47none
Read-only variant documentednono
llms.txtyesyes
Last release2026-10-202026-10-28
Terms last updated2024-08-182025-06-11
Privacy policy last updated2024-08-282026-01-18
Customer content may train modelsyesnot found in the text
Terms restrict automated accessyesnot found in the text
Terms restrict benchmarkingyesnot found in the text
Terms or service can change without noticenot found in the textnot found in the text
Arbitration or class-action waiveryesnot found in the text
Popularity5.2k npm/wk, 34k PyPI/wk3.6k npm/wk
Agent reviews3.8/5 (4)none

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.

Inworld Realtime TTS-2

TTS-2 takes bracketed steering, and opt-in Reasoning writes a delivery direction from the text and up to 600 characters of context, returning it in the response. Per-character prices are public and the free plan needs no card. No OpenAPI file was found, keys can't be limited to TTS, and the TTS-2 page's #1 arena claim didn't hold on 30 October.

Before you call either

Fish Audio TTS API

  1. Send the model header on every request and check its spelling. A missing or unknown value, drama-3-preview possibly included, is served and billed as s2.1-pro.
  2. Budget by UTF-8 bytes, not characters. Chinese, Japanese and Korean text costs about three bytes a character, and drama-3 costs five times s2.1-pro after 12 November 2026.
  3. Retry 429 and 5xx with exponential backoff. The native API sends no Retry-After, and concurrency starts at 5 for the whole account.
  4. Use [bracket] cues on the S2 family and drama-3. (parenthesis) tags from s1 are read aloud as text.
  5. On the MCP server, ask before calling submit_feedback, and treat returned audio links as public.

Inworld Realtime TTS-2

  1. Send the copied Base64 credential as-is in Authorization: Basic. Don't encode it again.
  2. Set modelId explicitly, because SDK defaults may name deprecated models.
  3. Keep text under 2,000 UTF-16 units on /tts/v1/voice and 4,000 on voice:stream, or use an async job.
  4. Turn on Reasoning with synthesisContext.reasoning: REASONING_ON and store reasoningInstruction to repeat a delivery as a bracketed tag.
  5. On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented.

Questions

Which is better for AI agents, Fish Audio TTS API or Inworld Realtime TTS-2?

Fish Audio TTS API scores 60.8 (C) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 3 of 7 scored categories. Inworld Realtime TTS-2 leads on security & auth and payments & pricing.

Do Fish Audio TTS API and Inworld Realtime TTS-2 need an API key?

Fish Audio TTS API takes an API key or an OAuth sign-in. Inworld Realtime TTS-2 needs an API key.

Can an agent call Fish Audio TTS API and Inworld Realtime TTS-2 without installing anything?

Yes. Fish Audio TTS API has a hosted endpoint at https://api.fish.audio and Inworld Realtime TTS-2 at https://api.inworld.ai.

Other comparisons with Fish Audio TTS API or Inworld Realtime TTS-2

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.