{
  "data": {
    "category": {
      "area": "voice",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.ssml",
        "speech.languages"
      ],
      "description": "APIs that turn text into speech, streamed for live conversation or rendered for long-form audio. Compared on time to first audio, pronunciation, how natural it sounds, long-form consistency, languages and cost for a fixed script.",
      "indexed": [
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/apick-all.json",
          "kind": "mcp",
          "name": "APICK",
          "slug": "apick-all",
          "url": "https://www.anchorterminal.com/tools/apick-all"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/bananabanana-image-video.json",
          "kind": "mcp",
          "name": "BananaBanana Image, Video \u0026 Speech Generation",
          "slug": "bananabanana-image-video",
          "url": "https://www.anchorterminal.com/tools/bananabanana-image-video"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/studiomeyer-video.json",
          "kind": "mcp",
          "name": "StudioMeyer Video",
          "slug": "studiomeyer-video",
          "url": "https://www.anchorterminal.com/tools/studiomeyer-video"
        },
        {
          "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/unlimitedtts-tts.json",
          "kind": "mcp",
          "name": "UnlimitedTTS",
          "slug": "unlimitedtts-tts",
          "url": "https://www.anchorterminal.com/tools/unlimitedtts-tts"
        }
      ],
      "indexedCount": 4,
      "json": "https://www.anchorterminal.com/categories/text-to-speech.json",
      "name": "Text-to-speech",
      "slug": "text-to-speech",
      "test": "One fixed script through every API. We measure time to first audio, check pronunciation of names, numbers and acronyms, judge naturalness blind, listen for drift across a long passage, and price the whole script.",
      "title": "Text-to-speech APIs for AI agents",
      "toolCount": 10,
      "tools": [
        "amazon-polly",
        "azure-text-to-speech",
        "elevenlabs-tts",
        "deepgram-tts",
        "murf-tts",
        "cartesia-tts",
        "soniox-tts",
        "rime-tts",
        "resemble-ai-tts",
        "playht-tts"
      ],
      "url": "https://www.anchorterminal.com/categories/text-to-speech"
    },
    "tools": [
      {
        "slug": "amazon-polly",
        "name": "Amazon Polly",
        "vendor": "Amazon Web Services",
        "vendorUrl": "https://aws.amazon.com/polly/",
        "kind": "model",
        "category": "text-to-speech",
        "summary": "AWS's speech synthesis API with four engines (standard, neural, long-form and generative) and about 110 voices in 42 languages and variants.",
        "url": "https://www.anchorterminal.com/tools/amazon-polly",
        "markdownUrl": "https://www.anchorterminal.com/tools/amazon-polly.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/amazon-polly.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/amazon-polly.json",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://polly.us-east-1.amazonaws.com/v1",
        "packages": [
          {
            "registry": "npm",
            "name": "@aws-sdk/client-polly"
          },
          {
            "registry": "pypi",
            "name": "boto3"
          }
        ],
        "auth": "api-key",
        "authNotes": "AWS Signature Version 4 with IAM access keys or a role. Regional endpoints `polly.\u003cregion\u003e.amazonaws.com`.",
        "pricing": "usage",
        "pricingNotes": "$4 per 1M characters for standard voices, $16 neural, $30 generative and $100 long-form. SSML tags aren't billed. Accounts opened before 2025-07-15 get 5M standard characters a month (and 1M neural for 12 months), newer accounts get Free Tier credits instead (https://aws.amazon.com/polly/pricing/).",
        "priceSummary": "Pay per use",
        "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": null,
          "npmWeekly": 743201,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.aws.amazon.com/polly/latest/dg/what-is.html",
        "llmsTxt": "https://docs.aws.amazon.com/polly/latest/dg/llms.txt",
        "capabilities": [
          "speech.tts",
          "speech.streaming",
          "speech.voices",
          "speech.ssml",
          "speech.languages"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "python",
          "typescript",
          "enterprise",
          "streaming",
          "batch",
          "async-jobs",
          "llms-txt",
          "card-required"
        ],
        "lastRelease": "2026-08-12",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 75.8,
          "grade": "BB",
          "agentReady": true,
          "rank": 29,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 1,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 82,
            "maintenance": 50,
            "payments": 20,
            "reliability": 100,
            "schema": 90,
            "security": 80,
            "transparency": 80
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "high",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "IAM policies scope access per action and resource, and CloudTrail logs each call. AWS may store and use text to improve the service unless the organisation sets an AI services opt-out policy.",
          "strengths": [
            "IAM policies scope access per action and resource, and CloudTrail logs each call",
            "Quotas published per operation and engine, with backoff and jitter guidance for throttling",
            "Covered by the Amazon Machine Learning Language SLA",
            "Standard voices at $4 and neural at $16 per 1M characters",
            "Typed exceptions per action and a public service model in every AWS SDK"
          ],
          "weaknesses": [
            "AWS may store and use text to improve the service unless the organisation sets an AI services opt-out policy",
            "A new account needs a card, and the monthly free characters only apply to accounts opened before 2025-07-15",
            "Neural, long-form and generative synthesis is limited to 8 requests a second by default",
            "Generative voices support only part of SSML",
            "No dated service change since 2026-08-12"
          ],
          "agentNotes": [
            "Keep `SynthesizeSpeech` under 3,000 billed characters, or use `StartSpeechSynthesisTask` for longer text.",
            "Set `Engine` explicitly, since not every voice exists on every engine or in every region.",
            "Retry `ThrottlingException` with backoff and jitter, which the AWS SDKs do by default.",
            "Check the generative SSML tag list before porting neural SSML.",
            "Ask for `OutputFormat` `json` with speech marks when you need word timings."
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 8,
          "avgRating": 4,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "high",
              "grade": "BB",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 75.8
            }
          ],
          "editorialScores": {
            "ergonomics": 82,
            "maintenance": 50,
            "payments": 20,
            "reliability": 100,
            "schema": 90,
            "security": 80,
            "transparency": 65
          },
          "provenanceScore": 95
        },
        "connect": {
          "install": "pip install boto3   # or: npm i @aws-sdk/client-polly",
          "http": "curl -X POST \"https://polly.us-east-1.amazonaws.com/v1/speech\" \\\n  --aws-sigv4 \"aws:amz:us-east-1:polly\" --user \"$AWS_ACCESS_KEY_ID:$AWS_SECRET_ACCESS_KEY\" \\\n  -H \"content-type: application/json\" -o speech.mp3 \\\n  -d '{\"Engine\":\"neural\",\"VoiceId\":\"Joanna\",\"OutputFormat\":\"mp3\",\"Text\":\"Your table is booked for seven.\"}'"
        },
        "letme": {
          "capability": "https://letme.dev/speech.tts",
          "tool": "https://letme.dev/amazon-polly"
        },
        "sameCompany": [
          "amazon-bedrock-guardrails",
          "amazon-transcribe",
          "aws-secrets-manager",
          "aws-mcp-servers",
          "amazon-ses",
          "amazon-translate"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Standard voices",
            "unit": "1m-chars",
            "usd": 4
          },
          {
            "item": "Neural voices",
            "unit": "1m-chars",
            "usd": 16
          },
          {
            "item": "Generative voices",
            "unit": "1m-chars",
            "usd": 30
          },
          {
            "item": "Long-form voices",
            "unit": "1m-chars",
            "usd": 100
          }
        ],
        "provenance": {
          "legalEntity": "Amazon Web Services, Inc.",
          "domain": "amazon.com",
          "domainRegistered": "1994-11-01",
          "domainNote": "The endpoints are on amazonaws.com (registered 2005-08-18) and api.aws, both AWS domains. The security.txt on aws.amazon.com passed its Expires date on 2026-09-24.",
          "endpointOnVendorDomain": true,
          "terms": "https://aws.amazon.com/service-terms/",
          "privacy": "https://aws.amazon.com/privacy/",
          "statusPage": "https://health.aws.amazon.com/health/status",
          "changelog": "https://docs.aws.amazon.com/polly/latest/dg/doc-history.html",
          "securityTxt": "expired",
          "checked": "2026-09-30",
          "score": 95
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/amazon-polly.json",
        "live": {
          "slug": "amazon-polly",
          "probe": {
            "target": "https://polly.us-east-1.amazonaws.com/v1",
            "method": "get",
            "lastAt": "2026-10-04T22:35:18.44719408Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 255,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 253,
            "p95ms24h": 298,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://health.aws.amazon.com/health/status",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T13:55:53.179828833Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@aws-sdk/client-polly",
              "version": "3.1146.0",
              "seenAt": "2026-10-04T16:20:04.158471769Z"
            },
            {
              "registry": "pypi",
              "name": "boto3",
              "version": "1.43.108",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:20:05.799588968Z"
            }
          ],
          "npmWeekly": 810846,
          "pypiWeekly": 577776836,
          "securityTxt": {
            "url": "https://amazon.com/.well-known/security.txt",
            "state": "valid",
            "checkedAt": "2026-10-04T15:15:49.458098289Z"
          },
          "llmsTxt": {
            "url": "https://docs.aws.amazon.com/polly/latest/dg/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:14.894515439Z"
          },
          "domain": {
            "domain": "amazon.com",
            "registered": "1994-11-01",
            "source": "https://rdap.verisign.com/com/v1/domain/amazon.com",
            "checkedAt": "2026-10-04T13:06:18.739682554Z"
          },
          "pages": [
            {
              "url": "https://docs.aws.amazon.com/polly/latest/dg/doc-history.html",
              "kind": "changelog",
              "status": 304,
              "checkedAt": "2026-10-04T15:43:16.374349241Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "70fe277f702a"
            },
            {
              "url": "https://aws.amazon.com/polly/pricing/",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:41:28.654188145Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "3d9521893777"
            },
            {
              "url": "https://aws.amazon.com/privacy/",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-01T13:11:21.687931657Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "6ebd6be5615f"
            },
            {
              "url": "https://aws.amazon.com/service-terms/",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-01T13:11:23.703347826Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "c2276020bd07"
            }
          ],
          "updatedAt": "2026-10-04T22:35:18.44719408Z"
        }
      },
      {
        "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-04T22:35:19.253988638Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 256,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 257,
            "p95ms24h": 304,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "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-04T22:35:19.253988638Z"
        }
      },
      {
        "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-04T22:35:22.815294677Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 112,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 118,
            "p95ms24h": 157,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.elevenlabs.io",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-04T22:33:53.060117884Z"
          },
          "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-03T23:29:28.630222764Z"
            },
            {
              "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-04T22:35:22.815294677Z"
        }
      },
      {
        "slug": "deepgram-tts",
        "name": "Deepgram Text-to-Speech (Aura-2, Flux TTS)",
        "vendor": "Deepgram",
        "vendorUrl": "https://deepgram.com",
        "kind": "model",
        "category": "text-to-speech",
        "summary": "Deepgram's text-to-speech API for generating spoken audio.",
        "url": "https://www.anchorterminal.com/tools/deepgram-tts",
        "markdownUrl": "https://www.anchorterminal.com/tools/deepgram-tts.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/deepgram-tts.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/deepgram-tts.json",
        "repo": "https://github.com/deepgram/deepgram-python-sdk",
        "license": "MIT (SDKs)",
        "transports": [
          "http",
          "streamable-http",
          "stdio",
          "sse"
        ],
        "remoteUrl": "https://api.deepgram.com/v1",
        "packages": [
          {
            "registry": "npm",
            "name": "@deepgram/sdk"
          },
          {
            "registry": "pypi",
            "name": "deepgram-sdk"
          },
          {
            "registry": "pypi",
            "name": "deepctl"
          }
        ],
        "auth": "api-key",
        "authNotes": "`Authorization: Token \u003ckey\u003e` header on REST and WebSocket calls. Short-lived JWTs (30-second TTL) from the token endpoint for browsers. The `dg` CLI MCP server uses `dg login` credentials or `DEEPGRAM_API_KEY`. The docs MCP needs no key.",
        "pricing": "usage",
        "pricingNotes": "$200 free credit with no card, then pay as you go. Flux TTS $0.045 per 1,000 characters, Aura-2 $0.030, Aura-1 $0.015. Growth (from $4,000 a year prepaid) cuts these to $0.0405, $0.027 and $0.0135. A matching-credit offer on Flux TTS runs to 2026-12-31, capped at $500 (https://deepgram.com/pricing).",
        "priceSummary": "Pay per use",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402 or machine payment in the docs or pricing. Card or prepaid credits only (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 468,
          "npmWeekly": 1123798,
          "pypiWeekly": 805026,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://developers.deepgram.com/docs/tts-models-languages-overview",
        "llmsTxt": "https://developers.deepgram.com/llms.txt",
        "openapi": "https://developers.deepgram.com/openapi.json",
        "capabilities": [
          "speech.tts",
          "speech.streaming",
          "speech.voices",
          "speech.languages"
        ],
        "tags": [
          "hosted",
          "no-card",
          "closed-source",
          "python",
          "typescript",
          "openapi",
          "llms-txt",
          "mcp",
          "streaming",
          "batch",
          "enterprise",
          "self-hosted"
        ],
        "lastRelease": "2026-09-29",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 73,
          "grade": "BB",
          "agentReady": true,
          "rank": 63,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 4,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 82,
            "maintenance": 73,
            "payments": 40,
            "reliability": 70,
            "schema": 95,
            "security": 70,
            "transparency": 75
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "high",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "OpenAPI 3.1 and AsyncAPI files, llms.txt and Markdown pages. Requests can be kept for training unless each one sets `mip_opt_out=true`.",
          "strengths": [
            "OpenAPI 3.1 and AsyncAPI files, llms.txt and Markdown pages",
            "Flux TTS's Interrupt event returns `text_spoken` and `text_remaining` on barge-in",
            "Keys carry roles and scopes, and browser tokens live 30 seconds",
            "Per-request logs through `GET /v1/projects/{project_id}/requests`, filterable by date and status",
            "$200 credit with no card, then Aura-2 at $0.030 per 1,000 characters"
          ],
          "weaknesses": [
            "Requests can be kept for training unless each one sets `mip_opt_out=true`",
            "Flux TTS is English only and capped at 5 concurrent streams in the EU, Australia and India below Enterprise",
            "No SSML, and Flux TTS strips other vendors' tags with a warning",
            "Elevated Flux TTS errors for about four hours on 25 September 2026",
            "Aura-2 REST requests stop at 2,000 characters"
          ],
          "agentNotes": [
            "Set `mip_opt_out=true` on every request if the text mustn't be kept for training.",
            "Split Aura-2 REST text under 2,000 characters or expect a 413.",
            "Pass `model` on `/v2/speak`, where it's required.",
            "Strip SSML before sending, since it's removed with an `INPUT_MARKUP_STRIPPED` warning.",
            "Back off exponentially on 429 and keep traffic in one project."
          ],
          "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
            }
          ],
          "editorialScores": {
            "ergonomics": 82,
            "maintenance": 73,
            "payments": 40,
            "reliability": 70,
            "schema": 95,
            "security": 70,
            "transparency": 60
          },
          "provenanceScore": 90
        },
        "connect": {
          "http": "curl \"https://api.deepgram.com/v1/speak?model=aura-2-thalia-en\" \\\n  -H \"Authorization: Token $DEEPGRAM_API_KEY\" -H \"content-type: application/json\" \\\n  -d '{\"text\":\"Hello, how are you?\"}' -o hello.mp3",
          "claudeCode": "claude mcp add deepgram-docs --transport http https://api.dx.deepgram.com/kapa/mcp",
          "config": {
            "mcpServers": {
              "deepgram": {
                "args": [
                  "mcp"
                ],
                "command": "dg",
                "env": {
                  "DEEPGRAM_API_KEY": "${DEEPGRAM_API_KEY}"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/speech.tts",
          "tool": "https://letme.dev/deepgram-tts"
        },
        "sameCompany": [
          "deepgram-stt",
          "deepgram-voice-agent"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Flux TTS",
            "unit": "1m-chars",
            "usd": 45,
            "note": "pay as you go, $0.045 per 1,000 characters"
          },
          {
            "item": "Aura-2",
            "unit": "1m-chars",
            "usd": 30,
            "note": "pay as you go"
          },
          {
            "item": "Aura-1",
            "unit": "1m-chars",
            "usd": 15,
            "note": "pay as you go"
          },
          {
            "item": "Aura-2 on Growth",
            "unit": "1m-chars",
            "usd": 27,
            "note": "prepaid annual plan from $4,000"
          }
        ],
        "provenance": {
          "legalEntity": "Deepgram, Inc.",
          "domain": "deepgram.com",
          "domainRegistered": "2016-01-28",
          "endpointOnVendorDomain": true,
          "terms": "https://deepgram.com/terms",
          "privacy": "https://deepgram.com/privacy",
          "statusPage": "https://status.deepgram.com",
          "changelog": "https://developers.deepgram.com/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "score": 90
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/deepgram-tts.json",
        "live": {
          "slug": "deepgram-tts",
          "probe": {
            "target": "https://api.deepgram.com/v1",
            "method": "get",
            "lastAt": "2026-10-04T22:35:21.963645645Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 504,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 347,
            "p95ms24h": 523,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.deepgram.com",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-04T22:33:51.067715439Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "deepgram/deepgram-python-sdk",
              "version": "v7.12.0",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:25:18.900755205Z"
            },
            {
              "registry": "npm",
              "name": "@deepgram/sdk",
              "version": "5.14.0",
              "seenAt": "2026-10-04T16:25:16.604084571Z"
            },
            {
              "registry": "pypi",
              "name": "deepctl",
              "version": "0.3.1",
              "released": "2026-09-29",
              "seenAt": "2026-10-04T16:25:17.004312351Z"
            },
            {
              "registry": "pypi",
              "name": "deepgram-sdk",
              "version": "7.12.0",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:25:16.891210762Z"
            }
          ],
          "githubStars": 468,
          "npmWeekly": 1147181,
          "pypiWeekly": 806541,
          "securityTxt": {
            "url": "https://deepgram.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:16:00.338324598Z"
          },
          "llmsTxt": {
            "url": "https://developers.deepgram.com/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:31.890004033Z"
          },
          "domain": {
            "domain": "deepgram.com",
            "registered": "2016-01-28",
            "source": "https://rdap.verisign.com/com/v1/domain/deepgram.com",
            "checkedAt": "2026-10-04T13:03:28.939824686Z"
          },
          "updatedAt": "2026-10-04T22:35:21.963645645Z"
        }
      },
      {
        "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-04T22:35:27.244559014Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 273,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 280,
            "p95ms24h": 314,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://murf.statuspage.io",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-04T22:34:00.79447396Z"
          },
          "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-04T22:35:27.244559014Z"
        }
      },
      {
        "slug": "cartesia-tts",
        "name": "Cartesia Sonic TTS API + MCP",
        "vendor": "Cartesia",
        "vendorUrl": "https://cartesia.ai",
        "kind": "model",
        "category": "text-to-speech",
        "summary": "Sonic text-to-speech, currently `sonic-3.6` in 44 languages, over `/tts/bytes`, `/tts/sse` and a WebSocket that takes streamed LLM text with contexts and word timestamps.",
        "url": "https://www.anchorterminal.com/tools/cartesia-tts",
        "markdownUrl": "https://www.anchorterminal.com/tools/cartesia-tts.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/cartesia-tts.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/cartesia-tts.json",
        "repo": "https://github.com/cartesia-ai/cartesia-python",
        "license": "Apache-2.0 (SDKs)",
        "transports": [
          "http",
          "streamable-http",
          "stdio"
        ],
        "remoteUrl": "https://api.cartesia.ai",
        "packages": [
          {
            "registry": "npm",
            "name": "@cartesia/cartesia-js"
          },
          {
            "registry": "pypi",
            "name": "cartesia"
          },
          {
            "registry": "pypi",
            "name": "cartesia-mcp"
          }
        ],
        "auth": "mixed",
        "authNotes": "`Authorization: Bearer` API key plus a required `Cartesia-Version` date header (currently `2026-08-14`). Browsers should use short-lived access tokens minted server-side. The hosted MCP at `https://mcp.cartesia.ai/mcp` signs in through the Playground and creates an MCP key. The local `cartesia-mcp` reads `CARTESIA_API_KEY`.",
        "pricing": "freemium",
        "pricingNotes": "TTS costs about 1 credit a character, charged only on successful requests. Free has 20,000 credits a month (about 27 minutes of Sonic 3.6), Pro $5 100,000, Startup $49 1.25M and Scale $299 8M. Overages, if enabled, cost $65 per 1M credits on Pro, $45 on Startup and $38 on Scale. Commercial use starts at Pro. Unused credits roll over up to 2 times the monthly amount (https://cartesia.ai/pricing).",
        "priceSummary": "$5 / mo",
        "where": "both",
        "x402": {
          "level": "no",
          "evidence": "No x402 or machine payment in the docs or pricing (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": 15,
        "popularity": {
          "githubStars": 133,
          "npmWeekly": 166023,
          "pypiWeekly": 176771,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.cartesia.ai/build-with-cartesia/tts-models/latest",
        "llmsTxt": "https://docs.cartesia.ai/llms.txt",
        "capabilities": [
          "speech.tts",
          "speech.streaming",
          "speech.voices",
          "speech.ssml",
          "speech.languages"
        ],
        "tags": [
          "hosted",
          "freemium",
          "free-tier",
          "closed-source",
          "python",
          "typescript",
          "llms-txt",
          "mcp",
          "streaming",
          "enterprise"
        ],
        "lastRelease": "2026-09-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 64.2,
          "grade": "B",
          "agentReady": false,
          "rank": 187,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 6,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 65,
            "maintenance": 79,
            "payments": 30,
            "reliability": 63,
            "schema": 86,
            "security": 58,
            "transparency": 71
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "WebSocket input accepts streamed LLM text with contexts, flushing and word timestamps. Five TTS incidents on the status page between 29 July and 21 August 2026.",
          "strengths": [
            "WebSocket input accepts streamed LLM text with contexts, flushing and word timestamps",
            "Dated model snapshots such as `sonic-3.6-2026-08-27` never change, and `Cartesia-Version` pins the API shape",
            "OpenAPI and AsyncAPI files per API version listed in llms.txt",
            "Short-lived access tokens with TTS, STT and agent grants for browser clients",
            "Deprecations dated in the changelog, Sonic-2 and Sonic Turbo sunset after 2026-10-20"
          ],
          "weaknesses": [
            "Five TTS incidents on the status page between 29 July and 21 August 2026",
            "TTS concurrency is 2 on Free, 3 on Pro, 5 on Startup and 15 on Scale",
            "The Terms allow training on inputs and outputs unless you opt out by form",
            "Zero data retention is Enterprise only",
            "No SLA, and no error responses documented for the TTS endpoints"
          ],
          "agentNotes": [
            "Send the `Cartesia-Version` header on every request.",
            "Pin a dated snapshot such as `sonic-3.6-2026-08-27` if output must not change.",
            "Move off `sonic-2`, `sonic-turbo` and `sonic-3-2025-10-27` before 2026-10-20.",
            "Expect a 429 at the plan's concurrency limit and queue requests yourself.",
            "Mint a short-lived access token for browser clients instead of shipping the API key."
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 64.2
            }
          ],
          "editorialScores": {
            "ergonomics": 65,
            "maintenance": 79,
            "payments": 30,
            "reliability": 63,
            "schema": 86,
            "security": 58,
            "transparency": 60
          },
          "provenanceScore": 82
        },
        "connect": {
          "http": "curl -X POST https://api.cartesia.ai/tts/bytes -H \"Authorization: Bearer $CARTESIA_API_KEY\" \\\n  -H \"Cartesia-Version: 2026-08-14\" -H \"content-type: application/json\" -o speech.wav \\\n  -d '{\"model_id\":\"sonic-3.6\",\"transcript\":\"Your table is booked for seven.\",\"voice\":{\"id\":\"47c38ca4-5f35-497b-b1a3-415245fb35e1\"},\"output_format\":{\"container\":\"wav\",\"encoding\":\"pcm_s16le\",\"sample_rate\":44100}}'",
          "claudeCode": "claude mcp add --transport http --scope user cartesia https://mcp.cartesia.ai/mcp",
          "config": {
            "mcpServers": {
              "cartesia": {
                "args": [
                  "cartesia-mcp"
                ],
                "command": "uvx",
                "env": {
                  "CARTESIA_API_KEY": "${CARTESIA_API_KEY}"
                }
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/speech.tts",
          "tool": "https://letme.dev/cartesia-tts"
        },
        "sameCompany": [
          "cartesia-voice-cloning"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Sonic TTS overage on Pro",
            "unit": "1m-chars",
            "usd": 65,
            "note": "about 1 credit a character, $65 per 1M credits"
          },
          {
            "item": "Sonic TTS overage on Startup",
            "unit": "1m-chars",
            "usd": 45
          },
          {
            "item": "Sonic TTS overage on Scale",
            "unit": "1m-chars",
            "usd": 38
          },
          {
            "item": "Pro plan",
            "unit": "month",
            "usd": 5,
            "note": "100,000 credits"
          },
          {
            "item": "Startup plan",
            "unit": "month",
            "usd": 49,
            "note": "1.25M credits"
          },
          {
            "item": "Scale plan",
            "unit": "month",
            "usd": 299,
            "note": "8M credits"
          }
        ],
        "provenance": {
          "legalEntity": "Cartesia AI, Inc.",
          "domain": "cartesia.ai",
          "domainRegistered": "2023-05-10",
          "endpointOnVendorDomain": true,
          "terms": "https://www.cartesia.ai/legal/terms",
          "privacy": "https://www.cartesia.ai/legal/privacy",
          "statusPage": "https://status.cartesia.ai",
          "changelog": "https://docs.cartesia.ai/changelog/2026",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "score": 82
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/cartesia-tts.json",
        "live": {
          "slug": "cartesia-tts",
          "probe": {
            "target": "https://api.cartesia.ai",
            "method": "get",
            "lastAt": "2026-10-04T22:35:20.867977358Z",
            "lastOk": true,
            "lastStatus": 200,
            "lastMs": 147,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 62,
            "p95ms24h": 143,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.cartesia.ai",
            "indicator": "none",
            "summary": "All Systems Operational",
            "checkedAt": "2026-10-04T22:33:48.104218594Z"
          },
          "versions": [
            {
              "registry": "github",
              "name": "cartesia-ai/cartesia-python",
              "version": "v4.2.0",
              "released": "2026-09-02",
              "seenAt": "2026-10-04T16:23:11.882857509Z"
            },
            {
              "registry": "npm",
              "name": "@cartesia/cartesia-js",
              "version": "4.2.0",
              "seenAt": "2026-10-04T16:23:08.936594762Z"
            },
            {
              "registry": "pypi",
              "name": "cartesia",
              "version": "4.2.0",
              "released": "2026-09-02",
              "seenAt": "2026-10-04T16:23:09.798087978Z"
            },
            {
              "registry": "pypi",
              "name": "cartesia-mcp",
              "version": "0.26.0",
              "released": "2026-09-30",
              "seenAt": "2026-10-04T16:23:09.984461576Z"
            }
          ],
          "githubStars": 133,
          "npmWeekly": 108942,
          "pypiWeekly": 188249,
          "securityTxt": {
            "url": "https://cartesia.ai/.well-known/security.txt",
            "state": "valid",
            "expires": "2027-10-03T00:00:00.000Z",
            "checkedAt": "2026-10-04T15:15:57.920556028Z"
          },
          "llmsTxt": {
            "url": "https://docs.cartesia.ai/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:17:23.748277625Z"
          },
          "domain": {
            "domain": "cartesia.ai",
            "registered": "2023-05-10",
            "source": "https://rdap.identitydigital.services/rdap/domain/cartesia.ai",
            "checkedAt": "2026-10-04T13:04:05.26596839Z"
          },
          "pages": [
            {
              "url": "https://docs.cartesia.ai/changelog/2026",
              "kind": "changelog",
              "status": 200,
              "checkedAt": "2026-10-04T15:43:22.154553148Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "56a07dda1f5d"
            },
            {
              "url": "https://cartesia.ai/pricing",
              "kind": "pricing",
              "status": 200,
              "checkedAt": "2026-10-04T15:41:44.64571005Z",
              "changedAt": "2026-10-03T15:29:56.901063562Z",
              "fingerprint": "3e49bcd49fcf"
            },
            {
              "url": "https://www.cartesia.ai/legal/privacy",
              "kind": "privacy",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:41.751185158Z",
              "changedAt": "2026-10-03T15:37:37.717663201Z",
              "fingerprint": "6fea00c7255f"
            },
            {
              "url": "https://www.cartesia.ai/legal/terms",
              "kind": "terms",
              "status": 200,
              "checkedAt": "2026-10-04T15:49:43.846741137Z",
              "changedAt": "2026-10-03T15:37:39.779484537Z",
              "fingerprint": "c899e30661ba"
            }
          ],
          "updatedAt": "2026-10-04T22:35:20.867977358Z"
        }
      },
      {
        "slug": "soniox-tts",
        "name": "Soniox Text-to-Speech",
        "vendor": "Soniox",
        "vendorUrl": "https://soniox.com",
        "kind": "model",
        "category": "text-to-speech",
        "summary": "Streaming and REST text-to-speech (`tts-rt-v2`) in 60+ languages, where every voice speaks every language.",
        "url": "https://www.anchorterminal.com/tools/soniox-tts",
        "markdownUrl": "https://www.anchorterminal.com/tools/soniox-tts.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/soniox-tts.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/soniox-tts.json",
        "repo": "https://github.com/soniox/soniox-python",
        "license": "Apache-2.0 (Python SDK)",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://tts-rt.soniox.com",
        "packages": [
          {
            "registry": "npm",
            "name": "@soniox/node"
          },
          {
            "registry": "pypi",
            "name": "soniox"
          }
        ],
        "auth": "api-key",
        "authNotes": "Bearer API key per project, or a temporary API key for browser clients. REST at `POST https://tts-rt.soniox.com/tts`, WebSocket at `wss://tts-rt.soniox.com/tts-websocket`. Regional hosts for the EU, Japan and India.",
        "pricing": "usage",
        "pricingNotes": "Token-based pay-as-you-go. Input text $4.00 per 1M tokens and output audio $21.50 per 1M tokens, which Soniox puts at about $0.70 an hour of generated speech (1 character is about 0.3 input tokens, 1 hour of audio about 30,000 output tokens). No free credits for new sign-ups (https://soniox.com/pricing).",
        "priceSummary": "Pay per use",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or machine payment in the docs or pricing. Billed to a funded account (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 12,
          "npmWeekly": 22200,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://soniox.com/docs/tts/get-started",
        "llmsTxt": "https://soniox.com/docs/llms.txt",
        "capabilities": [
          "speech.tts",
          "speech.streaming",
          "speech.voices",
          "speech.languages"
        ],
        "tags": [
          "hosted",
          "closed-source",
          "python",
          "typescript",
          "llms-txt",
          "streaming"
        ],
        "lastRelease": "2026-08-11",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 63.9,
          "grade": "B",
          "agentReady": false,
          "rank": 193,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 7,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 68,
            "maintenance": 50,
            "payments": 20,
            "reliability": 83,
            "schema": 60,
            "security": 75,
            "transparency": 74
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "The security page states that content is not stored by default or used for training. Audio output is capped at two minutes per request or stream.",
          "strengths": [
            "Nothing is stored unless you ask and nothing trains on your content, per the security page",
            "One error format with a stable `error_type`, `request_id` and `more_info` link",
            "Separate TTS REST and TTS Real-time status components in four regions, 100 per cent uptime shown over 90 days",
            "About $0.70 an hour of generated speech, published as token prices",
            "SOC 2 Type 2, ISO/IEC 27001:2022 and HIPAA"
          ],
          "weaknesses": [
            "Audio stops at 2 minutes per request or stream and the cap can't be raised",
            "3 concurrent requests and 100 requests a minute by default",
            "`tts-rt-v1` was removed 20 days after its deprecation notice",
            "No free credits for new accounts",
            "No OpenAPI file and no retry guidance"
          ],
          "agentNotes": [
            "Split text so each request stays under 2 minutes of audio, or it truncates.",
            "Branch on `error_type`, not the message, and back off on `limit_exceeded`.",
            "Use a temporary API key for browser clients.",
            "Use bracketed audio tags such as `[whispering]` instead of SSML.",
            "Pick the regional host (EU, Japan, India) that matches your data residency."
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "B",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 63.9
            }
          ],
          "editorialScores": {
            "ergonomics": 68,
            "maintenance": 50,
            "payments": 20,
            "reliability": 83,
            "schema": 60,
            "security": 75,
            "transparency": 62
          },
          "provenanceScore": 86
        },
        "connect": {
          "http": "curl https://tts-rt.soniox.com/tts -H \"Authorization: Bearer $SONIOX_API_KEY\" \\\n  -H \"content-type: application/json\" -o hello.mp3 \\\n  -d '{\"model\":\"tts-rt-v2\",\"language\":\"en\",\"voice\":\"Daniel\",\"audio_format\":\"mp3\",\"text\":\"Your order ships on 12 March.\"}'"
        },
        "letme": {
          "capability": "https://letme.dev/speech.tts",
          "tool": "https://letme.dev/soniox-tts"
        },
        "sameCompany": [
          "soniox-stt",
          "soniox-voice-cloning"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "tts-rt-v2",
            "unit": "audio-minute",
            "usd": 0.0117,
            "note": "per minute of generated speech, Soniox's estimate of $0.70 an hour, token-billed"
          }
        ],
        "provenance": {
          "legalEntity": "Soniox Inc.",
          "domain": "soniox.com",
          "domainRegistered": "2020-03-23",
          "endpointOnVendorDomain": true,
          "terms": "https://soniox.com/policies/terms-of-service",
          "privacy": "https://soniox.com/policies/privacy-policy",
          "statusPage": "https://status.soniox.com",
          "changelog": "https://soniox.com/docs/tts/models",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "Terms and privacy policy last updated 2026-06-29. The company address is Foster City, California"
          ],
          "score": 86
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/soniox-tts.json",
        "live": {
          "slug": "soniox-tts",
          "probe": {
            "target": "https://tts-rt.soniox.com",
            "method": "get",
            "lastAt": "2026-10-04T22:35:31.453155315Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 307,
            "authRequired": false,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 313,
            "p95ms24h": 406,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.soniox.com",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T17:31:32.080499897Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@soniox/node",
              "version": "2.3.0",
              "seenAt": "2026-10-04T16:40:15.547086792Z"
            },
            {
              "registry": "pypi",
              "name": "soniox",
              "version": "2.10.0",
              "released": "2026-10-02",
              "seenAt": "2026-10-04T16:40:15.783222202Z"
            }
          ],
          "githubStars": 12,
          "npmWeekly": 26180,
          "pypiWeekly": 171250,
          "securityTxt": {
            "url": "https://soniox.com/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:59.988207849Z"
          },
          "llmsTxt": {
            "url": "https://soniox.com/docs/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:16.442369832Z"
          },
          "domain": {
            "domain": "soniox.com",
            "registered": "2020-03-23",
            "source": "https://rdap.verisign.com/com/v1/domain/soniox.com",
            "checkedAt": "2026-10-04T13:05:00.531232044Z"
          },
          "pages": [
            {
              "url": "https://soniox.com/docs/tts/models",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:48:00.470722045Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "a63d4a072013"
            }
          ],
          "updatedAt": "2026-10-04T22:35:31.453155315Z"
        }
      },
      {
        "slug": "rime-tts",
        "name": "Rime TTS API + MCP",
        "vendor": "Rime Labs",
        "vendorUrl": "https://www.rime.ai",
        "kind": "model",
        "category": "text-to-speech",
        "summary": "Rime's streaming text-to-speech for voice agents.",
        "url": "https://www.anchorterminal.com/tools/rime-tts",
        "markdownUrl": "https://www.anchorterminal.com/tools/rime-tts.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/rime-tts.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/rime-tts.json",
        "transports": [
          "http",
          "streamable-http"
        ],
        "remoteUrl": "https://users.rime.ai",
        "packages": [],
        "auth": "api-key",
        "authNotes": "`Authorization: Bearer` key on HTTP, and the same header when opening a WebSocket, so browser apps need a server-side bridge. The hosted MCP at `https://mcp.rime.ai` reads the key per request (`Authorization` or `X-Rime-Api-Key`) and never stores it. Its catalogue and code-generation tools work without a key.",
        "pricing": "freemium",
        "pricingNotes": "Usage-based on Starter. Coda costs $0.05 per 1,000 characters ($50 per 1M) and Mist v3 $0.03 per 1,000 ($30 per 1M), roughly $0.05 and $0.03 a minute of audio. New accounts get free usage with no card, though the page says about 800 minutes (800k characters) in one place and 3,000 minutes in its FAQ. Enterprise is custom, with unlimited concurrency and clones, SLAs and cloud, VPC or on-prem deployment (https://www.rime.ai/pricing).",
        "priceSummary": "Freemium",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or machine payment in the docs or pricing (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": 6,
        "popularity": {
          "githubStars": null,
          "npmWeekly": null,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.rime.ai/docs/introduction",
        "llmsTxt": "https://docs.rime.ai/llms.txt",
        "capabilities": [
          "speech.tts",
          "speech.streaming",
          "speech.voices",
          "speech.languages"
        ],
        "tags": [
          "hosted",
          "freemium",
          "no-card",
          "free-tier",
          "closed-source",
          "llms-txt",
          "mcp",
          "streaming",
          "self-hosted",
          "enterprise"
        ],
        "lastRelease": "2026-09-25",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 56.1,
          "grade": "C",
          "agentReady": false,
          "rank": 305,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 8,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 60,
            "maintenance": 48,
            "payments": 40,
            "reliability": 50,
            "schema": 59,
            "security": 65,
            "transparency": 71
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": 0,
          "verdict": "Only character counts are kept by default, and customer data isn't used for training without an opt-in. No OpenAPI or AsyncAPI file and no official SDKs.",
          "strengths": [
            "Only character counts are kept by default, and customer data isn't used for training without an opt-in",
            "Coda at $0.05 and Mist v3 at $0.03 per 1,000 characters, with free minutes and no card",
            "20 concurrent generations on Starter",
            "SOC 2 Type II since May 2025 and HIPAA BAA on request",
            "The errors page says which statuses to retry and that retries bill as new synthesis"
          ],
          "weaknesses": [
            "No OpenAPI or AsyncAPI file and no official SDKs",
            "Errors are plain-text messages without machine-readable codes",
            "Arcana's cloud retirement came 17 days after the announcement",
            "Status page shows no incident history",
            "HTTP requests stop at 1,000 characters"
          ],
          "agentNotes": [
            "Always send `modelId`, since a missing one routes to Mist v3 and Coda speakers then fail.",
            "Keep HTTP requests under 1,000 characters or use the WebSocket.",
            "Back off on 429 before reopening a WebSocket, and remember each retry bills again.",
            "Use `/ws3` when you need word timestamps.",
            "Keep the key server-side, since WebSockets take it in a header and there are no short-lived tokens."
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 3,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "C",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 56.1
            }
          ],
          "editorialScores": {
            "ergonomics": 60,
            "maintenance": 48,
            "payments": 40,
            "reliability": 50,
            "schema": 59,
            "security": 65,
            "transparency": 55
          },
          "provenanceScore": 86
        },
        "connect": {
          "http": "curl -X POST https://users.rime.ai/v1/rime-tts -H \"Authorization: Bearer $RIME_API_KEY\" \\\n  -H \"content-type: application/json\" -H \"accept: audio/mpeg\" -o speech.mp3 \\\n  -d '{\"text\":\"Your table is booked for seven.\",\"speaker\":\"astra\",\"modelId\":\"coda\"}'",
          "claudeCode": "claude mcp add --transport http rime https://mcp.rime.ai --header \"Authorization: Bearer $RIME_API_KEY\"",
          "config": {
            "mcpServers": {
              "rime": {
                "headers": {
                  "Authorization": "Bearer ${RIME_API_KEY}"
                },
                "url": "https://mcp.rime.ai"
              }
            }
          }
        },
        "letme": {
          "capability": "https://letme.dev/speech.tts",
          "tool": "https://letme.dev/rime-tts"
        },
        "area": "voice",
        "unitPrices": [
          {
            "item": "Coda",
            "unit": "1m-chars",
            "usd": 50,
            "note": "$0.05 per 1,000 characters, about $0.05 a minute"
          },
          {
            "item": "Mist v3",
            "unit": "1m-chars",
            "usd": 30,
            "note": "$0.03 per 1,000 characters, about $0.03 a minute"
          }
        ],
        "provenance": {
          "legalEntity": "Rime Labs, Inc.",
          "domain": "rime.ai",
          "domainRegistered": "2020-03-12",
          "endpointOnVendorDomain": true,
          "terms": "https://www.rime.ai/terms",
          "privacy": "https://www.rime.ai/privacy",
          "statusPage": "https://status.rime.ai",
          "changelog": "https://docs.rime.ai/docs/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "score": 86
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/rime-tts.json",
        "live": {
          "slug": "rime-tts",
          "probe": {
            "target": "https://users.rime.ai",
            "method": "get",
            "lastAt": "2026-10-04T22:35:30.390215867Z",
            "lastOk": true,
            "lastStatus": 401,
            "lastMs": 434,
            "lastNote": "asks for credentials",
            "authRequired": true,
            "uptime24h": 100,
            "uptime30d": 100,
            "p50ms24h": 460,
            "p95ms24h": 508,
            "samples24h": 272,
            "samples30d": 1086,
            "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": 256,
                "ok": 256
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.rime.ai",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:27.329259246Z"
          },
          "securityTxt": {
            "url": "https://rime.ai/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:37.099790357Z"
          },
          "llmsTxt": {
            "url": "https://docs.rime.ai/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:12.002912Z"
          },
          "domain": {
            "domain": "rime.ai",
            "registered": "2020-03-12",
            "source": "https://rdap.identitydigital.services/rdap/domain/rime.ai",
            "checkedAt": "2026-10-04T13:04:13.469380494Z"
          },
          "pages": [
            {
              "url": "https://docs.rime.ai/docs/changelog",
              "kind": "deprecations",
              "status": 200,
              "checkedAt": "2026-10-04T15:43:57.768372092Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "d83d0135c7c5"
            },
            {
              "url": "https://www.rime.ai/pricing",
              "kind": "pricing",
              "status": 304,
              "checkedAt": "2026-10-04T15:51:58.694941167Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "ecb939d90f0c"
            },
            {
              "url": "https://www.rime.ai/privacy",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:52:00.743793653Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "37bfb306b257"
            },
            {
              "url": "https://www.rime.ai/terms",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:52:02.722779334Z",
              "changedAt": "0001-01-01T00:00:00Z",
              "fingerprint": "8312554d4669"
            }
          ],
          "updatedAt": "2026-10-04T22:35:30.390215867Z"
        }
      },
      {
        "slug": "resemble-ai-tts",
        "name": "Resemble AI Text-to-Speech API",
        "vendor": "Resemble AI",
        "vendorUrl": "https://www.resemble.ai",
        "kind": "model",
        "category": "text-to-speech",
        "summary": "Resemble's TTS API on its current Resemble Ultra model, which the changelog says is powered by xAI.",
        "url": "https://www.anchorterminal.com/tools/resemble-ai-tts",
        "markdownUrl": "https://www.anchorterminal.com/tools/resemble-ai-tts.md",
        "slimMarkdownUrl": "https://www.anchorterminal.com/tools/resemble-ai-tts.min.md",
        "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/resemble-ai-tts.json",
        "repo": "https://github.com/resemble-ai/resemble-node",
        "transports": [
          "http"
        ],
        "remoteUrl": "https://app.resemble.ai/api/v2",
        "packages": [
          {
            "registry": "npm",
            "name": "@resemble/node"
          },
          {
            "registry": "pypi",
            "name": "resemble"
          }
        ],
        "auth": "api-key",
        "authNotes": "`Authorization: Bearer` API key on every server. Synthesis runs on `f.cluster.resemble.ai`, voices and projects on `app.resemble.ai/api/v2`, streaming on `wss://websocket.cluster.resemble.ai`. Some synchronous examples in the docs leave out the `Bearer` prefix.",
        "pricing": "usage",
        "pricingNotes": "Billed per second of generated audio. Flex has no subscription and no card to sign up, at $0.00067 a second (about $0.04 a minute). Team ($350 a month, $280 billed annually) and Business ($1,000, $800 annually) cut that to $0.0005 a second (about $0.03 a minute). WebSocket streaming needs Business. Extra seats cost $20 on Flex and $200 on Team and Business. Rates come from the public plans API, since the pricing page lists only detection products (https://app.resemble.ai/billing/api/v1/plans).",
        "priceSummary": "$350 / mo",
        "where": "hosted",
        "x402": {
          "level": "no",
          "evidence": "No x402 or machine payment in the docs or pricing (checked 2026-09-30).",
          "endpoints": []
        },
        "toolCount": null,
        "popularity": {
          "githubStars": 15,
          "npmWeekly": 8053,
          "pypiWeekly": null,
          "asOf": "2026-09-30"
        },
        "docsUrl": "https://docs.resemble.ai/voice-generation/text-to-speech",
        "llmsTxt": "https://docs.resemble.ai/llms.txt",
        "openapi": "https://docs.resemble.ai/openapi.json",
        "capabilities": [
          "speech.tts",
          "speech.streaming",
          "speech.voices",
          "speech.ssml"
        ],
        "tags": [
          "hosted",
          "no-card",
          "closed-source",
          "python",
          "typescript",
          "openapi",
          "llms-txt",
          "streaming",
          "watermark",
          "enterprise"
        ],
        "lastRelease": "2026-06-30",
        "graded": true,
        "anchor": {
          "graded": true,
          "score": 50.6,
          "grade": "D",
          "agentReady": false,
          "rank": 357,
          "ranked": true,
          "rankOf": 452,
          "categoryRank": 9,
          "methodology": "0.3",
          "run": "2026-10-01",
          "scores": {
            "ergonomics": 46,
            "maintenance": 31,
            "payments": 15,
            "reliability": 75,
            "schema": 75,
            "security": 48,
            "transparency": 68
          },
          "pending": [
            "performance",
            "tasks"
          ],
          "assessment": {
            "confidence": "medium",
            "date": "2026-10-01"
          },
          "negative": -3,
          "negativeNotes": [
            "2026-06-29. Resemble began deprecating every earlier TTS model, including the Chatterbox family, and the model-versions page now says voices on them can no longer generate audio until upgraded to Resemble Ultra. We found no effective date or notice period. Small deduction because the change is documented and upgrade is self-serve. https://www.resemble.ai/changelog and https://docs.resemble.ai/getting-started/model-versions.md"
          ],
          "verdict": "OpenAPI file in JSON and YAML, llms.txt and Markdown pages. Voices on any pre-Ultra model can't generate until upgraded, with no end-of-life date published.",
          "strengths": [
            "OpenAPI file in JSON and YAML, llms.txt and Markdown pages",
            "SSML with prompt, temperature and exaggeration controls and inline tags such as `[laugh]`",
            "Status page checks Ultra HTTP synthesis directly, 100 per cent over 90 days",
            "Flex has no subscription fee, $0.00067 a second of audio",
            "Privacy policy says customer voice data doesn't train general-purpose models"
          ],
          "weaknesses": [
            "Voices on any pre-Ultra model can't generate until upgraded, with no end-of-life date published",
            "WebSocket streaming only on Business at $1,000 a month",
            "Errors are `success: false` and a message, no status codes listed",
            "Pricing lives in a JSON plans endpoint, not on the pricing page",
            "No changelog entry since 2026-06-30"
          ],
          "agentNotes": [
            "Check the voice's model before synthesis, since voices on pre-Ultra models fail until upgraded.",
            "Keep each synchronous request under 2,000 characters.",
            "Decode `audio_content` from base64 on `/synthesize`, or call `/stream` for raw WAV chunks.",
            "Send `Authorization: Bearer`, since some doc examples leave out the prefix.",
            "Log the request ID with every failure, since the error body has no code."
          ],
          "metrics": {
            "kind": "remote",
            "measured": false
          },
          "reviewCount": 2,
          "avgRating": 2,
          "history": [
            {
              "basis": "public evidence",
              "confidence": "medium",
              "grade": "D",
              "methodology": "0.3",
              "pending": [
                "performance",
                "tasks"
              ],
              "run": "2026-10-01",
              "runLabel": "October 2026 research run",
              "score": 50.6
            }
          ],
          "editorialScores": {
            "ergonomics": 46,
            "maintenance": 31,
            "payments": 15,
            "reliability": 75,
            "schema": 75,
            "security": 48,
            "transparency": 50
          },
          "provenanceScore": 86
        },
        "connect": {
          "http": "curl -X POST https://f.cluster.resemble.ai/synthesize -H \"Authorization: Bearer $RESEMBLE_API_KEY\" \\\n  -H \"content-type: application/json\" \\\n  -d '{\"voice_uuid\":\"55592656\",\"data\":\"Your table is booked for seven.\",\"output_format\":\"mp3\"}' \\\n  | jq -r .audio_content | base64 --decode \u003e speech.mp3"
        },
        "letme": {
          "capability": "https://letme.dev/speech.tts",
          "tool": "https://letme.dev/resemble-ai-tts"
        },
        "sameCompany": [
          "resemble-ai-voice-cloning"
        ],
        "area": "voice",
        "unitPrices": [
          {
            "item": "Resemble Ultra TTS on Flex",
            "unit": "audio-minute",
            "usd": 0.0402,
            "note": "$0.00067 a second, no subscription"
          },
          {
            "item": "Resemble Ultra TTS on Team or Business",
            "unit": "audio-minute",
            "usd": 0.03,
            "note": "$0.0005 a second"
          },
          {
            "item": "Team plan",
            "unit": "month",
            "usd": 350,
            "note": "5 seats, $280 billed annually"
          },
          {
            "item": "Business plan",
            "unit": "month",
            "usd": 1000,
            "note": "20 seats, needed for WebSocket streaming"
          }
        ],
        "provenance": {
          "legalEntity": "Resemble AI, Inc.",
          "domain": "resemble.ai",
          "domainRegistered": "2018-11-12",
          "endpointOnVendorDomain": true,
          "terms": "https://www.resemble.ai/terms-of-service",
          "privacy": "https://www.resemble.ai/privacy-policy",
          "statusPage": "https://status.resemble.ai",
          "changelog": "https://www.resemble.ai/changelog",
          "securityTxt": "none",
          "checked": "2026-09-30",
          "notes": [
            "The privacy policy gives the address as 812 W Dana St, Mountain View, California"
          ],
          "score": 86
        },
        "pageJsonUrl": "https://www.anchorterminal.com/tools/resemble-ai-tts.json",
        "live": {
          "slug": "resemble-ai-tts",
          "probe": {
            "target": "https://app.resemble.ai/api/v2",
            "method": "get",
            "lastAt": "2026-10-04T22:35:30.145056927Z",
            "lastOk": true,
            "lastStatus": 404,
            "lastMs": 138,
            "authRequired": false,
            "uptime24h": 99.26,
            "uptime30d": 99.72,
            "p50ms24h": 312,
            "p95ms24h": 372,
            "samples24h": 272,
            "samples30d": 1086,
            "days": [
              {
                "date": "2026-09-30",
                "probes": 35,
                "ok": 35
              },
              {
                "date": "2026-10-01",
                "probes": 276,
                "ok": 275
              },
              {
                "date": "2026-10-02",
                "probes": 248,
                "ok": 248
              },
              {
                "date": "2026-10-03",
                "probes": 271,
                "ok": 271
              },
              {
                "date": "2026-10-04",
                "probes": 256,
                "ok": 254
              }
            ]
          },
          "vendorStatus": {
            "page": "https://status.resemble.ai",
            "indicator": "unknown",
            "summary": "no machine-readable status found",
            "checkedAt": "2026-10-04T21:40:26.122903482Z"
          },
          "versions": [
            {
              "registry": "npm",
              "name": "@resemble/node",
              "version": "3.5.3",
              "seenAt": "2026-10-04T16:38:14.265469558Z"
            },
            {
              "registry": "pypi",
              "name": "resemble",
              "version": "1.9.0",
              "released": "2026-04-06",
              "seenAt": "2026-10-04T16:38:15.132468707Z"
            }
          ],
          "githubStars": 15,
          "npmWeekly": 9722,
          "pypiWeekly": 186,
          "securityTxt": {
            "url": "https://resemble.ai/.well-known/security.txt",
            "state": "none",
            "checkedAt": "2026-10-04T15:15:39.395527714Z"
          },
          "llmsTxt": {
            "url": "https://docs.resemble.ai/llms.txt",
            "ok": true,
            "status": 200,
            "checkedAt": "2026-10-04T15:18:10.652641425Z"
          },
          "domain": {
            "domain": "resemble.ai",
            "registered": "2018-11-12",
            "source": "https://rdap.identitydigital.services/rdap/domain/resemble.ai",
            "checkedAt": "2026-10-04T13:05:20.701682078Z"
          },
          "pages": [
            {
              "url": "https://www.resemble.ai/changelog",
              "kind": "deprecations",
              "status": 304,
              "checkedAt": "2026-10-04T15:51:50.742467031Z",
              "changedAt": "2026-10-02T15:27:53.988683525Z",
              "fingerprint": "76a0cb1bcf1b"
            },
            {
              "url": "https://www.resemble.ai/privacy-policy",
              "kind": "privacy",
              "status": 304,
              "checkedAt": "2026-10-04T15:51:52.7837749Z",
              "changedAt": "2026-10-02T15:27:56.034606073Z",
              "fingerprint": "356ce0463869"
            },
            {
              "url": "https://www.resemble.ai/terms-of-service",
              "kind": "terms",
              "status": 304,
              "checkedAt": "2026-10-04T15:51:54.78203578Z",
              "changedAt": "2026-10-02T15:27:58.03595641Z",
              "fingerprint": "427f88ce488d"
            }
          ],
          "updatedAt": "2026-10-04T22:35:30.145056927Z"
        }
      },
      {
        "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"
      }
    ]
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/categories/text-to-speech",
    "json": "https://www.anchorterminal.com/categories/text-to-speech.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/categories/text-to-speech.md",
    "slim": "https://www.anchorterminal.com/categories/text-to-speech.min.md"
  },
  "markdown": "APIs that turn text into speech, streamed for live conversation or rendered for long-form audio. Compared on time to first audio, pronunciation, how natural it sounds, long-form consistency, languages and cost for a fixed script.\n\n- Tools ranked: 10 · agent-ready (BB or better): 5 · accept x402: 0 · hosted endpoints: 10 · desk reviews by the panel: 26\n- JSON: https://www.anchorterminal.com/api/v1/tools.json (list) · https://www.anchorterminal.com/api/v1/rankings.json (ranked) · https://www.anchorterminal.com/api/v1/x402.json (payable) · https://www.anchorterminal.com/api/v1/capabilities.json (by capability)\n- Grades run AA, A, BB, B, C, D, E, F · methodology: https://www.anchorterminal.com/benchmark/\n\n- Capabilities in this category: speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages\n- https://letme.dev/speech.tts picks the top-graded tool in this list and says how to call it direct; calling through letme comes later (https://www.anchorterminal.com/letme/index.md)\n\n## Ranking\n\n| # | Tool | Vendor | Kind | Category | Grade | Score | Confidence | x402 | Auth | Where | Reviews | Page |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| 29 | Amazon Polly | Amazon Web Services | Model API | TTS | BB | 75.8 | high | no | API key | hosted | 4/5 (8) | https://www.anchorterminal.com/tools/amazon-polly.md |\n| 56 | Azure AI Speech text-to-speech | Microsoft Azure | Model API | TTS | BB | 73.7 | medium | no | OAuth or key | hosted | 3.5/5 (2) | https://www.anchorterminal.com/tools/azure-text-to-speech.md |\n| 61 | ElevenLabs Text to Speech API + MCP | ElevenLabs | Model API | TTS | BB | 73.1 | high | no | OAuth or key | hosted + local | 3.5/5 (2) | https://www.anchorterminal.com/tools/elevenlabs-tts.md |\n| 63 | Deepgram Text-to-Speech (Aura-2, Flux TTS) | Deepgram | Model API | TTS | BB | 73 | high | no | API key | hosted + local | 3.5/5 (2) | https://www.anchorterminal.com/tools/deepgram-tts.md |\n| 91 | Murf TTS API + MCP | Murf | Model API | TTS | BB | 70.9 | medium | no | API key | hosted + local | 3.5/5 (2) | https://www.anchorterminal.com/tools/murf-tts.md |\n| 187 | Cartesia Sonic TTS API + MCP | Cartesia | Model API | TTS | B | 64.2 | medium | no | OAuth or key | hosted + local | 3/5 (2) | https://www.anchorterminal.com/tools/cartesia-tts.md |\n| 193 | Soniox Text-to-Speech | Soniox | Model API | TTS | B | 63.9 | medium | no | API key | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/soniox-tts.md |\n| 305 | Rime TTS API + MCP | Rime Labs | Model API | TTS | C | 56.1 | medium | no | API key | hosted | 3/5 (2) | https://www.anchorterminal.com/tools/rime-tts.md |\n| 357 | Resemble AI Text-to-Speech API | Resemble AI | Model API | TTS | D | 50.6 | medium | no | API key | hosted | 2/5 (2) | https://www.anchorterminal.com/tools/resemble-ai-tts.md |\n| not ranked, shut down | PlayHT Text-to-Speech API | PlayHT | Model API | TTS | F | 4.2 | high | no | API key | hosted | 1/5 (2) | https://www.anchorterminal.com/tools/playht-tts.md |\n\nScores are from public evidence against the published checklist (https://www.anchorterminal.com/benchmark/), with Performance and Task success pending. p95 latency and context cost come from our probes, which haven't run yet.\n\n## Summaries\n\n### 29. Amazon Polly, BB (75.8)\n\nAWS's speech synthesis API with four engines (standard, neural, long-form and generative) and about 110 voices in 42 languages and variants. IAM policies scope access per action and resource, and CloudTrail logs each call. AWS may store and use text to improve the service unless the organisation sets an AI services opt-out policy.\n\n- Page: https://www.anchorterminal.com/tools/amazon-polly · Markdown: https://www.anchorterminal.com/tools/amazon-polly.md · JSON: https://www.anchorterminal.com/api/v1/tools/amazon-polly.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages · endpoint: `https://polly.us-east-1.amazonaws.com/v1`\n\n### 56. Azure AI Speech text-to-speech, BB (73.7)\n\nAzure's text-to-speech service for generating spoken audio. 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- Page: https://www.anchorterminal.com/tools/azure-text-to-speech · 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- Capabilities: speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages · endpoint: `https://eastus.tts.speech.microsoft.com/cognitiveservices`\n\n### 61. ElevenLabs Text to Speech API + MCP, BB (73.1)\n\nElevenLabs text-to-speech over REST, HTTP streaming and WebSocket. 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- Page: https://www.anchorterminal.com/tools/elevenlabs-tts · Markdown: https://www.anchorterminal.com/tools/elevenlabs-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/elevenlabs-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages · endpoint: `https://api.elevenlabs.io/v1`\n\n### 63. Deepgram Text-to-Speech (Aura-2, Flux TTS), BB (73)\n\nDeepgram's text-to-speech API for generating spoken audio. OpenAPI 3.1 and AsyncAPI files, llms.txt and Markdown pages. Requests can be kept for training unless each one sets `mip_opt_out=true`.\n\n- Page: https://www.anchorterminal.com/tools/deepgram-tts · Markdown: https://www.anchorterminal.com/tools/deepgram-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/deepgram-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.languages · endpoint: `https://api.deepgram.com/v1`\n\n### 91. Murf TTS API + MCP, BB (70.9)\n\nMurf's API for generating speech from text. 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- Page: https://www.anchorterminal.com/tools/murf-tts · Markdown: https://www.anchorterminal.com/tools/murf-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/murf-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.languages · endpoint: `https://api.murf.ai/v1`\n\n### 187. Cartesia Sonic TTS API + MCP, B (64.2)\n\nSonic text-to-speech, currently `sonic-3.6` in 44 languages, over `/tts/bytes`, `/tts/sse` and a WebSocket that takes streamed LLM text with contexts and word timestamps. WebSocket input accepts streamed LLM text with contexts, flushing and word timestamps. Five TTS incidents on the status page between 29 July and 21 August 2026.\n\n- Page: https://www.anchorterminal.com/tools/cartesia-tts · Markdown: https://www.anchorterminal.com/tools/cartesia-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/cartesia-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.ssml, speech.languages · endpoint: `https://api.cartesia.ai`\n\n### 193. Soniox Text-to-Speech, B (63.9)\n\nStreaming and REST text-to-speech (`tts-rt-v2`) in 60+ languages, where every voice speaks every language. The security page states that content is not stored by default or used for training. Audio output is capped at two minutes per request or stream.\n\n- Page: https://www.anchorterminal.com/tools/soniox-tts · Markdown: https://www.anchorterminal.com/tools/soniox-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/soniox-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.languages · endpoint: `https://tts-rt.soniox.com`\n\n### 305. Rime TTS API + MCP, C (56.1)\n\nRime's streaming text-to-speech for voice agents. Only character counts are kept by default, and customer data isn't used for training without an opt-in. No OpenAPI or AsyncAPI file and no official SDKs.\n\n- Page: https://www.anchorterminal.com/tools/rime-tts · Markdown: https://www.anchorterminal.com/tools/rime-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/rime-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.languages · endpoint: `https://users.rime.ai`\n\n### 357. Resemble AI Text-to-Speech API, D (50.6)\n\nResemble's TTS API on its current Resemble Ultra model, which the changelog says is powered by xAI. OpenAPI file in JSON and YAML, llms.txt and Markdown pages. Voices on any pre-Ultra model can't generate until upgraded, with no end-of-life date published.\n\n- Page: https://www.anchorterminal.com/tools/resemble-ai-tts · Markdown: https://www.anchorterminal.com/tools/resemble-ai-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/resemble-ai-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.ssml · endpoint: `https://app.resemble.ai/api/v2`\n\n### PlayHT Text-to-Speech API, F (4.2), retired, not ranked\n\nDiscontinued text-to-speech API from PlayHT, formerly supporting streaming audio and batch generation. 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- Page: https://www.anchorterminal.com/tools/playht-tts · Markdown: https://www.anchorterminal.com/tools/playht-tts.md · JSON: https://www.anchorterminal.com/api/v1/tools/playht-tts.json\n- Capabilities: speech.tts, speech.streaming, speech.voices, speech.languages · endpoint: `https://api.play.ht/api/v2`\n\n## How we test this category\n\nOne fixed script through every API. We measure time to first audio, check pronunciation of names, numbers and acronyms, judge naturalness blind, listen for drift across a long passage, and price the whole script. This test hasn't run yet, so Task success is pending and the grades here come from the categories assessed from public evidence.\n\n## Indexed, not reviewed (4)\n\nSorted into this category from public catalogues, with facts and our own checks but no score, grade or rank (https://www.anchorterminal.com/indexed/index.md).\n\n| Listing | Kind | What it does | Why it's here |\n| --- | --- | --- | --- |\n| [APICK](https://www.anchorterminal.com/tools/apick-all.md) | MCP server | APICK Korean data, simple-auth lookups, OCR, search, conversion, image, video and TTS | vendor's own |\n| [BananaBanana Image, Video \u0026 Speech Generation](https://www.anchorterminal.com/tools/bananabanana-image-video.md) | MCP server | Images, video \u0026 speech: Nano Banana, GPT Image, Veo, Omni, Wan, Grok, Gemini TTS. Crypto or card. | vendor's own |\n| [StudioMeyer Video](https://www.anchorterminal.com/tools/studiomeyer-video.md) | MCP server | Video production: recording, editing, effects, captions, TTS, screenshots. 8 tools. | vendor's own |\n| [UnlimitedTTS](https://www.anchorterminal.com/tools/unlimitedtts-tts.md) | MCP server | Quote-first, non-custodial x402 text-to-speech with spend policy, MP3 artifacts, and receipts. | vendor's own |\n\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": "Terminal",
        "url": "https://www.anchorterminal.com/tools/"
      },
      {
        "name": "Text-to-speech",
        "url": ""
      }
    ],
    "description": "10 text-to-speech listings ranked by the Anchor benchmark. Leader Amazon Polly (BB). APIs that turn text into speech, streamed for live conversation or rendered for long-form audio. Compared on time to first audio, pronunciation, how natural it sounds, long-form consistency, languages and cost for a fixed script.",
    "facts": [
      "Amazon Polly BB",
      "Azure AI Speech text-to-speech BB",
      "ElevenLabs Text to Speech API + MCP BB"
    ],
    "h1": "Text-to-speech APIs for AI agents",
    "image": "https://www.anchorterminal.com/assets/og/categories-text-to-speech.png",
    "path": "/categories/text-to-speech",
    "published": "",
    "section": "tools",
    "title": "Text-to-speech APIs for AI agents, ranked | Anchor Terminal",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/categories/text-to-speech"
  },
  "tokens": {
    "markdown": 2950,
    "slim": 580
  },
  "version": 1
}
