{
  "data": {
    "a": {
      "slug": "elevenlabs-tts",
      "name": "ElevenLabs Text to Speech API + MCP",
      "vendor": "ElevenLabs",
      "vendorUrl": "https://elevenlabs.io",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "ElevenLabs text-to-speech over REST, HTTP streaming and WebSocket.",
      "url": "https://www.anchorterminal.com/tools/elevenlabs-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/elevenlabs-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/elevenlabs-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json",
      "repo": "https://github.com/elevenlabs/elevenlabs-python",
      "license": "MIT (SDKs)",
      "transports": [
        "http",
        "streamable-http",
        "stdio"
      ],
      "remoteUrl": "https://api.elevenlabs.io/v1",
      "packages": [
        {
          "registry": "npm",
          "name": "@elevenlabs/elevenlabs-js"
        },
        {
          "registry": "pypi",
          "name": "elevenlabs"
        },
        {
          "registry": "pypi",
          "name": "elevenlabs-mcp"
        }
      ],
      "auth": "mixed",
      "authNotes": "`xi-api-key` header for the REST and WebSocket APIs. The hosted MCP at `https://api.elevenlabs.io/v1/mcp` signs in with OAuth, scoped to Agents and Text to Speech. The older local `elevenlabs-mcp` server reads `ELEVENLABS_API_KEY` and is now deprecated. Data residency hosts exist for the EU, India and Singapore.",
      "pricing": "freemium",
      "pricingNotes": "API usage is priced per 1,000 characters. Eleven v4, v3 and Multilingual v2 cost $0.08, v4 Turbo, v3 Conversational and Flash/Turbo $0.04. Eleven v4 is at $0.022 and v4 Turbo at $0.011 until 2026-10-12. Plans are Free (10,000 v4 characters), Starter $6 ($1 first month), Creator $22 ($11 first month), Pro $99, Scale $299 and Business $990 a month, with pay-as-you-go as an alternative. Creator and above carry 3x credits until 2026-10-12. Commercial use starts at Starter (https://elevenlabs.io/pricing/api).",
      "priceSummary": "$6 / mo",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 or machine payment in the docs or pricing. Subscription or pay-as-you-go card billing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3122,
        "npmWeekly": 1063065,
        "pypiWeekly": 2223099,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://elevenlabs.io/docs/overview/capabilities/text-to-speech",
      "llmsTxt": "https://elevenlabs.io/docs/llms.txt",
      "openapi": "https://api.elevenlabs.io/openapi.json",
      "registryName": "io.elevenlabs/mcp",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.ssml",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "mcp",
        "streaming",
        "enterprise"
      ],
      "lastRelease": "2026-10-05",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.2,
        "grade": "BB",
        "agentReady": true,
        "rank": 52,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 2,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 92,
          "maintenance": 77,
          "payments": 40,
          "reliability": 80,
          "schema": 94,
          "security": 65,
          "transparency": 67
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-05"
        },
        "negative": 0,
        "verdict": "Keys can be limited to chosen endpoints and given a credit quota, and service accounts hold keys that don't belong to a person. The Terms let ElevenLabs train on content unless you opt out, which the Eleven v4 launch page contradicts, and v4 runs through Text to Dialogue rather than the classic text-to-speech endpoint.",
        "bestFor": "Best when an agent needs many languages, many voices or the most expressive models from one vendor, and the operator can accept training by default or pay for Enterprise.",
        "strengths": [
          "Keys can be limited to chosen endpoints and given a credit quota, and service accounts hold keys that don't belong to a person",
          "Error reference with about 90 codes, each carrying `type`, `code`, `message` and `request_id`",
          "OpenAPI file, llms.txt and Markdown twins of every docs page",
          "`GET /v2/voices` pages with `next_page_token` and filters by language, accent, gender and use case",
          "Free plan with 10,000 v4 characters a month and no card"
        ],
        "weaknesses": [
          "Content may be used for training unless you opt out under Data use, though the Eleven v4 launch page says it isn't used without consent",
          "Zero retention (`enable_logging=false`) is Enterprise only, and TTS text and audio are kept by default",
          "No SLA published for self-serve plans",
          "Eleven v4 and v3 ignore SSML `\u003cbreak\u003e` tags",
          "v4 rises from $0.022 to $0.08 per 1,000 characters after 2026-10-12"
        ],
        "agentNotes": [
          "Call Eleven v4 through `POST /v1/text-to-dialogue` and set `model_id` to `eleven_v4`, because that endpoint defaults to `eleven_v3`.",
          "Retrain an older Instant or Professional Voice Clone on v4 before using it there, since earlier clones aren't tuned for the new model.",
          "Spell out numbers yourself on `eleven_flash_v2_5`, which doesn't normalise them by default, and turning that on is Enterprise only.",
          "On 429 read `code`, back off on `rate_limit_exceeded` and wait for running requests on `concurrent_limit_exceeded`.",
          "Give the agent a key scoped to Text to Speech with a credit quota."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.2
          }
        ],
        "editorialScores": {
          "ergonomics": 92,
          "maintenance": 77,
          "payments": 40,
          "reliability": 80,
          "schema": 94,
          "security": 65,
          "transparency": 45
        },
        "provenanceScore": 89
      },
      "connect": {
        "http": "curl -X POST \"https://api.elevenlabs.io/v1/text-to-speech/JBFqnCBsd6RMkjVDRZzb?output_format=mp3_44100_128\" \\\n  -H \"xi-api-key: $ELEVENLABS_API_KEY\" -H \"content-type: application/json\" -o speech.mp3 \\\n  -d '{\"text\":\"Your table is booked for seven.\",\"model_id\":\"eleven_flash_v2_5\"}'",
        "claudeCode": "claude mcp add --transport http elevenlabs https://api.elevenlabs.io/v1/mcp",
        "config": {
          "mcpServers": {
            "elevenlabs": {
              "args": [
                "elevenlabs-mcp"
              ],
              "command": "uvx",
              "env": {
                "ELEVENLABS_API_KEY": "${ELEVENLABS_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/elevenlabs-tts"
      },
      "sameCompany": [
        "elevenlabs-music",
        "elevenlabs-scribe",
        "elevenlabs-agents",
        "elevenlabs-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Eleven v4",
          "unit": "1m-chars",
          "usd": 80,
          "note": "$22 until 2026-10-12"
        },
        {
          "item": "Eleven v4 Turbo",
          "unit": "1m-chars",
          "usd": 40,
          "note": "$11 until 2026-10-12"
        },
        {
          "item": "Eleven v3 / Multilingual v2",
          "unit": "1m-chars",
          "usd": 80
        },
        {
          "item": "Flash v2.5 / v3 Conversational",
          "unit": "1m-chars",
          "usd": 40
        },
        {
          "item": "Starter plan",
          "unit": "month",
          "usd": 6,
          "note": "$1 first month, about 273,000 v4 characters"
        },
        {
          "item": "Creator plan",
          "unit": "month",
          "usd": 22,
          "note": "about 1M v4 characters"
        }
      ],
      "provenance": {
        "legalEntity": "Eleven Labs Inc.",
        "domain": "elevenlabs.io",
        "domainRegistered": "2021-12-15",
        "endpointOnVendorDomain": true,
        "terms": "https://elevenlabs.io/terms-of-use",
        "privacy": "https://elevenlabs.io/privacy-policy",
        "statusPage": "https://status.elevenlabs.io",
        "changelog": "https://elevenlabs.io/docs/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-05",
        "score": 89
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/elevenlabs-tts.json",
      "live": {
        "slug": "elevenlabs-tts",
        "probe": {
          "target": "https://api.elevenlabs.io/v1",
          "method": "get",
          "lastAt": "2026-10-09T11:46:27.626721235Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 189,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 118,
          "p95ms24h": 149,
          "samples24h": 259,
          "samples30d": 2311,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 125,
              "ok": 125
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.elevenlabs.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-09T11:39:16.590418128Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "elevenlabs/elevenlabs-python",
            "version": "v2.71.0",
            "released": "2026-10-05",
            "seenAt": "2026-10-08T16:10:28.551525159Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.elevenlabs/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-09T02:57:46.004536428Z"
          },
          {
            "registry": "npm",
            "name": "@elevenlabs/elevenlabs-js",
            "version": "2.71.0",
            "seenAt": "2026-10-08T16:10:22.864572417Z"
          },
          {
            "registry": "pypi",
            "name": "elevenlabs",
            "version": "2.71.0",
            "released": "2026-10-05",
            "seenAt": "2026-10-08T16:10:26.543685366Z"
          },
          {
            "registry": "pypi",
            "name": "elevenlabs-mcp",
            "version": "0.12.2",
            "released": "2026-08-04",
            "seenAt": "2026-10-08T16:10:26.665849206Z"
          }
        ],
        "githubStars": 3134,
        "npmWeekly": 1147747,
        "pypiWeekly": 2206805,
        "securityTxt": {
          "url": "https://elevenlabs.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-06T00:00:00.000Z",
          "checkedAt": "2026-10-08T15:39:10.327718715Z"
        },
        "llmsTxt": {
          "url": "https://elevenlabs.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-08T14:00:27.074815811Z"
        },
        "domain": {
          "domain": "elevenlabs.io",
          "checkedAt": "2026-10-04T13:07:28.958673807Z"
        },
        "updatedAt": "2026-10-09T11:46:27.626721235Z"
      }
    },
    "answer": "ElevenLabs Text to Speech API + MCP scores 75.2 (BB) on agent readiness against Fish Audio TTS API's 60.7 (C), and leads in every scored category.",
    "b": {
      "slug": "fish-audio-tts",
      "name": "Fish Audio TTS API",
      "vendor": "Fish Audio",
      "vendorUrl": "https://fish.audio",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Fish Audio's API turns text into speech with the `s2.1-pro` model in 83 languages, over a REST endpoint, a timestamped stream and a WebSocket that accepts text as it is produced.",
      "url": "https://www.anchorterminal.com/tools/fish-audio-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/fish-audio-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/fish-audio-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/fish-audio-tts.json",
      "repo": "https://github.com/fishaudio/fish-audio-python",
      "license": "Apache-2.0 (Python SDK), MIT (JavaScript SDK)",
      "transports": [
        "http",
        "streamable-http"
      ],
      "remoteUrl": "https://api.fish.audio",
      "packages": [
        {
          "registry": "pypi",
          "name": "fish-audio-sdk"
        },
        {
          "registry": "npm",
          "name": "fish-audio"
        }
      ],
      "auth": "mixed",
      "authNotes": "`Authorization: Bearer` API key created in the web app after a browser signup with email verification. A key takes a name and an optional expiry. The `model` request header selects the model. The hosted MCP server at `https://api.fish.audio/mcp` signs in by OAuth and is bound to one team (https://docs.fish.audio/developer-guide/getting-started/api-key, https://docs.fish.audio/overview/mcp).",
      "pricing": "usage",
      "pricingNotes": "$15 per million UTF-8 bytes of input text on `s2.1-pro`, `s2-pro` and `s1`, prepaid with no subscription or monthly minimum. `s2.1-pro-free` costs $0 under fair-use limits, and the changelog says it is free through 30 November 2026. An agent can start on the free model once a person has signed up. Whether a card is needed is not stated. Concurrency rises with total prepaid amount. MCP usage draws on web app plan credits, not API credits (https://docs.fish.audio/developer-guide/models-pricing/pricing-and-rate-limits).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer docs, the OpenAPI file or the pricing page (checked 2026-10-09).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 5213,
        "pypiWeekly": 34220,
        "asOf": "2026-10-09"
      },
      "docsUrl": "https://docs.fish.audio/features/text-to-speech",
      "llmsTxt": "https://docs.fish.audio/llms.txt",
      "openapi": "https://docs.fish.audio/api-reference/openapi.json",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages",
        "voice.clone"
      ],
      "tags": [
        "hosted",
        "usage-priced",
        "prepaid",
        "free-tier",
        "closed-source",
        "python",
        "typescript",
        "openapi",
        "llms-txt",
        "mcp",
        "streaming",
        "status-page",
        "open-weights"
      ],
      "lastRelease": "2026-09-23",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 60.7,
        "grade": "C",
        "agentReady": false,
        "rank": 453,
        "ranked": true,
        "rankOf": 842,
        "categoryRank": 8,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 67,
          "maintenance": 69,
          "payments": 30,
          "reliability": 75,
          "schema": 84,
          "security": 35,
          "transparency": 60
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-09"
        },
        "negative": 0,
        "verdict": "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.",
        "bestFor": "Voice agents that stream LLM text into speech at a low per-byte price, multilingual output from one model, and teams moving from OpenAI or ElevenLabs request shapes.",
        "strengths": [
          "Public OpenAPI 3.1 file, llms.txt, Markdown pages and two installable agent skills for the SDKs and the raw API",
          "WebSocket input takes text as it is produced, with `flush` and `stop` events and a variant that returns word timestamps",
          "`s2.1-pro-free` runs the production model at $0 under fair-use limits, through 30 November 2026",
          "OpenAI-compatible and ElevenLabs-compatible endpoints refuse unsupported options with a 4xx and send `Retry-After` on a 429",
          "S1 retirement was announced on 8 October 2026 for 31 December 2026, with a migration guide"
        ],
        "weaknesses": [
          "The terms allow Usage Data and Content to train models, with no opt-out found",
          "An unrecognised `model` header falls back to paid `s2.1-pro` without an error",
          "The Text-to-Speech API status component shows downtime on 11 days in 90, the longest 58 minutes on 6 August 2026, mostly on the free model",
          "The published SDKs date from March 2026. `fish-audio` 0.1.0 on npm defaults to the deprecated `s1`",
          "No security.txt, certification, DPA text or sub-processor list found in the pages read"
        ],
        "agentNotes": [
          "Send the `model` header on every request and check its spelling. A missing or unknown value is served and billed as `s2.1-pro`.",
          "Budget by UTF-8 bytes, not characters. Chinese, Japanese and Korean text costs about three bytes a character.",
          "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. `(parenthesis)` tags from `s1` are read aloud as text.",
          "Pass the model explicitly in the JavaScript SDK, because npm release 0.1.0 defaults to `s1`."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 60.7
          }
        ],
        "editorialScores": {
          "ergonomics": 67,
          "maintenance": 69,
          "payments": 30,
          "reliability": 75,
          "schema": 84,
          "security": 35,
          "transparency": 44
        },
        "provenanceScore": 75
      },
      "connect": {
        "install": "pip install fish-audio-sdk",
        "http": "curl --request POST https://api.fish.audio/v1/tts \\\n  --header \"Authorization: Bearer $FISH_API_KEY\" \\\n  --header \"Content-Type: application/json\" \\\n  --header \"model: s2.1-pro-free\" \\\n  --data '{ \"text\": \"Hello from Fish Audio!\", \"format\": \"mp3\" }' \\\n  --output hello.mp3",
        "claudeCode": "claude mcp add --transport http fish-audio https://api.fish.audio/mcp",
        "config": {
          "mcpServers": {
            "fish-audio": {
              "url": "https://api.fish.audio/mcp"
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/fish-audio-tts"
      },
      "sameCompany": [
        "fish-audio-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Text to speech, s2.1-pro",
          "unit": "1m-chars",
          "usd": 15,
          "note": "per million UTF-8 bytes of input text, not characters"
        },
        {
          "item": "Text to speech, s2.1-pro-free",
          "unit": "1m-chars",
          "usd": 0,
          "note": "fair-use limits, free through 30 November 2026 per the changelog"
        }
      ],
      "provenance": {
        "legalEntity": "Hanabi AI Inc.",
        "domain": "fish.audio",
        "domainRegistered": "2023-12-11",
        "endpointOnVendorDomain": true,
        "terms": "https://fish.audio/terms/",
        "privacy": "https://fish.audio/privacy/",
        "statusPage": "https://status.fish.audio",
        "changelog": "https://docs.fish.audio/developer-guide/getting-started/changelog",
        "securityTxt": "none",
        "checked": "2026-10-09",
        "notes": [
          "The Terms of Use (effective 18 August 2024) name Hanabi AI Inc., a Delaware corporation at 1111B S Governors Ave STE 48109, Dover, DE 19904, as the provider of the Services, and cover API keys.",
          "The Privacy Policy is dated 28 August 2024.",
          "https://fish.audio/.well-known/security.txt returned 404 on 2026-10-09.",
          "RDAP for fish.audio gives a registration date of 2023-12-11.",
          "The terms forbid crawling or scraping any page of the Services by manual or automated means. robots.txt on fish.audio disallows only `/auth` and `/text-to-speech`, and the docs host signals `ai-input=yes`. We read the terms, the privacy policy and the docs host, and no other fish.audio page."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/fish-audio-tts.json",
      "live": {
        "slug": "fish-audio-tts",
        "probe": {
          "target": "https://api.fish.audio",
          "method": "get",
          "lastAt": "2026-10-09T11:46:28.727492974Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 182,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 159,
          "p95ms24h": 210,
          "samples24h": 44,
          "samples30d": 44,
          "days": [
            {
              "date": "2026-10-09",
              "probes": 44,
              "ok": 44
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.fish.audio",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-09T07:57:55.361055093Z"
        },
        "updatedAt": "2026-10-09T11:46:28.727492974Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "ElevenLabs",
        "b": "Fish Audio",
        "name": "Vendor"
      },
      {
        "a": "https://api.elevenlabs.io/v1",
        "b": "https://api.fish.audio",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, Streamable HTTP",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "OAuth or key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "Apache-2.0 (Python SDK), MIT (JavaScript SDK)",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "io.elevenlabs/mcp",
        "b": "not listed",
        "name": "MCP registry"
      },
      {
        "a": "2026-10-05",
        "b": "2026-09-23",
        "name": "Last release"
      },
      {
        "a": "2026-03-31",
        "b": "2024-08-18",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-20",
        "b": "2024-08-28",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "yes",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "yes",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.1k stars, 1.1M npm/wk, 2.2M PyPI/wk",
        "b": "5.2k npm/wk, 34k PyPI/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ElevenLabs Text to Speech API + MCP scores 75.2 (BB) on agent readiness against Fish Audio TTS API's 60.7 (C), and leads in every scored category.",
        "question": "Which is better for AI agents, ElevenLabs Text to Speech API + MCP or Fish Audio TTS API?"
      },
      {
        "answer": "Both take an API key or an OAuth sign-in.",
        "question": "Do ElevenLabs Text to Speech API + MCP and Fish Audio TTS API need an API key?"
      },
      {
        "answer": "Yes. ElevenLabs Text to Speech API + MCP has a hosted endpoint at https://api.elevenlabs.io/v1 and Fish Audio TTS API at https://api.fish.audio.",
        "question": "Can an agent call ElevenLabs Text to Speech API + MCP and Fish Audio TTS API without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 75",
          "Schema \u0026 documentation, 94 against 84",
          "Agent ergonomics, 92 against 67",
          "Security \u0026 auth, 65 against 35",
          "Payments \u0026 pricing, 40 against 30",
          "Maintenance \u0026 community, 77 against 69",
          "Transparency \u0026 trust, 67 against 60"
        ],
        "also": [
          "Agent-ready, a grade of BB or better",
          "Runs on your own machine"
        ],
        "goodFor": "Best when an agent needs many languages, many voices or the most expressive models from one vendor, and the operator can accept training by default or pay for Enterprise.",
        "slug": "elevenlabs-tts",
        "watchFor": "Content may be used for training unless you opt out under Data use, though the Eleven v4 launch page says it isn't used without consent"
      },
      {
        "aheadOn": null,
        "also": null,
        "goodFor": "Voice agents that stream LLM text into speech at a low per-byte price, multilingual output from one model, and teams moving from OpenAI or ElevenLabs request shapes.",
        "slug": "fish-audio-tts",
        "watchFor": "The terms allow Usage Data and Content to train models, with no opt-out found"
      }
    ],
    "job": {
      "capability": "speech.tts",
      "name": "Speech tts"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-elevenlabs-tts.json",
        "title": "Amazon Polly vs ElevenLabs Text to Speech API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-elevenlabs-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-fish-audio-tts.json",
        "title": "Amazon Polly vs Fish Audio TTS API",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-fish-audio-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts.json",
        "title": "Azure AI Speech text-to-speech vs ElevenLabs Text to Speech API + MCP",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-fish-audio-tts.json",
        "title": "Azure AI Speech text-to-speech vs Fish Audio TTS API",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-fish-audio-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-elevenlabs-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs ElevenLabs Text to Speech API + MCP",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-elevenlabs-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-fish-audio-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs Fish Audio TTS API",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-fish-audio-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-elevenlabs-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs ElevenLabs Text to Speech API + MCP",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-elevenlabs-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-fish-audio-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Fish Audio TTS API",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-fish-audio-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-murf-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-playht-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-resemble-ai-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-resemble-ai-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-rime-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-rime-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-murf-tts.json",
        "title": "Fish Audio TTS API vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-playht-tts.json",
        "title": "Fish Audio TTS API vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-resemble-ai-tts.json",
        "title": "Fish Audio TTS API vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-resemble-ai-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-rime-tts.json",
        "title": "Fish Audio TTS API vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-rime-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-soniox-tts.json",
        "title": "Fish Audio TTS API vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-soniox-tts"
      }
    ],
    "scores": [
      {
        "by": 5,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 80,
        "fish-audio-tts": 75,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 10,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 94,
        "fish-audio-tts": 84,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 25,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 92,
        "fish-audio-tts": 67,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 30,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 65,
        "fish-audio-tts": 35,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 10,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 40,
        "fish-audio-tts": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 8,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 77,
        "fish-audio-tts": 69,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 7,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 67,
        "fish-audio-tts": 60,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "ElevenLabs Text to Speech API + MCP scores 75.2 (BB) on agent readiness against Fish Audio TTS API's 60.7 (C), and leads in every scored category. Both do speech tts.",
    "verdicts": {
      "elevenlabs-tts": "Keys can be limited to chosen endpoints and given a credit quota, and service accounts hold keys that don't belong to a person. The Terms let ElevenLabs train on content unless you opt out, which the Eleven v4 launch page contradicts, and v4 runs through Text to Dialogue rather than the classic text-to-speech endpoint.",
      "fish-audio-tts": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts",
    "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.md",
    "slim": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.min.md"
  },
  "markdown": "ElevenLabs Text to Speech API + MCP scores 75.2 (BB) on agent readiness against Fish Audio TTS API's 60.7 (C), and leads in every scored category. Both do speech tts.\n\n- ElevenLabs Text to Speech API + MCP: grade BB, 75.2/100, rank #52 of 842. Markdown https://www.anchorterminal.com/tools/elevenlabs-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json\n- Fish Audio TTS API: grade C, 60.7/100, rank #453 of 842. Markdown https://www.anchorterminal.com/tools/fish-audio-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/fish-audio-tts.json\n\n## Which one, for what\n\n### ElevenLabs Text to Speech API + MCP (BB)\n\nGood for: Best when an agent needs many languages, many voices or the most expressive models from one vendor, and the operator can accept training by default or pay for Enterprise.\n\nAhead on:\n- Reliability, 80 against 75\n- Schema \u0026 documentation, 94 against 84\n- Agent ergonomics, 92 against 67\n- Security \u0026 auth, 65 against 35\n- Payments \u0026 pricing, 40 against 30\n- Maintenance \u0026 community, 77 against 69\n- Transparency \u0026 trust, 67 against 60\n\nAlso in its favour:\n- Agent-ready, a grade of BB or better\n- Runs on your own machine\n\nWatch for: Content may be used for training unless you opt out under Data use, though the Eleven v4 launch page says it isn't used without consent\n\n### Fish Audio TTS API (C)\n\nGood for: Voice agents that stream LLM text into speech at a low per-byte price, multilingual output from one model, and teams moving from OpenAI or ElevenLabs request shapes.\n\nWatch for: The terms allow Usage Data and Content to train models, with no opt-out found\n\n\n## Score by category\n\n| Category | Weight | ElevenLabs Text to Speech API + MCP | Fish Audio TTS API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 75 | ElevenLabs Text to Speech API + MCP +5 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 94 | 84 | ElevenLabs Text to Speech API + MCP +10 |\n| Agent ergonomics | 13% (16.2 this run) | 92 | 67 | ElevenLabs Text to Speech API + MCP +25 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 35 | ElevenLabs Text to Speech API + MCP +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 30 | ElevenLabs Text to Speech API + MCP +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 69 | ElevenLabs Text to Speech API + MCP +8 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 67 | 60 | ElevenLabs Text to Speech API + MCP +7 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.2 · BB** | **60.7 · C** | |\n\n## Facts side by side\n\n| Fact | ElevenLabs Text to Speech API + MCP | Fish Audio TTS API |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | ElevenLabs | Fish Audio |\n| Hosted endpoint | `https://api.elevenlabs.io/v1` | `https://api.fish.audio` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, Streamable HTTP |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Pay per use |\n| x402 | no | no |\n| Licence | MIT (SDKs) | Apache-2.0 (Python SDK), MIT (JavaScript SDK) |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | `io.elevenlabs/mcp` | not listed |\n| Last release | 2026-10-05 | 2026-09-23 |\n| Terms last updated | 2026-03-31 | 2024-08-18 |\n| Privacy policy last updated | 2026-05-20 | 2024-08-28 |\n| Customer content may train models | yes, with an opt-out | yes |\n| Terms restrict automated access | not found in the text | yes |\n| Terms restrict benchmarking | not found in the text | yes |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | yes |\n| Popularity | 3.1k stars, 1.1M npm/wk, 2.2M PyPI/wk | 5.2k npm/wk, 34k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | none |\n\n## Verdicts\n\n**ElevenLabs Text to Speech API + MCP.** Keys can be limited to chosen endpoints and given a credit quota, and service accounts hold keys that don't belong to a person. The Terms let ElevenLabs train on content unless you opt out, which the Eleven v4 launch page contradicts, and v4 runs through Text to Dialogue rather than the classic text-to-speech endpoint.\n\n**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.\n\n## Before you call either\n\n### ElevenLabs Text to Speech API + MCP\n\n1. Call Eleven v4 through `POST /v1/text-to-dialogue` and set `model_id` to `eleven_v4`, because that endpoint defaults to `eleven_v3`.\n2. Retrain an older Instant or Professional Voice Clone on v4 before using it there, since earlier clones aren't tuned for the new model.\n3. Spell out numbers yourself on `eleven_flash_v2_5`, which doesn't normalise them by default, and turning that on is Enterprise only.\n4. On 429 read `code`, back off on `rate_limit_exceeded` and wait for running requests on `concurrent_limit_exceeded`.\n5. Give the agent a key scoped to Text to Speech with a credit quota.\n\n### Fish Audio TTS API\n\n1. Send the `model` header on every request and check its spelling. A missing or unknown value is served and billed as `s2.1-pro`.\n2. Budget by UTF-8 bytes, not characters. Chinese, Japanese and Korean text costs about three bytes a character.\n3. Retry 429 and 5xx with exponential backoff. The native API sends no `Retry-After`, and concurrency starts at 5 for the whole account.\n4. Use `[bracket]` cues on the S2 family. `(parenthesis)` tags from `s1` are read aloud as text.\n5. Pass the model explicitly in the JavaScript SDK, because npm release 0.1.0 defaults to `s1`.\n\n## Questions\n\n### Which is better for AI agents, ElevenLabs Text to Speech API + MCP or Fish Audio TTS API?\n\nElevenLabs Text to Speech API + MCP scores 75.2 (BB) on agent readiness against Fish Audio TTS API's 60.7 (C), and leads in every scored category.\n\n### Do ElevenLabs Text to Speech API + MCP and Fish Audio TTS API need an API key?\n\nBoth take an API key or an OAuth sign-in.\n\n### Can an agent call ElevenLabs Text to Speech API + MCP and Fish Audio TTS API without installing anything?\n\nYes. ElevenLabs Text to Speech API + MCP has a hosted endpoint at https://api.elevenlabs.io/v1 and Fish Audio TTS API at https://api.fish.audio.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.json, and with the fewest tokens: https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"elevenlabs-tts\", \"b\": \"fish-audio-tts\"}`. From a terminal: `anchor compare elevenlabs-tts fish-audio-tts`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json and https://www.anchorterminal.com/api/v1/tools/fish-audio-tts.json\n\n## Other comparisons with ElevenLabs Text to Speech API + MCP or Fish Audio TTS API\n\n- [Amazon Polly vs ElevenLabs Text to Speech API + MCP](https://www.anchorterminal.com/compare/amazon-polly-vs-elevenlabs-tts.md)\n- [Amazon Polly vs Fish Audio TTS API](https://www.anchorterminal.com/compare/amazon-polly-vs-fish-audio-tts.md)\n- [Azure AI Speech text-to-speech vs ElevenLabs Text to Speech API + MCP](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts.md)\n- [Azure AI Speech text-to-speech vs Fish Audio TTS API](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-fish-audio-tts.md)\n- [Cartesia Sonic TTS API + MCP vs ElevenLabs Text to Speech API + MCP](https://www.anchorterminal.com/compare/cartesia-tts-vs-elevenlabs-tts.md)\n- [Cartesia Sonic TTS API + MCP vs Fish Audio TTS API](https://www.anchorterminal.com/compare/cartesia-tts-vs-fish-audio-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs ElevenLabs Text to Speech API + MCP](https://www.anchorterminal.com/compare/deepgram-tts-vs-elevenlabs-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Fish Audio TTS API](https://www.anchorterminal.com/compare/deepgram-tts-vs-fish-audio-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-murf-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-playht-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-resemble-ai-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-rime-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts.md)\n- [Fish Audio TTS API vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/fish-audio-tts-vs-murf-tts.md)\n- [Fish Audio TTS API vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/fish-audio-tts-vs-playht-tts.md)\n- [Fish Audio TTS API vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/fish-audio-tts-vs-resemble-ai-tts.md)\n- [Fish Audio TTS API vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/fish-audio-tts-vs-rime-tts.md)\n- [Fish Audio TTS API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/fish-audio-tts-vs-soniox-tts.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-09",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run"
  },
  "page": {
    "breadcrumbs": [
      {
        "name": "Home",
        "url": "https://www.anchorterminal.com/"
      },
      {
        "name": "Compare",
        "url": "https://www.anchorterminal.com/compare/"
      },
      {
        "name": "ElevenLabs Text to Speech API + MCP vs Fish Audio TTS API",
        "url": ""
      }
    ],
    "description": "ElevenLabs Text to Speech API + MCP scores 75.2 (BB) on agent readiness against Fish Audio TTS API's 60.7 (C), and leads in every scored category. Both do speech tts. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "ElevenLabs Text to Speech API + MCP BB 75.2",
      "Fish Audio TTS API C 60.7",
      "scores"
    ],
    "h1": "ElevenLabs Text to Speech API + MCP vs Fish Audio TTS API",
    "image": "https://www.anchorterminal.com/assets/og/compare-elevenlabs-tts-vs-fish-audio-tts.png",
    "path": "/compare/elevenlabs-tts-vs-fish-audio-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ElevenLabs Text to Speech API + MCP vs Fish Audio TTS API",
    "toc": null,
    "updated": "2026-10-09",
    "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts"
  },
  "tokens": {
    "markdown": 2550,
    "slim": 730
  },
  "version": 1
}
