{
  "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": "murf-tts",
      "name": "Murf TTS API + MCP",
      "vendor": "Murf",
      "vendorUrl": "https://murf.ai",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Murf's API for generating speech from text.",
      "url": "https://www.anchorterminal.com/tools/murf-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/murf-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/murf-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/murf-tts.json",
      "repo": "https://github.com/murf-ai/murf-python-sdk",
      "license": "MIT (SDK and MCP server)",
      "transports": [
        "http",
        "stdio"
      ],
      "remoteUrl": "https://api.murf.ai/v1",
      "packages": [
        {
          "registry": "pypi",
          "name": "murf"
        },
        {
          "registry": "pypi",
          "name": "murf-mcp"
        }
      ],
      "auth": "api-key",
      "authNotes": "`api-key` header. A generate-token endpoint issues short-lived tokens (sent as `token`) for client-side use. The MCP server reads `MURF_API_KEY`. Streaming runs on regional hosts such as `global.api.murf.ai`, non-streaming on `api.murf.ai`.",
      "pricing": "freemium",
      "pricingNotes": "Free trial of 100,000 characters with no time limit. Pay as you go with a $2 minimum purchase. Falcon 2 is 1 cent per 1,000 characters (marketed as 1 cent a minute), Gen2 $0.03 per 1,000 characters. Enterprise contracts add volume discounts, reserved concurrency and data residency. Startups under 100 staff can apply for 50M free characters over 3 months (https://murf.ai/pricing?product=api).",
      "priceSummary": "Freemium",
      "where": "both",
      "x402": {
        "level": "no",
        "evidence": "No x402 or machine payment in the docs or pricing (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 108,
        "npmWeekly": null,
        "pypiWeekly": 669,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://murf.ai/api/docs/introduction/overview",
      "llmsTxt": "https://murf.ai/api/docs/llms.txt",
      "openapi": "https://murf.ai/api/docs/openapi.json",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "freemium",
        "free-tier",
        "closed-source",
        "python",
        "openapi",
        "llms-txt",
        "mcp",
        "streaming",
        "enterprise"
      ],
      "lastRelease": "2026-08-20",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 70.9,
        "grade": "BB",
        "agentReady": true,
        "rank": 91,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 5,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 71,
          "maintenance": 53,
          "payments": 40,
          "reliability": 90,
          "schema": 85,
          "security": 68,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "Falcon 2 costs 1 cent per 1,000 characters on pay as you go, with a $2 minimum purchase. Falcon 2 concurrency is 2 outside US-East on free and pay as you go, 5 on US-East.",
        "strengths": [
          "Falcon 2 costs 1 cent per 1,000 characters on pay as you go, with a $2 minimum purchase",
          "OpenAPI and AsyncAPI specs, llms.txt and Markdown twins of every docs page",
          "Errors page lists 7 HTTP codes, 4 WebSocket errors and 8 warnings, each with cause and fix, and tells you to back off on 429",
          "`encodedAsBase64` returns audio inline and Murf says nothing is stored",
          "SOC 2 Type II, ISO 27001 and ISO 42001 listed on the security page"
        ],
        "weaknesses": [
          "Falcon 2 concurrency is 2 outside US-East on free and pay as you go, 5 on US-East",
          "Gen2 streaming was deprecated on 2026-08-16 with 27 days' notice",
          "The security page says all data stays in AWS us-east-2, while Falcon 2 runs in 12 regions and the subprocessor list names four other clouds",
          "Download links last 72 hours per the TTS overview and 24 hours per the Enterprise FAQ",
          "Official SDK in Python only, last released 2026-03-05"
        ],
        "agentNotes": [
          "Send `locale` on every request, since `multiNativeLocale` was replaced on 2026-03-05.",
          "Split text into chunks under 3,000 characters per request.",
          "Use the US-East host for 5 concurrent Falcon 2 calls instead of 2.",
          "Set `encodedAsBase64` to get audio inline and skip the expiring download link.",
          "Back off on 429 and close WebSocket contexts with `end: true` to free slots."
        ],
        "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": 70.9
          }
        ],
        "editorialScores": {
          "ergonomics": 71,
          "maintenance": 53,
          "payments": 40,
          "reliability": 90,
          "schema": 85,
          "security": 68,
          "transparency": 52
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl -X POST https://global.api.murf.ai/v1/speech/stream -H \"api-key: $MURF_API_KEY\" \\\n  -H \"content-type: application/json\" -o hello.wav \\\n  -d '{\"text\":\"Hi, how are you doing today?\",\"voiceId\":\"Gordon\",\"locale\":\"en-US\",\"model\":\"falcon-2\"}'",
        "claudeCode": "claude mcp add murf -e MURF_API_KEY=$MURF_API_KEY -- uvx murf-mcp",
        "config": {
          "mcpServers": {
            "murf": {
              "args": [
                "murf-mcp"
              ],
              "command": "uvx",
              "env": {
                "MURF_API_KEY": "${MURF_API_KEY}"
              }
            }
          }
        }
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/murf-tts"
      },
      "sameCompany": [
        "murf-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "Falcon 2",
          "unit": "1m-chars",
          "usd": 10,
          "note": "1 cent per 1,000 characters, pay as you go"
        },
        {
          "item": "Gen2",
          "unit": "1m-chars",
          "usd": 30,
          "note": "$0.03 per 1,000 characters, pay as you go"
        }
      ],
      "provenance": {
        "legalEntity": "Murf Inc.",
        "domain": "murf.ai",
        "domainRegistered": "2020-07-17",
        "endpointOnVendorDomain": true,
        "terms": "https://murf.ai/resources/terms_of_service/",
        "privacy": "https://murf.ai/resources/privacy_policy/",
        "statusPage": "https://murf.statuspage.io",
        "changelog": "https://murf.ai/api/docs/changelog",
        "securityTxt": "none",
        "checked": "2026-10-01",
        "notes": [
          "Impressum at https://murf.ai/legal/impressum names Murf Inc., 535 Mission Street, San Francisco",
          "The status page is on Atlassian's domain, linked from https://murf.ai/api/docs/resources/rate-limits"
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/murf-tts.json",
      "live": {
        "slug": "murf-tts",
        "probe": {
          "target": "https://api.murf.ai/v1",
          "method": "get",
          "lastAt": "2026-10-04T23:48:12.249416408Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 281,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 280,
          "p95ms24h": 314,
          "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://murf.statuspage.io",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-04T23:49:19.723298438Z"
        },
        "versions": [
          {
            "registry": "github",
            "name": "murf-ai/murf-python-sdk",
            "version": "2.3.0",
            "released": "2026-03-05",
            "seenAt": "2026-10-04T16:34:04.756486902Z"
          },
          {
            "registry": "pypi",
            "name": "murf",
            "version": "2.3.0",
            "released": "2026-03-05",
            "seenAt": "2026-10-04T16:34:02.675145977Z"
          },
          {
            "registry": "pypi",
            "name": "murf-mcp",
            "version": "0.1.14",
            "released": "2026-08-20",
            "seenAt": "2026-10-04T16:34:02.860796446Z"
          }
        ],
        "githubStars": 109,
        "pypiWeekly": 688,
        "securityTxt": {
          "url": "https://murf.ai/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:48.759951224Z"
        },
        "llmsTxt": {
          "url": "https://murf.ai/api/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:01.980319662Z"
        },
        "domain": {
          "domain": "murf.ai",
          "registered": "2020-07-17",
          "source": "https://rdap.identitydigital.services/rdap/domain/murf.ai",
          "checkedAt": "2026-10-04T13:09:09.691163163Z"
        },
        "pages": [
          {
            "url": "https://murf.ai/api/docs/changelog",
            "kind": "changelog",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:05.693084471Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "5591ee084345"
          },
          {
            "url": "https://murf.ai/api/docs/changelog/2026/3/5",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:08.099479358Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "403585e8bd1c"
          },
          {
            "url": "https://murf.ai/api/docs/changelog/2026/7/20",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:10.011844451Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "9f07d2b4b9f3"
          },
          {
            "url": "https://murf.ai/pricing?product=api",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-04T15:46:11.928037108Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "e3b0c44298fc"
          },
          {
            "url": "https://murf.ai/resources/privacy_policy/",
            "kind": "privacy",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:14.329020568Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "fd6127aff3f7"
          },
          {
            "url": "https://murf.ai/resources/terms_of_service/",
            "kind": "terms",
            "status": 200,
            "checkedAt": "2026-10-04T15:46:16.119755173Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "38c0780bf0e6"
          }
        ],
        "updatedAt": "2026-10-04T23:49:19.723298438Z"
      }
    },
    "summary": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against Murf TTS API + MCP's 70.9 (BB). Both do speech tts. The largest gap is maintenance \u0026 community, 27 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-murf-tts",
    "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-murf-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-murf-tts.md",
    "slim": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-murf-tts.min.md"
  },
  "markdown": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against Murf TTS API + MCP's 70.9 (BB). Both do speech tts. The largest gap is maintenance \u0026 community, 27 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- Murf TTS API + MCP: grade BB, 70.9/100, rank #91 of 452. Markdown https://www.anchorterminal.com/tools/murf-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/murf-tts.json\n\n## Which one, for what\n\nPick Azure AI Speech text-to-speech for security \u0026 auth (+22), maintenance \u0026 community (+27), transparency \u0026 trust (+19).\n\nPick Murf TTS API + MCP for schema \u0026 documentation (+20), payments \u0026 pricing (+20).\n\n## Score by category\n\n| Category | Weight | Azure AI Speech text-to-speech | Murf TTS API + MCP | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 90 | even |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 85 | Murf TTS API + MCP +20 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 71 | Azure AI Speech text-to-speech +4 |\n| Security \u0026 auth | 14% (17.5 this run) | 90 | 68 | Azure AI Speech text-to-speech +22 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 40 | Murf TTS 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 | 53 | Azure AI Speech text-to-speech +27 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 88 | 69 | Azure AI Speech text-to-speech +19 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **73.7 · BB** | **70.9 · BB** | |\n\n## Facts side by side\n\n| Fact | Azure AI Speech text-to-speech | Murf TTS API + MCP |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Microsoft Azure | Murf |\n| Hosted endpoint | `https://eastus.tts.speech.microsoft.com/cognitiveservices` | `https://api.murf.ai/v1` |\n| Transports | HTTP | HTTP, stdio |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Freemium |\n| x402 | no | no |\n| Licence | MIT (samples), SDK under Microsoft's own licence | MIT (SDK and MCP server) |\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 | not listed |\n| Last release | 2026-09-28 | 2026-08-20 |\n| Popularity | 3.5k stars, 476k npm/wk, 1M PyPI/wk | 108 stars, 669 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**Murf TTS API + MCP.** Falcon 2 costs 1 cent per 1,000 characters on pay as you go, with a $2 minimum purchase. Falcon 2 concurrency is 2 outside US-East on free and pay as you go, 5 on US-East.\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### Murf TTS API + MCP\n\n1. Send `locale` on every request, since `multiNativeLocale` was replaced on 2026-03-05.\n2. Split text into chunks under 3,000 characters per request.\n3. Use the US-East host for 5 concurrent Falcon 2 calls instead of 2.\n4. Set `encodedAsBase64` to get audio inline and skip the expiring download link.\n5. Back off on 429 and close WebSocket contexts with `end: true` to free slots.\n\n## Other comparisons with Azure AI Speech text-to-speech or Murf TTS 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 Murf TTS API + MCP](https://www.anchorterminal.com/compare/amazon-polly-vs-murf-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 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 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 Murf TTS API + MCP](https://www.anchorterminal.com/compare/cartesia-tts-vs-murf-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/deepgram-tts-vs-murf-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- [Murf TTS API + MCP vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/murf-tts-vs-playht-tts.md)\n- [Murf TTS API + MCP vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/murf-tts-vs-resemble-ai-tts.md)\n- [Murf TTS API + MCP vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/murf-tts-vs-rime-tts.md)\n- [Murf TTS API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/murf-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 Murf TTS API + MCP",
        "url": ""
      }
    ],
    "description": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against Murf TTS API + MCP's 70.9 (BB). Both do speech tts. The largest gap is maintenance \u0026 community, 27 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Azure AI Speech text-to-speech BB 73.7",
      "Murf TTS API + MCP BB 70.9",
      "scores"
    ],
    "h1": "Azure AI Speech text-to-speech vs Murf TTS API + MCP",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-text-to-speech-vs-murf-tts.png",
    "path": "/compare/azure-text-to-speech-vs-murf-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure AI Speech text-to-speech vs Murf TTS API + MCP for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-murf-tts"
  },
  "tokens": {
    "markdown": 1750,
    "slim": 380
  },
  "version": 1
}
