{
  "data": {
    "a": {
      "slug": "azure-text-to-speech",
      "name": "Azure AI Speech text-to-speech",
      "vendor": "Microsoft Azure",
      "vendorUrl": "https://azure.microsoft.com/en-us/products/ai-services/text-to-speech",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Azure's text-to-speech service for generating spoken audio.",
      "url": "https://www.anchorterminal.com/tools/azure-text-to-speech",
      "markdownUrl": "https://www.anchorterminal.com/tools/azure-text-to-speech.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/azure-text-to-speech.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/azure-text-to-speech.json",
      "repo": "https://github.com/Azure-Samples/cognitive-services-speech-sdk",
      "license": "MIT (samples), SDK under Microsoft's own licence",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://eastus.tts.speech.microsoft.com/cognitiveservices",
      "packages": [
        {
          "registry": "pypi",
          "name": "azure-cognitiveservices-speech"
        },
        {
          "registry": "npm",
          "name": "microsoft-cognitiveservices-speech-sdk"
        }
      ],
      "auth": "mixed",
      "authNotes": "`Ocp-Apim-Subscription-Key` header with a Speech resource key, or a Microsoft Entra ID bearer token. Endpoints are per region.",
      "pricing": "freemium",
      "pricingNotes": "Free F0 tier with 500,000 characters a month. Pay as you go in East US is $15 per 1M characters for Neural and Neural HD Flash voices and $22 for Neural HD, real time or batch. Commitment tiers from $960 a month for 80M characters (https://azure.microsoft.com/en-us/pricing/details/speech/).",
      "priceSummary": "$960 / mo",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No machine payment. Billing runs through a cloud account with a card or invoice.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 3450,
        "npmWeekly": 475621,
        "pypiWeekly": 1032532,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/text-to-speech",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.ssml",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "python",
        "typescript",
        "enterprise",
        "streaming",
        "batch",
        "async-jobs"
      ],
      "lastRelease": "2026-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.7,
        "grade": "BB",
        "agentReady": true,
        "rank": 56,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 2,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 75,
          "maintenance": 80,
          "payments": 20,
          "reliability": 90,
          "schema": 65,
          "security": 90,
          "transparency": 88
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Real-time synthesis keeps neither the input text nor the output audio. An Azure subscription needs a card, even for the free F0 tier.",
        "strengths": [
          "Real-time synthesis keeps neither the input text nor the output audio",
          "Full SSML with speaking styles, prosody, phonemes, lexicons and up to 50 voice or audio tags a request",
          "Microsoft Entra ID with role-based access, or two rotatable keys",
          "Covered by Microsoft's online services SLA",
          "S0 starts at 30 requests a second and can be raised to 1,000"
        ],
        "weaknesses": [
          "An Azure subscription needs a card, even for the free F0 tier",
          "No llms.txt and no OpenAPI file for text-to-speech found",
          "429s often reflect busy capacity for a voice in a region, which a quota increase doesn't fix",
          "The voice list comes back as one response per region with no paging documented",
          "MAI-Voice-2-Flash, the low-latency model, is still in preview"
        ],
        "agentNotes": [
          "Send SSML with `\u003cspeak\u003e` and `\u003cvoice\u003e`, and set `X-Microsoft-OutputFormat` and `User-Agent`.",
          "On 429 retry with backoff, and try the voice's home region or another region rather than asking for more quota.",
          "Keep each real-time request under 10 minutes of audio, or use batch synthesis.",
          "Use Entra ID tokens instead of resource keys where the agent runs inside Azure.",
          "Cache the voice list per region, since it returns hundreds of entries at once."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3.5,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.7
          }
        ],
        "editorialScores": {
          "ergonomics": 75,
          "maintenance": 80,
          "payments": 20,
          "reliability": 90,
          "schema": 65,
          "security": 90,
          "transparency": 80
        },
        "provenanceScore": 95
      },
      "connect": {
        "install": "pip install azure-cognitiveservices-speech   # or: npm i microsoft-cognitiveservices-speech-sdk",
        "http": "curl -X POST \"https://eastus.tts.speech.microsoft.com/cognitiveservices/v1\" \\\n  -H \"Ocp-Apim-Subscription-Key: $AZURE_SPEECH_KEY\" -H \"Content-Type: application/ssml+xml\" \\\n  -H \"X-Microsoft-OutputFormat: audio-24khz-48kbitrate-mono-mp3\" -o speech.mp3 \\\n  -d '\u003cspeak version=\"1.0\" xml:lang=\"en-US\"\u003e\u003cvoice name=\"en-US-AvaMultilingualNeural\"\u003eYour table is booked for seven.\u003c/voice\u003e\u003c/speak\u003e'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/azure-text-to-speech"
      },
      "sameCompany": [
        "azure-foundry-fine-tuning",
        "azure-ai-content-safety",
        "azure-speech-to-text",
        "microsoft-learn-mcp",
        "playwright-mcp",
        "azure-mcp",
        "azure-translator",
        "microsoft-graph-calendar"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Neural and Neural HD Flash voices",
          "unit": "1m-chars",
          "usd": 15,
          "note": "real time or batch, East US"
        },
        {
          "item": "Neural HD voices",
          "unit": "1m-chars",
          "usd": 22
        },
        {
          "item": "Commitment tier 80M characters",
          "unit": "month",
          "usd": 960,
          "note": "$12 per 1M overage"
        }
      ],
      "provenance": {
        "legalEntity": "Microsoft Corporation",
        "domain": "microsoft.com",
        "domainRegistered": "1991-05-02",
        "domainNote": "Endpoints are on speech.microsoft.com, api.cognitive.microsoft.com and cognitiveservices.azure.com. microsoft.com publishes a security.txt, but it passed its Expires date on 2026-09-23.",
        "endpointOnVendorDomain": true,
        "terms": "https://www.microsoft.com/licensing/terms/",
        "privacy": "https://privacy.microsoft.com/en-us/privacystatement",
        "statusPage": "https://azure.status.microsoft/en-us/status",
        "changelog": "https://learn.microsoft.com/en-us/azure/ai-services/speech-service/releasenotes",
        "securityTxt": "expired",
        "checked": "2026-09-30",
        "score": 95
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/azure-text-to-speech.json",
      "live": {
        "slug": "azure-text-to-speech",
        "probe": {
          "target": "https://eastus.tts.speech.microsoft.com/cognitiveservices",
          "method": "get",
          "lastAt": "2026-10-04T23:48:04.678459126Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 259,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 257,
          "p95ms24h": 304,
          "samples24h": 272,
          "samples30d": 1100,
          "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": 270,
              "ok": 270
            }
          ]
        },
        "versions": [
          {
            "registry": "github",
            "name": "Azure-Samples/cognitive-services-speech-sdk",
            "version": "ingestion-v2.1.13",
            "released": "2026-07-10",
            "seenAt": "2026-10-04T16:21:39.409053457Z"
          },
          {
            "registry": "npm",
            "name": "microsoft-cognitiveservices-speech-sdk",
            "version": "1.52.0",
            "seenAt": "2026-10-04T16:21:39.358419331Z"
          },
          {
            "registry": "pypi",
            "name": "azure-cognitiveservices-speech",
            "version": "1.52.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:21:39.229173438Z"
          }
        ],
        "githubStars": 3450,
        "npmWeekly": 508156,
        "pypiWeekly": 704368,
        "securityTxt": {
          "url": "https://microsoft.com/.well-known/security.txt",
          "state": "expired",
          "expires": "2026-09-23T16:00:00.000Z",
          "checkedAt": "2026-10-04T15:16:01.36832038Z"
        },
        "domain": {
          "domain": "microsoft.com",
          "registered": "1991-05-02",
          "source": "https://rdap.verisign.com/com/v1/domain/microsoft.com",
          "checkedAt": "2026-10-04T13:04:13.488857536Z"
        },
        "updatedAt": "2026-10-04T23:48:04.678459126Z"
      }
    },
    "b": {
      "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, Creator $22 ($11 first month), Pro $99, 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-09-28",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 73.1,
        "grade": "BB",
        "agentReady": true,
        "rank": 61,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 3,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 77,
          "payments": 40,
          "reliability": 80,
          "schema": 94,
          "security": 60,
          "transparency": 71
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "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. Content may be used for training unless you opt out under Data use, and the opt-out only applies going forward.",
        "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",
          "Free plan with 10,000 v4 characters a month and no card",
          "Weekly dated changelog, 16 entries between 6 July and 28 September 2026"
        ],
        "weaknesses": [
          "Content may be used for training unless you opt out under Data use, and the opt-out only applies going forward",
          "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 Text to Dialogue, not `/v1/text-to-speech`.",
          "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`.",
          "Keep each request under 10,000 characters on v4 and Multilingual v2, 5,000 on v3.",
          "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.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 73.1
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 77,
          "payments": 40,
          "reliability": 80,
          "schema": 94,
          "security": 60,
          "transparency": 50
        },
        "provenanceScore": 92
      },
      "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": "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-09-30",
        "score": 92
      },
      "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-04T23:48:07.877248746Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 117,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 118,
          "p95ms24h": 157,
          "samples24h": 272,
          "samples30d": 1100,
          "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": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.elevenlabs.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:12.24079214Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "elevenlabs/elevenlabs-python",
            "version": "v2.70.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:26:21.788463226Z"
          },
          {
            "registry": "mcp-registry",
            "name": "io.elevenlabs/mcp",
            "version": "1.0.0",
            "seenAt": "2026-10-04T23:42:40.113054682Z"
          },
          {
            "registry": "npm",
            "name": "@elevenlabs/elevenlabs-js",
            "version": "2.70.0",
            "seenAt": "2026-10-04T16:26:19.471925531Z"
          },
          {
            "registry": "pypi",
            "name": "elevenlabs",
            "version": "2.70.0",
            "released": "2026-09-28",
            "seenAt": "2026-10-04T16:26:19.782214789Z"
          },
          {
            "registry": "pypi",
            "name": "elevenlabs-mcp",
            "version": "0.12.2",
            "released": "2026-08-04",
            "seenAt": "2026-10-04T16:26:19.89529303Z"
          }
        ],
        "githubStars": 3129,
        "npmWeekly": 1135260,
        "pypiWeekly": 2247596,
        "securityTxt": {
          "url": "https://elevenlabs.io/.well-known/security.txt",
          "state": "valid",
          "expires": "2027-03-01T00:00:00.000Z",
          "checkedAt": "2026-10-04T15:15:51.968224287Z"
        },
        "llmsTxt": {
          "url": "https://elevenlabs.io/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:17:54.328986649Z"
        },
        "domain": {
          "domain": "elevenlabs.io",
          "checkedAt": "2026-10-04T13:07:28.958673807Z"
        },
        "updatedAt": "2026-10-04T23:49:12.24079214Z"
      }
    },
    "summary": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against ElevenLabs Text to Speech API + MCP's 73.1 (BB). Both do speech tts. The largest gap is security \u0026 auth, 30 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts",
    "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts.md",
    "slim": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts.min.md"
  },
  "markdown": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against ElevenLabs Text to Speech API + MCP's 73.1 (BB). Both do speech tts. The largest gap is security \u0026 auth, 30 points.\n\n- Azure AI Speech text-to-speech: grade BB, 73.7/100, rank #56 of 452. Markdown https://www.anchorterminal.com/tools/azure-text-to-speech.md · JSON https://www.anchorterminal.com/api/v1/tools/azure-text-to-speech.json\n- ElevenLabs Text to Speech API + MCP: grade BB, 73.1/100, rank #61 of 452. Markdown https://www.anchorterminal.com/tools/elevenlabs-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json\n\n## Which one, for what\n\nPick Azure AI Speech text-to-speech for reliability (+10), security \u0026 auth (+30), transparency \u0026 trust (+17).\n\nPick ElevenLabs Text to Speech API + MCP for schema \u0026 documentation (+29), agent ergonomics (+7), payments \u0026 pricing (+20).\n\n## Score by category\n\n| Category | Weight | Azure AI Speech text-to-speech | ElevenLabs Text to Speech API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 80 | Azure AI Speech text-to-speech +10 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 94 | ElevenLabs Text to Speech API + MCP +29 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 82 | ElevenLabs Text to Speech API + MCP +7 |\n| Security \u0026 auth | 14% (17.5 this run) | 90 | 60 | Azure AI Speech text-to-speech +30 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | ElevenLabs Text to Speech API + MCP +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 77 | Azure AI Speech text-to-speech +3 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 88 | 71 | Azure AI Speech text-to-speech +17 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **73.7 · BB** | **73.1 · BB** | |\n\n## Facts side by side\n\n| Fact | Azure AI Speech text-to-speech | ElevenLabs Text to Speech API + MCP |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Microsoft Azure | ElevenLabs |\n| Hosted endpoint | `https://eastus.tts.speech.microsoft.com/cognitiveservices` | `https://api.elevenlabs.io/v1` |\n| Transports | HTTP | HTTP, Streamable HTTP, stdio |\n| Auth | OAuth or key | OAuth or key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (samples), SDK under Microsoft's own licence | MIT (SDKs) |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | no | yes |\n| MCP registry | not listed | `io.elevenlabs/mcp` |\n| Last release | 2026-09-28 | 2026-09-28 |\n| Popularity | 3.5k stars, 476k npm/wk, 1M PyPI/wk | 3.1k stars, 1.1M npm/wk, 2.2M PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 3.5/5 (2) |\n\n## Verdicts\n\n**Azure AI Speech text-to-speech.** Real-time synthesis keeps neither the input text nor the output audio. An Azure subscription needs a card, even for the free F0 tier.\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. Content may be used for training unless you opt out under Data use, and the opt-out only applies going forward.\n\n## Before you call either\n\n### Azure AI Speech text-to-speech\n\n1. Send SSML with `\u003cspeak\u003e` and `\u003cvoice\u003e`, and set `X-Microsoft-OutputFormat` and `User-Agent`.\n2. On 429 retry with backoff, and try the voice's home region or another region rather than asking for more quota.\n3. Keep each real-time request under 10 minutes of audio, or use batch synthesis.\n4. Use Entra ID tokens instead of resource keys where the agent runs inside Azure.\n5. Cache the voice list per region, since it returns hundreds of entries at once.\n\n### ElevenLabs Text to Speech API + MCP\n\n1. Call Eleven v4 through Text to Dialogue, not `/v1/text-to-speech`.\n2. Spell out numbers yourself on `eleven_flash_v2_5`, which doesn't normalise them by default, and turning that on is Enterprise only.\n3. On 429 read `code`, back off on `rate_limit_exceeded` and wait for running requests on `concurrent_limit_exceeded`.\n4. Keep each request under 10,000 characters on v4 and Multilingual v2, 5,000 on v3.\n5. Give the agent a key scoped to Text to Speech with a credit quota.\n\n## Other comparisons with Azure AI Speech text-to-speech or ElevenLabs Text to Speech API + MCP\n\n- [Amazon Polly vs Azure AI Speech text-to-speech](https://www.anchorterminal.com/compare/amazon-polly-vs-azure-text-to-speech.md)\n- [Amazon Polly vs ElevenLabs Text to Speech API + MCP](https://www.anchorterminal.com/compare/amazon-polly-vs-elevenlabs-tts.md)\n- [Azure AI Speech text-to-speech vs Cartesia Sonic TTS API + MCP](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-cartesia-tts.md)\n- [Azure AI Speech text-to-speech vs Deepgram Text-to-Speech (Aura-2, Flux TTS)](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-deepgram-tts.md)\n- [Azure AI Speech text-to-speech vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-murf-tts.md)\n- [Azure AI Speech text-to-speech vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-playht-tts.md)\n- [Azure AI Speech text-to-speech vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-resemble-ai-tts.md)\n- [Azure AI Speech text-to-speech vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-rime-tts.md)\n- [Azure AI Speech text-to-speech vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-soniox-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- [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- [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",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-04",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.3",
    "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": "Azure AI Speech text-to-speech vs ElevenLabs Text to Speech API + MCP",
        "url": ""
      }
    ],
    "description": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against ElevenLabs Text to Speech API + MCP's 73.1 (BB). Both do speech tts. The largest gap is security \u0026 auth, 30 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Azure AI Speech text-to-speech BB 73.7",
      "ElevenLabs Text to Speech API + MCP BB 73.1",
      "scores"
    ],
    "h1": "Azure AI Speech text-to-speech vs ElevenLabs Text to Speech API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-text-to-speech-vs-elevenlabs-tts.png",
    "path": "/compare/azure-text-to-speech-vs-elevenlabs-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure AI Speech text-to-speech vs ElevenLabs Text to Speech API + MCP",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-elevenlabs-tts"
  },
  "tokens": {
    "markdown": 1900,
    "slim": 380
  },
  "version": 1
}
