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