{
  "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. Plans are Free (10,000 v4 characters), Starter $6 ($1 first month, 75,000 v4 characters), Creator $22 ($11 first month, 275,000), Pro $99 (1,238,000), Scale $299 and Business $990 a month, with pay-as-you-go as an alternative. 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-15",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 75.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 60,
        "ranked": true,
        "rankOf": 1243,
        "categoryRank": 1,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 92,
          "maintenance": 77,
          "payments": 40,
          "reliability": 80,
          "schema": 94,
          "security": 65,
          "transparency": 68
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-17"
        },
        "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, IP ranges and a credit quota, and service accounts hold keys that don't belong to a person",
          "Error reference with 73 codes across 10 types, and errors carry `type`, `code`, `message`, `param` 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",
          "Deprecated Turbo models and previous-generation models carry no retirement dates"
        ],
        "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 and, for a fixed server, an IP allowlist."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "BB",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.3
          }
        ],
        "editorialScores": {
          "ergonomics": 92,
          "maintenance": 77,
          "payments": 40,
          "reliability": 80,
          "schema": 94,
          "security": 65,
          "transparency": 45
        },
        "provenanceScore": 91,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-17",
            "maintenance": "2026-10-17",
            "payments": "2026-10-17",
            "reliability": "2026-10-17",
            "schema": "2026-10-17",
            "security": "2026-10-17",
            "transparency": "2026-10-17"
          },
          "last": "2026-10-17",
          "lastMoved": "2026-10-27",
          "oldest": "2026-10-17",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "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
        },
        {
          "item": "Eleven v4 Turbo",
          "unit": "1m-chars",
          "usd": 40
        },
        {
          "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, 75,000 v4 characters"
        },
        {
          "item": "Creator plan",
          "unit": "month",
          "usd": 22,
          "note": "$11 first month, 275,000 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-17",
        "score": 91
      },
      "requirements": {
        "card": "unknown",
        "freeTier": true,
        "minutes": 3,
        "credential": "api-key",
        "hosting": [
          "US",
          "EU",
          "APAC"
        ],
        "euResidency": "enterprise",
        "trainsOnData": "opt-out",
        "zeroRetention": "enterprise",
        "certifications": [
          "HIPAA (BAA available)",
          "GDPR"
        ],
        "dpa": true,
        "selfHost": "no"
      },
      "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-31T03:03:56.270505325Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 112,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 120,
          "p95ms24h": 175,
          "samples24h": 249,
          "samples30d": 7731,
          "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": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-12",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-13",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-14",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-15",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-16",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-17",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-18",
              "probes": 256,
              "ok": 256
            },
            {
              "date": "2026-10-19",
              "probes": 255,
              "ok": 255
            },
            {
              "date": "2026-10-20",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-21",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-22",
              "probes": 253,
              "ok": 253
            },
            {
              "date": "2026-10-23",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-24",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-25",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-26",
              "probes": 252,
              "ok": 252
            },
            {
              "date": "2026-10-27",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-28",
              "probes": 251,
              "ok": 251
            },
            {
              "date": "2026-10-29",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-30",
              "probes": 249,
              "ok": 249
            },
            {
              "date": "2026-10-31",
              "probes": 32,
              "ok": 32
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.elevenlabs.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-31T03:04:21.793885971Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "elevenlabs/elevenlabs-python",
            "version": "v2.75.0",
            "released": "2026-10-27",
            "seenAt": "2026-10-30T14:11:14.03405248Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.elevenlabs/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-30T14:54:40.546478788Z"
          },
          {
            "registry": "npm",
            "name": "@elevenlabs/elevenlabs-js",
            "version": "2.75.0",
            "seenAt": "2026-10-30T14:11:11.767623503Z"
          },
          {
            "registry": "pypi",
            "name": "elevenlabs",
            "version": "2.75.0",
            "released": "2026-10-28",
            "seenAt": "2026-10-30T14:11:12.026752657Z"
          },
          {
            "registry": "pypi",
            "name": "elevenlabs-mcp",
            "version": "0.12.2",
            "released": "2026-08-04",
            "seenAt": "2026-10-30T14:11:12.137737464Z"
          }
        ],
        "githubStars": 3165,
        "npmWeekly": 1417182,
        "pypiWeekly": 2566183,
        "securityTxt": {
          "url": "https://elevenlabs.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-10-06T00:00:00.000Z",
          "checkedAt": "2026-10-30T15:37:54.078033838Z"
        },
        "llmsTxt": {
          "url": "https://elevenlabs.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-30T15:07:26.428226623Z"
        },
        "domain": {
          "domain": "elevenlabs.io",
          "checkedAt": "2026-10-25T13:48:30.089507147Z"
        },
        "github": {
          "repo": "elevenlabs/elevenlabs-python",
          "checkedAt": "2026-10-26T07:25:26.715808098Z",
          "stars": 3155,
          "archived": false,
          "issuesEnabled": true,
          "pushedAt": "2026-10-20T13:13:12Z",
          "openIssues": 20,
          "openPRs": 29,
          "issuesOpened90d": 15,
          "issuesClosed90d": 7,
          "prsMerged90d": 34,
          "ci": {
            "branch": "main",
            "runs": 50,
            "success": 49,
            "failure": 1,
            "other": 0,
            "latest": "success",
            "latestAt": "2026-10-20T13:09:19Z"
          },
          "replies": {
            "sampled": 25,
            "unanswered": 8,
            "medianDays": 2.1
          }
        },
        "updatedAt": "2026-10-31T03:03:56.270505325Z"
      }
    },
    "answer": "ElevenLabs Text to Speech API + MCP scores 75.3 (BB) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 6 of 7 scored categories.",
    "b": {
      "slug": "inworld-tts",
      "name": "Inworld Realtime TTS-2",
      "vendor": "Inworld AI",
      "vendorUrl": "https://inworld.ai",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Inworld's hosted text-to-speech models, `inworld-tts-2` and `inworld-tts-2-flash`, over REST, HTTP streaming, WebSocket, async jobs and an OpenAI-compatible endpoint. TTS-2 takes bracketed steering, and an opt-in Reasoning step writes the delivery direction itself.",
      "url": "https://www.anchorterminal.com/tools/inworld-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/inworld-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/inworld-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/inworld-tts.json",
      "license": "Proprietary service under Inworld's Terms of Service. The Node.js SDK `@inworld/tts` and the CLI `@inworld/cli` are MIT on npm",
      "transports": [
        "http",
        "websocket"
      ],
      "remoteUrl": "https://api.inworld.ai",
      "packages": [
        {
          "registry": "npm",
          "name": "@inworld/tts"
        },
        {
          "registry": "pypi",
          "name": "inworld-tts"
        },
        {
          "registry": "npm",
          "name": "@inworld/cli"
        }
      ],
      "auth": "api-key",
      "authNotes": "Every call sends `Authorization: Basic` with the Base64 `key_id:secret` credential copied from the Portal or printed by the CLI. Keys belong to a workspace, are deleted to revoke, and have write toggles only for the Voice and Router APIs, so no key is limited to TTS. Browser and mobile clients use single-use tokens minted server-side, valid 15 minutes by default.",
      "pricing": "freemium",
      "pricingNotes": "TTS-2 costs $25 per million characters on the free On-Demand plan, falling to $20, $17.50, $15 and $12.50 on the $25, $100, $300 and $1,500 monthly plans, and from $5 on Enterprise. TTS-2 Flash runs $15 down to $7. On-Demand includes up to 70 minutes of TTS with no card. Steering tags count as characters, while `synthesisContext` and `reasoningContext` aren't billed. Batch costs 20 per cent less (checked 2026-10-30).",
      "priceSummary": "$25 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in llms.txt, the TTS docs, the billing page or the pricing page (checked 2026-10-30). Usage is drawn from prepaid plan credits, card top-ups of at least $10 or auto-reload.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": 3632,
        "pypiWeekly": null,
        "asOf": "2026-10-30"
      },
      "docsUrl": "https://docs.inworld.ai/tts/tts",
      "llmsTxt": "https://docs.inworld.ai/llms.txt",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.ssml",
        "speech.languages",
        "speech.batch",
        "voice.clone",
        "voice.design"
      ],
      "tags": [
        "hosted",
        "official",
        "closed-source",
        "freemium",
        "free-tier",
        "no-card",
        "llms-txt",
        "streaming",
        "openai-compatible",
        "reasoning",
        "multilingual",
        "async-jobs",
        "batch",
        "typescript",
        "python",
        "cli",
        "mcp",
        "status-page",
        "soc2",
        "enterprise"
      ],
      "lastRelease": "2026-10-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 58.3,
        "grade": "C",
        "agentReady": false,
        "rank": 687,
        "ranked": true,
        "rankOf": 1243,
        "categoryRank": 10,
        "methodology": "0.7",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 68,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 61,
          "transparency": 63
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-30"
        },
        "negative": -2,
        "negativeNotes": [
          "30 October 2026. Inworld's Realtime TTS-2 page shows Realtime TTS-2 as #1 for voice quality on the Artificial Analysis Speech Arena and says the ranks come from the live arena, not hardcoded. Artificial Analysis's provider-voice leaderboard on the same day put Realtime TTS-2 8th (Elo 1,267) behind Eleven v4 Turbo (1,336). The page also says the table was verified in May 2026. The deduction lapses if the page is corrected or the rank returns. Sources: https://inworld.ai/blog/realtime-tts-2 and https://artificialanalysis.ai/text-to-speech/leaderboard/provider-voice (-2)"
        ],
        "verdict": "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.",
        "bestFor": "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.",
        "strengths": [
          "Reasoning returns the direction it applied as `reasoningInstruction`, so an agent can log it and reuse it as an inline tag",
          "Per-character prices are public, from $25 per million characters for TTS-2 on the free plan to $12.50 on Growth",
          "REST, HTTP streaming, WebSocket, async jobs and an OpenAI-compatible `/v1/audio/speech` endpoint",
          "llms.txt, Markdown twins of every page and a keyless docs MCP server at docs.inworld.ai/mcp",
          "Single-use client tokens, 15 minutes by default, keep the API key off browsers and phones"
        ],
        "weaknesses": [
          "No OpenAPI or other machine-readable contract was found for the TTS API",
          "API keys can't be limited to TTS. Write toggles cover only the Voice and Router APIs",
          "The 28 October model update replaced `inworld-tts-2` in place, with no dated snapshot to pin",
          "Zero data retention is Enterprise only or a Growth add-on, and the SLA is Enterprise only",
          "The TTS-2 page claims #1 on the Artificial Analysis Speech Arena, which ranked it 8th on 30 October 2026"
        ],
        "agentNotes": [
          "Send the copied Base64 credential as-is in `Authorization: Basic`. Don't encode it again.",
          "Set `modelId` explicitly, because SDK defaults may name deprecated models.",
          "Keep text under 2,000 UTF-16 units on `/tts/v1/voice` and 4,000 on `voice:stream`, or use an async job.",
          "Turn on Reasoning with `synthesisContext.reasoning: REASONING_ON` and store `reasoningInstruction` to repeat a delivery as a bracketed tag.",
          "On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "C",
            "methodology": "0.7",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 58.3
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 68,
          "payments": 40,
          "reliability": 62,
          "schema": 60,
          "security": 61,
          "transparency": 51
        },
        "provenanceScore": 75,
        "checked": {
          "categories": {
            "ergonomics": "2026-10-30",
            "maintenance": "2026-10-30",
            "payments": "2026-10-30",
            "reliability": "2026-10-30",
            "schema": "2026-10-30",
            "security": "2026-10-30",
            "transparency": "2026-10-30"
          },
          "last": "2026-10-30",
          "oldest": "2026-10-30",
          "stale": false,
          "staleAfterDays": 90
        }
      },
      "connect": {
        "install": "npm install @inworld/tts",
        "http": "curl -X POST https://api.inworld.ai/tts/v1/voice -H \"Authorization: Basic $INWORLD_API_KEY\" -H 'Content-Type: application/json' -d '{\"text\": \"We made it. I honestly did not think we would.\", \"voiceId\": \"Dennis\", \"modelId\": \"inworld-tts-2\", \"synthesisContext\": {\"reasoning\": \"REASONING_ON\"}}'",
        "claudeCode": "claude mcp add inworld -- inworld mcp"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/inworld-tts"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Realtime TTS-2, On-Demand (free plan, pay as you go)",
          "unit": "1m-chars",
          "usd": 25,
          "note": "pricing page, checked 30 October 2026"
        },
        {
          "item": "Realtime TTS-2 on Growth",
          "unit": "1m-chars",
          "usd": 12.5,
          "note": "$20 on Creator, $17.50 on Builder, $15 on Developer, from $5 on Enterprise"
        },
        {
          "item": "Realtime TTS-2 Flash, On-Demand",
          "unit": "1m-chars",
          "usd": 15,
          "note": "falls to $7 on Growth"
        },
        {
          "item": "Creator plan",
          "unit": "month",
          "usd": 25,
          "note": "$25 in credits a month"
        },
        {
          "item": "Developer plan",
          "unit": "month",
          "usd": 300,
          "note": "$300 in credits a month, priority email support"
        }
      ],
      "provenance": {
        "legalEntity": "Theai, Inc. dba Inworld AI",
        "domain": "inworld.ai",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://inworld.ai/terms",
        "privacy": "https://inworld.ai/privacy",
        "statusPage": "https://status.inworld.ai",
        "changelog": "https://docs.inworld.ai/release-notes/tts",
        "securityTxt": "none",
        "checked": "2026-10-30",
        "notes": [
          "The Terms of Service (effective 11 June 2025) are an agreement with Theai, Inc. dba Inworld AI under California law, with courts in Santa Clara. The Privacy Notice (last updated 18 January 2026) names Theai, Inc.",
          "inworld.ai/.well-known/security.txt returns 404. The security page links a vulnerability report form.",
          "status.inworld.ai runs the open-source issue-status app, which draws incidents from GitHub issues in inworld-ai/inworld-issue-status. Its history wasn't read, because GitHub's robots.txt couldn't be read from our environment.",
          "inworld.ai's robots.txt allows Claude agents on the paths read and sets `Content-Signal: ai-train=no, search=yes, ai-input=no`. docs.inworld.ai has no such signal.",
          "The domain's registration date wasn't established, because the RDAP lookup failed.",
          "firstReleased is the TTS-2 launch entry in the TTS release notes, 5 May 2026. Inworld's TTS-2 page dates general availability to 31 August 2026, and Reasoning shipped on 28 October 2026."
        ],
        "score": 75
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/inworld-tts.json",
      "live": {
        "slug": "inworld-tts",
        "probe": {
          "target": "https://api.inworld.ai",
          "method": "get",
          "lastAt": "2026-10-31T03:04:02.49858712Z",
          "lastOk": true,
          "lastStatus": 200,
          "lastMs": 146,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 158,
          "p95ms24h": 339,
          "samples24h": 16,
          "samples30d": 16,
          "days": [
            {
              "date": "2026-10-31",
              "probes": 16,
              "ok": 16
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.inworld.ai",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-31T03:04:35.255164605Z"
        },
        "updatedAt": "2026-10-31T03:04:35.255164605Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "ElevenLabs",
        "b": "Inworld AI",
        "name": "Vendor"
      },
      {
        "a": "https://api.elevenlabs.io/v1",
        "b": "https://api.inworld.ai",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP, Streamable HTTP, stdio",
        "b": "HTTP, websocket",
        "name": "Transports"
      },
      {
        "a": "OAuth or key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Freemium",
        "b": "Freemium",
        "name": "Pricing"
      },
      {
        "a": "not published",
        "b": "$12.50 per 1M characters",
        "name": "Price for text-to-speech"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "MIT (SDKs)",
        "b": "Proprietary service under Inworld's Terms of Service. The Node.js SDK `@inworld/tts` and the CLI `@inworld/cli` are MIT on npm",
        "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-15",
        "b": "2026-10-28",
        "name": "Last release"
      },
      {
        "a": "2026-03-31",
        "b": "2025-06-11",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-20",
        "b": "2026-01-18",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "not found in the text",
        "name": "Customer content may train models"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict automated access"
      },
      {
        "a": "not found in the text",
        "b": "not found in the text",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "yes",
        "b": "not found in the text",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "3.1k stars, 1.1M npm/wk, 2.2M PyPI/wk",
        "b": "3.6k npm/wk",
        "name": "Popularity"
      },
      {
        "a": "3.5/5 (2)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "ElevenLabs Text to Speech API + MCP scores 75.3 (BB) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 6 of 7 scored categories.",
        "question": "Which is better for AI agents, ElevenLabs Text to Speech API + MCP or Inworld Realtime TTS-2?"
      },
      {
        "answer": "ElevenLabs Text to Speech API + MCP takes an API key or an OAuth sign-in. Inworld Realtime TTS-2 needs an API key.",
        "question": "Do ElevenLabs Text to Speech API + MCP and Inworld Realtime TTS-2 need an API key?"
      },
      {
        "answer": "Yes. ElevenLabs Text to Speech API + MCP has a hosted endpoint at https://api.elevenlabs.io/v1 and Inworld Realtime TTS-2 at https://api.inworld.ai.",
        "question": "Can an agent call ElevenLabs Text to Speech API + MCP and Inworld Realtime TTS-2 without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 80 against 62",
          "Schema \u0026 documentation, 94 against 60",
          "Agent ergonomics, 92 against 68",
          "Maintenance \u0026 community, 77 against 68",
          "Transparency \u0026 trust, 68 against 63"
        ],
        "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": [
          "Free to start without a card"
        ],
        "goodFor": "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.",
        "slug": "inworld-tts",
        "watchFor": "No OpenAPI or other machine-readable contract was found for the TTS API"
      }
    ],
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "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-inworld-tts.json",
        "title": "Amazon Polly vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-inworld-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-inworld-tts.json",
        "title": "Azure AI Speech text-to-speech vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-inworld-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-inworld-tts.json",
        "title": "Cartesia Sonic TTS API + MCP vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-inworld-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-inworld-tts.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.json",
        "title": "ElevenLabs Text to Speech API + MCP vs Fish Audio TTS API",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice.json",
        "title": "ElevenLabs Text to Speech API + MCP vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice"
      },
      {
        "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-inworld-tts.json",
        "title": "Fish Audio TTS API vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts.json",
        "title": "HeyGen Voice vs Inworld Realtime TTS-2",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-murf-tts.json",
        "title": "Inworld Realtime TTS-2 vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-playht-tts.json",
        "title": "Inworld Realtime TTS-2 vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-resemble-ai-tts.json",
        "title": "Inworld Realtime TTS-2 vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-resemble-ai-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts.json",
        "title": "Inworld Realtime TTS-2 vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts.json",
        "title": "Inworld Realtime TTS-2 vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts"
      }
    ],
    "scores": [
      {
        "by": 18,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 80,
        "inworld-tts": 62,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "by": 34,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 94,
        "inworld-tts": 60,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "by": 24,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 92,
        "inworld-tts": 68,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "by": 4,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 65,
        "inworld-tts": 61,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "by": 0,
        "edge": "",
        "elevenlabs-tts": 40,
        "inworld-tts": 40,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "by": 9,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 77,
        "inworld-tts": 68,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "by": 5,
        "edge": "elevenlabs-tts",
        "elevenlabs-tts": 68,
        "inworld-tts": 63,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "ElevenLabs Text to Speech API + MCP scores 75.3 (BB) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 6 of 7 scored categories. Both do text-to-speech.",
    "tutorials": [],
    "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.",
      "inworld-tts": "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."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts",
    "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.md",
    "mcp": "https://www.anchorterminal.com/mcp",
    "slim": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.min.md"
  },
  "markdown": "ElevenLabs Text to Speech API + MCP scores 75.3 (BB) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 6 of 7 scored categories. Both do text-to-speech.\n\n- ElevenLabs Text to Speech API + MCP: grade BB, 75.3/100, rank #60 of 1243. Markdown https://www.anchorterminal.com/tools/elevenlabs-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json\n- Inworld Realtime TTS-2: grade C, 58.3/100, rank #687 of 1243. Markdown https://www.anchorterminal.com/tools/inworld-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/inworld-tts.json\n- Best text-to-speech APIs for AI agents: https://www.anchorterminal.com/best/text-to-speech/index.md\n- All 106 tts comparisons: https://www.anchorterminal.com/compare/text-to-speech/index.md\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 62\n- Schema \u0026 documentation, 94 against 60\n- Agent ergonomics, 92 against 68\n- Maintenance \u0026 community, 77 against 68\n- Transparency \u0026 trust, 68 against 63\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### Inworld Realtime TTS-2 (C)\n\nGood 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.\n\nAlso in its favour:\n- Free to start without a card\n\nWatch for: No OpenAPI or other machine-readable contract was found for the TTS API\n\n\n## Score by category\n\n| Category | Weight | ElevenLabs Text to Speech API + MCP | Inworld Realtime TTS-2 | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 80 | 62 | ElevenLabs Text to Speech API + MCP +18 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 94 | 60 | ElevenLabs Text to Speech API + MCP +34 |\n| Agent ergonomics | 13% (16.2 this run) | 92 | 68 | ElevenLabs Text to Speech API + MCP +24 |\n| Security \u0026 auth | 14% (17.5 this run) | 65 | 61 | ElevenLabs Text to Speech API + MCP +4 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 40 | 40 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 77 | 68 | ElevenLabs Text to Speech API + MCP +9 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 68 | 63 | ElevenLabs Text to Speech API + MCP +5 |\n| Negative events | ≤15 | 0 | -2 | |\n| **Total** | | **75.3 · BB** | **58.3 · C** | |\n\n## Facts side by side\n\n| Fact | ElevenLabs Text to Speech API + MCP | Inworld Realtime TTS-2 |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | ElevenLabs | Inworld AI |\n| Hosted endpoint | `https://api.elevenlabs.io/v1` | `https://api.inworld.ai` |\n| Transports | HTTP, Streamable HTTP, stdio | HTTP, websocket |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| Price for text-to-speech | not published | $12.50 per 1M characters |\n| x402 | no | no |\n| Licence | MIT (SDKs) | Proprietary service under Inworld's Terms of Service. The Node.js SDK `@inworld/tts` and the CLI `@inworld/cli` are MIT on npm |\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-15 | 2026-10-28 |\n| Terms last updated | 2026-03-31 | 2025-06-11 |\n| Privacy policy last updated | 2026-05-20 | 2026-01-18 |\n| Customer content may train models | yes, with an opt-out | not found in the text |\n| Terms restrict automated access | not found in the text | not found in the text |\n| Terms restrict benchmarking | not found in the text | not found in the text |\n| Terms or service can change without notice | yes | not found in the text |\n| Arbitration or class-action waiver | yes | not found in the text |\n| Popularity | 3.1k stars, 1.1M npm/wk, 2.2M PyPI/wk | 3.6k npm/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**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.\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 and, for a fixed server, an IP allowlist.\n\n### Inworld Realtime TTS-2\n\n1. Send the copied Base64 credential as-is in `Authorization: Basic`. Don't encode it again.\n2. Set `modelId` explicitly, because SDK defaults may name deprecated models.\n3. Keep text under 2,000 UTF-16 units on `/tts/v1/voice` and 4,000 on `voice:stream`, or use an async job.\n4. Turn on Reasoning with `synthesisContext.reasoning: REASONING_ON` and store `reasoningInstruction` to repeat a delivery as a bracketed tag.\n5. On 429 or error code 8, back off exponentially with jitter. No Retry-After header is documented.\n\n## Questions\n\n### Which is better for AI agents, ElevenLabs Text to Speech API + MCP or Inworld Realtime TTS-2?\n\nElevenLabs Text to Speech API + MCP scores 75.3 (BB) on agent readiness against Inworld Realtime TTS-2's 58.3 (C), and leads in 6 of 7 scored categories.\n\n### Do ElevenLabs Text to Speech API + MCP and Inworld Realtime TTS-2 need an API key?\n\nElevenLabs Text to Speech API + MCP takes an API key or an OAuth sign-in. Inworld Realtime TTS-2 needs an API key.\n\n### Can an agent call ElevenLabs Text to Speech API + MCP and Inworld Realtime TTS-2 without installing anything?\n\nYes. ElevenLabs Text to Speech API + MCP has a hosted endpoint at https://api.elevenlabs.io/v1 and Inworld Realtime TTS-2 at https://api.inworld.ai.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.json, and with the fewest tokens: https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"elevenlabs-tts\", \"b\": \"inworld-tts\"}`. From a terminal: `anchor compare elevenlabs-tts inworld-tts`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json and https://www.anchorterminal.com/api/v1/tools/inworld-tts.json\n\n## Other comparisons with ElevenLabs Text to Speech API + MCP or Inworld Realtime TTS-2\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 Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/amazon-polly-vs-inworld-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 Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-inworld-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 Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/cartesia-tts-vs-inworld-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 Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/deepgram-tts-vs-inworld-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Fish Audio TTS API](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-fish-audio-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs HeyGen Voice](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice.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 Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/fish-audio-tts-vs-inworld-tts.md)\n- [HeyGen Voice vs Inworld Realtime TTS-2](https://www.anchorterminal.com/compare/heygen-voice-vs-inworld-tts.md)\n- [Inworld Realtime TTS-2 vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/inworld-tts-vs-murf-tts.md)\n- [Inworld Realtime TTS-2 vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/inworld-tts-vs-playht-tts.md)\n- [Inworld Realtime TTS-2 vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/inworld-tts-vs-resemble-ai-tts.md)\n- [Inworld Realtime TTS-2 vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/inworld-tts-vs-rime-tts.md)\n- [Inworld Realtime TTS-2 vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/inworld-tts-vs-soniox-tts.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "attributionRequired": true,
    "credit": "CC BY 4.0, credit Anchor Terminal and link the page or API address you took it from (https://www.anchorterminal.com/terms/#data)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-31",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.7",
    "openapi": "https://www.anchorterminal.com/openapi.json",
    "preview": false,
    "run": "2026-10-01",
    "runLabel": "October 2026 research run",
    "terms": "https://www.anchorterminal.com/terms/#data"
  },
  "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 Inworld Realtime TTS-2",
        "url": ""
      }
    ],
    "description": "ElevenLabs Text to Speech scores 75.3 (BB) to Inworld Realtime TTS-2's 58.3 (C) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "ElevenLabs Text to Speech API + MCP BB 75.3",
      "Inworld Realtime TTS-2 C 58.3",
      "scores"
    ],
    "h1": "ElevenLabs Text to Speech API + MCP vs Inworld Realtime TTS-2",
    "image": "https://www.anchorterminal.com/assets/og/compare-elevenlabs-tts-vs-inworld-tts.png",
    "path": "/compare/elevenlabs-tts-vs-inworld-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "ElevenLabs Text to Speech vs Inworld Realtime TTS-2 (2026)",
    "toc": null,
    "updated": "2026-10-31",
    "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-inworld-tts"
  },
  "tokens": {
    "markdown": 2800,
    "slim": 780
  },
  "version": 1
}
