{
  "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:48:03.882144289Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 250,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 253,
          "p95ms24h": 299,
          "samples24h": 272,
          "samples30d": 1100,
          "days": [
            {
              "date": "2026-09-30",
              "probes": 35,
              "ok": 35
            },
            {
              "date": "2026-10-01",
              "probes": 276,
              "ok": 276
            },
            {
              "date": "2026-10-02",
              "probes": 248,
              "ok": 248
            },
            {
              "date": "2026-10-03",
              "probes": 271,
              "ok": 271
            },
            {
              "date": "2026-10-04",
              "probes": 270,
              "ok": 270
            }
          ]
        },
        "vendorStatus": {
          "page": "https://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:48:03.882144289Z"
      }
    },
    "b": {
      "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-04T23:48:15.015848466Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 310,
          "authRequired": false,
          "uptime24h": 99.26,
          "uptime30d": 99.73,
          "p50ms24h": 311,
          "p95ms24h": 373,
          "samples24h": 272,
          "samples30d": 1100,
          "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": 270,
              "ok": 268
            }
          ]
        },
        "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-04T23:48:15.015848466Z"
      }
    },
    "summary": "Amazon Polly has a score of 75.8 (BB) against Resemble AI Text-to-Speech API's 50.6 (D). Both do speech tts. The largest gap is agent ergonomics, 36 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts",
    "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts.min.md"
  },
  "markdown": "Amazon Polly has a score of 75.8 (BB) against Resemble AI Text-to-Speech API's 50.6 (D). Both do speech tts. The largest gap is agent ergonomics, 36 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- Resemble AI Text-to-Speech API: grade D, 50.6/100, rank #357 of 452. Markdown https://www.anchorterminal.com/tools/resemble-ai-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/resemble-ai-tts.json\n\n## Which one, for what\n\nPick Amazon Polly for reliability (+25), schema \u0026 documentation (+15), agent ergonomics (+36), security \u0026 auth (+32), payments \u0026 pricing (+5), maintenance \u0026 community (+19), transparency \u0026 trust (+12).\n\nPick Resemble AI Text-to-Speech API for nothing in particular (no category where it leads by five points or more).\n\n## Score by category\n\n| Category | Weight | Amazon Polly | Resemble AI Text-to-Speech API | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 100 | 75 | Amazon Polly +25 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 90 | 75 | Amazon Polly +15 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 46 | Amazon Polly +36 |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 48 | Amazon Polly +32 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 15 | Amazon Polly +5 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 31 | Amazon Polly +19 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 68 | Amazon Polly +12 |\n| Negative events | ≤15 | 0 | -3 | |\n| **Total** | | **75.8 · BB** | **50.6 · D** | |\n\n## Facts side by side\n\n| Fact | Amazon Polly | Resemble AI Text-to-Speech API |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Amazon Web Services | Resemble AI |\n| Hosted endpoint | `https://polly.us-east-1.amazonaws.com/v1` | `https://app.resemble.ai/api/v2` |\n| Transports | HTTP | HTTP |\n| Auth | API key | API key |\n| Pricing | Pay per use | Pay per use |\n| x402 | no | no |\n| Licence | none | none |\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-06-30 |\n| Popularity | 743k npm/wk | 15 stars, 8.1k npm/wk |\n| Agent reviews | 4/5 (8) | 2/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**Resemble AI Text-to-Speech API.** 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## 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### Resemble AI Text-to-Speech API\n\n1. Check the voice's model before synthesis, since voices on pre-Ultra models fail until upgraded.\n2. Keep each synchronous request under 2,000 characters.\n3. Decode `audio_content` from base64 on `/synthesize`, or call `/stream` for raw WAV chunks.\n4. Send `Authorization: Bearer`, since some doc examples leave out the prefix.\n5. Log the request ID with every failure, since the error body has no code.\n\n## Other comparisons with Amazon Polly or Resemble AI Text-to-Speech API\n\n- [Amazon Polly vs Azure AI Speech text-to-speech](https://www.anchorterminal.com/compare/amazon-polly-vs-azure-text-to-speech.md)\n- [Amazon Polly vs 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 Murf TTS API + MCP](https://www.anchorterminal.com/compare/amazon-polly-vs-murf-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 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 Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-resemble-ai-tts.md)\n- [Cartesia Sonic TTS API + MCP vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/cartesia-tts-vs-resemble-ai-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/deepgram-tts-vs-resemble-ai-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-resemble-ai-tts.md)\n- [Murf TTS API + MCP vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/murf-tts-vs-resemble-ai-tts.md)\n- [PlayHT Text-to-Speech API vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/playht-tts-vs-resemble-ai-tts.md)\n- [Resemble AI Text-to-Speech API vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/resemble-ai-tts-vs-rime-tts.md)\n- [Resemble AI Text-to-Speech API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/resemble-ai-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 Resemble AI Text-to-Speech API",
        "url": ""
      }
    ],
    "description": "Amazon Polly has a score of 75.8 (BB) against Resemble AI Text-to-Speech API's 50.6 (D). Both do speech tts. The largest gap is agent ergonomics, 36 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Amazon Polly BB 75.8",
      "Resemble AI Text-to-Speech API D 50.6",
      "scores"
    ],
    "h1": "Amazon Polly vs Resemble AI Text-to-Speech API",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-polly-vs-resemble-ai-tts.png",
    "path": "/compare/amazon-polly-vs-resemble-ai-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon Polly vs Resemble AI Text-to-Speech API for AI agents",
    "toc": null,
    "updated": "2026-10-04",
    "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts"
  },
  "tokens": {
    "markdown": 1700,
    "slim": 380
  },
  "version": 1
}
