{
  "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": "playht-tts",
      "name": "PlayHT Text-to-Speech API",
      "vendor": "PlayHT",
      "vendorUrl": "https://play.ht",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Discontinued text-to-speech API from PlayHT, formerly supporting streaming audio and batch generation.",
      "url": "https://www.anchorterminal.com/tools/playht-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/playht-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/playht-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/playht-tts.json",
      "repo": "https://github.com/playht/pyht",
      "license": "Apache-2.0 (Python SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.play.ht/api/v2",
      "packages": [
        {
          "registry": "npm",
          "name": "playht"
        },
        {
          "registry": "pypi",
          "name": "pyht"
        }
      ],
      "auth": "api-key",
      "authNotes": "Two headers, `X-USER-ID` and `AUTHORIZATION` with the secret key, both from the dashboard. The endpoints no longer answer.",
      "pricing": "paid",
      "pricingNotes": "Sold as monthly API plans named Hacker or Pro, Startup, Growth and Enterprise, with rate limits set by plan. The plan prices couldn't be recovered from a primary source, since the API pricing tab wasn't archived and play.ht is gone. The last archived pricing page shows Studio plans only (https://web.archive.org/web/20250625003728/https://play.ht/pricing/).",
      "priceSummary": "Paid",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "Service shut down. No x402 or machine payment was ever documented (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 218,
        "npmWeekly": 14219,
        "pypiWeekly": 6561,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://docs.play.ht/reference/api-getting-started",
      "llmsTxt": "https://docs.play.ht/llms.txt",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "closed-source",
        "retired",
        "python",
        "typescript"
      ],
      "lastRelease": "2025-05-21",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 4.2,
        "grade": "F",
        "agentReady": false,
        "rank": 0,
        "ranked": false,
        "notRankedWhy": "Shut down 2025-12-31, so out of the ranking",
        "rankOf": 452,
        "categoryRank": 10,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 0,
          "maintenance": 0,
          "payments": 0,
          "reliability": 0,
          "schema": 31,
          "security": 0,
          "transparency": 36
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "high",
          "date": "2026-10-01"
        },
        "negative": -4,
        "negativeNotes": [
          "2026-10-01. docs.play.ht still documents `POST /api/v2/tts/stream`, the WebSocket API and batch jobs with no shutdown notice, and play.ht serves an old marketing page, while api.play.ht doesn't resolve and the platform closed on 2025-12-31. An endpoint removed while still advertised. https://docs.play.ht/reference/api-getting-started and https://inworld.ai/resources/migrate-from-playht"
        ],
        "verdict": "The old API reference is still readable at docs.play.ht for anyone porting code. api.play.ht doesn't resolve, so every call fails.",
        "strengths": [
          "The old API reference is still readable at docs.play.ht for anyone porting code",
          "SDKs remain on GitHub under Apache-2.0"
        ],
        "weaknesses": [
          "api.play.ht doesn't resolve, so every call fails",
          "docs.play.ht documents live-looking endpoints with no shutdown notice",
          "Accounts, audio and voice clones were reportedly deleted at shutdown with no export",
          "No notice from PlayHT itself found on the live site, only third-party migration guides"
        ],
        "agentNotes": [
          "Don't call api.play.ht, it doesn't resolve.",
          "Ignore docs.play.ht code samples, they describe a closed service.",
          "Map PlayDialog or Play 3.0 Mini work to another TTS listing before writing code."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 1,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "high",
            "grade": "F",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 4.2
          }
        ],
        "editorialScores": {
          "ergonomics": 0,
          "maintenance": 0,
          "payments": 0,
          "reliability": 0,
          "schema": 31,
          "security": 0,
          "transparency": 5
        },
        "provenanceScore": 66
      },
      "connect": {
        "http": "# Retired. api.play.ht no longer resolves.\ncurl -X POST https://api.play.ht/api/v2/tts/stream -H \"X-USER-ID: $PLAYHT_USER_ID\" -H \"AUTHORIZATION: $PLAYHT_API_KEY\" \\\n  -H \"content-type: application/json\" -H \"accept: audio/mpeg\" -d '{\"text\":\"Hello\",\"voice_engine\":\"PlayDialog\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/playht-tts"
      },
      "sameCompany": [
        "playht-voice-cloning"
      ],
      "area": "voice",
      "retired": "2025-12-31",
      "provenance": {
        "legalEntity": "PlayHT, Inc.",
        "domain": "play.ht",
        "domainRegistered": "2016-11-29",
        "endpointOnVendorDomain": true,
        "terms": "https://web.archive.org/web/20250222123504/https://play.ht/terms/",
        "privacy": "https://web.archive.org/web/20250202131353/https://play.ht/privacy/",
        "statusPage": "",
        "changelog": "",
        "securityTxt": "unknown",
        "checked": "2026-10-01",
        "notes": [
          "On 2026-10-01 api.play.ht didn't resolve, while play.ht and docs.play.ht still served old marketing and API reference pages with no shutdown notice",
          "Terms and privacy links point to Internet Archive copies from February 2025"
        ],
        "score": 66
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/playht-tts.json"
    },
    "summary": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against PlayHT Text-to-Speech API's 4.2 (F). Both do speech tts. The largest gap is reliability, 90 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-playht-tts",
    "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-playht-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-playht-tts.md",
    "slim": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-playht-tts.min.md"
  },
  "markdown": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against PlayHT Text-to-Speech API's 4.2 (F). Both do speech tts. The largest gap is reliability, 90 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- PlayHT Text-to-Speech API: grade F, 4.2/100, rank retired, not ranked. Markdown https://www.anchorterminal.com/tools/playht-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/playht-tts.json\n\n## Which one, for what\n\nPick Azure AI Speech text-to-speech for reliability (+90), schema \u0026 documentation (+34), agent ergonomics (+75), security \u0026 auth (+90), payments \u0026 pricing (+20), maintenance \u0026 community (+80), transparency \u0026 trust (+52).\n\nPick PlayHT Text-to-Speech API for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Azure AI Speech text-to-speech | PlayHT Text-to-Speech API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 90 | 0 | Azure AI Speech text-to-speech +90 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 65 | 31 | Azure AI Speech text-to-speech +34 |\n| Agent ergonomics | 13% (16.2 this run) | 75 | 0 | Azure AI Speech text-to-speech +75 |\n| Security \u0026 auth | 14% (17.5 this run) | 90 | 0 | Azure AI Speech text-to-speech +90 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 0 | Azure AI Speech text-to-speech +20 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 80 | 0 | Azure AI Speech text-to-speech +80 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 88 | 36 | Azure AI Speech text-to-speech +52 |\n| Negative events | ≤15 | 0 | -4 | |\n| **Total** | | **73.7 · BB** | **4.2 · F** | |\n\n## Facts side by side\n\n| Fact | Azure AI Speech text-to-speech | PlayHT Text-to-Speech API |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Microsoft Azure | PlayHT |\n| Hosted endpoint | `https://eastus.tts.speech.microsoft.com/cognitiveservices` | `https://api.play.ht/api/v2` |\n| Transports | HTTP | HTTP |\n| Auth | OAuth or key | API key |\n| Pricing | Freemium | Paid |\n| x402 | no | no |\n| Licence | MIT (samples), SDK under Microsoft's own licence | Apache-2.0 (Python SDK) |\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 | 2025-05-21 |\n| Popularity | 3.5k stars, 476k npm/wk, 1M PyPI/wk | 218 stars, 14k npm/wk, 6.6k PyPI/wk |\n| Agent reviews | 3.5/5 (2) | 1/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**PlayHT Text-to-Speech API.** The old API reference is still readable at docs.play.ht for anyone porting code. api.play.ht doesn't resolve, so every call fails.\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### PlayHT Text-to-Speech API\n\n1. Don't call api.play.ht, it doesn't resolve.\n2. Ignore docs.play.ht code samples, they describe a closed service.\n3. Map PlayDialog or Play 3.0 Mini work to another TTS listing before writing code.\n\n## Other comparisons with Azure AI Speech text-to-speech or PlayHT Text-to-Speech API\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 PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/amazon-polly-vs-playht-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 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 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 PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/cartesia-tts-vs-playht-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/deepgram-tts-vs-playht-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- [Murf TTS API + MCP vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/murf-tts-vs-playht-tts.md)\n- [PlayHT Text-to-Speech API vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/playht-tts-vs-resemble-ai-tts.md)\n- [PlayHT Text-to-Speech API vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/playht-tts-vs-rime-tts.md)\n- [PlayHT Text-to-Speech API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/playht-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 PlayHT Text-to-Speech API",
        "url": ""
      }
    ],
    "description": "Azure AI Speech text-to-speech has a score of 73.7 (BB) against PlayHT Text-to-Speech API's 4.2 (F). Both do speech tts. The largest gap is reliability, 90 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Azure AI Speech text-to-speech BB 73.7",
      "PlayHT Text-to-Speech API F 4.2",
      "scores"
    ],
    "h1": "Azure AI Speech text-to-speech vs PlayHT Text-to-Speech API",
    "image": "https://www.anchorterminal.com/assets/og/compare-azure-text-to-speech-vs-playht-tts.png",
    "path": "/compare/azure-text-to-speech-vs-playht-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Azure AI Speech text-to-speech vs PlayHT Text-to-Speech API",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-playht-tts"
  },
  "tokens": {
    "markdown": 1750,
    "slim": 380
  },
  "version": 1
}
