{
  "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.6,
        "grade": "BB",
        "agentReady": true,
        "rank": 43,
        "ranked": true,
        "rankOf": 961,
        "categoryRank": 1,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 82,
          "maintenance": 50,
          "payments": 20,
          "reliability": 100,
          "schema": 90,
          "security": 80,
          "transparency": 77
        },
        "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.",
        "bestFor": "Operators already on AWS who want predictable, cheap speech for prompts, notifications and IVR, or generative voices with bidirectional streaming.",
        "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.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 75.6
          }
        ],
        "editorialScores": {
          "ergonomics": 82,
          "maintenance": 50,
          "payments": 20,
          "reliability": 100,
          "schema": 90,
          "security": 80,
          "transparency": 65
        },
        "provenanceScore": 88
      },
      "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-nova-embeddings",
        "amazon-bedrock-guardrails",
        "amazon-transcribe",
        "agentcore-memory",
        "agentcore-identity",
        "aws-secrets-manager",
        "aws-mcp-servers",
        "amazon-ses",
        "amazon-location",
        "amazon-translate",
        "amazon-ads-api"
      ],
      "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": 88
      },
      "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-11T02:46:15.798881374Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 247,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 256,
          "p95ms24h": 285,
          "samples24h": 248,
          "samples30d": 2712,
          "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": 272,
              "ok": 272
            },
            {
              "date": "2026-10-05",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-06",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-07",
              "probes": 272,
              "ok": 272
            },
            {
              "date": "2026-10-08",
              "probes": 268,
              "ok": 268
            },
            {
              "date": "2026-10-09",
              "probes": 250,
              "ok": 250
            },
            {
              "date": "2026-10-10",
              "probes": 247,
              "ok": 247
            },
            {
              "date": "2026-10-11",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://health.aws.amazon.com/health/status",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-06T09:56:18.060105872Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@aws-sdk/client-polly",
            "version": "3.1149.0",
            "seenAt": "2026-10-10T17:32:42.400972156Z"
          },
          {
            "registry": "pypi",
            "name": "boto3",
            "version": "1.43.111",
            "released": "2026-10-09",
            "seenAt": "2026-10-10T17:32:45.159030853Z"
          }
        ],
        "npmWeekly": 672295,
        "pypiWeekly": 587112864,
        "securityTxt": {
          "url": "https://amazon.com/.well-known/security.txt",
          "state": "valid",
          "checkedAt": "2026-10-10T15:41:52.757593578Z"
        },
        "llmsTxt": {
          "url": "https://docs.aws.amazon.com/polly/latest/dg/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-10T14:03:28.77459379Z"
        },
        "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-10T19:01:02.838832068Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "70fe277f702a"
          },
          {
            "url": "https://aws.amazon.com/polly/pricing/",
            "kind": "pricing",
            "status": 304,
            "checkedAt": "2026-10-10T18:57:35.260309306Z",
            "changedAt": "2026-10-09T18:33:05.93182241Z",
            "fingerprint": "6651fc30f7d1"
          },
          {
            "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-11T02:46:15.798881374Z"
      }
    },
    "answer": "Amazon Polly scores 75.6 (BB) on agent readiness against HeyGen Voice's 71.3 (BB), and leads in 3 of 7 scored categories. HeyGen Voice leads on payments \u0026 pricing and maintenance \u0026 community.",
    "b": {
      "slug": "heygen-voice",
      "name": "HeyGen Voice",
      "vendor": "HeyGen",
      "vendorUrl": "https://www.heygen.com",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "HeyGen Voice is HeyGen's in-house text-to-speech model, `heygen-voice-1`, which speaks text in a voice cloned from one recording (instant) or from 20 minutes or more (professional), through HeyGen's v3 API.",
      "url": "https://www.anchorterminal.com/tools/heygen-voice",
      "markdownUrl": "https://www.anchorterminal.com/tools/heygen-voice.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/heygen-voice.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/heygen-voice.json",
      "license": "Closed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026).",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://api.heygen.com",
      "packages": [],
      "auth": "api-key",
      "authNotes": "An API key from the HeyGen API dashboard, sent in the X-Api-Key header. Keys can be restricted to read and write scopes, and the speech and voice endpoints need voices:write. The OpenAPI file also accepts an OAuth bearer token, which bills subscription credits. Stripe Projects can provision a key through the operator's Stripe account.",
      "pricing": "usage",
      "pricingNotes": "Instant-voice speech is $15 per million submitted characters, charged only on successful requests (OpenAPI description, checked 10 October 2026). Professional speech is 0.6 API credits per generated minute, and each professional voice needs a purchased slot. Instant voices are free to create during the preview. No free API allowance was found.",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402, MPP or L402 in the developer llms.txt, the OpenAPI file or the HeyGen Voice pages, checked 10 October 2026. Keys are funded by API credit or through Stripe Projects.",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": null,
        "npmWeekly": null,
        "pypiWeekly": null,
        "asOf": "2026-10-10"
      },
      "docsUrl": "https://developers.heygen.com/docs/models/heygen-voice",
      "llmsTxt": "https://developers.heygen.com/llms.txt",
      "openapi": "https://developers.heygen.com/openapi/external-api.json",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.languages",
        "voice.clone"
      ],
      "tags": [
        "hosted",
        "official",
        "usage-priced",
        "closed-source",
        "openapi",
        "llms-txt",
        "streaming",
        "status-page",
        "soc2",
        "security-txt",
        "cli",
        "agent-skills"
      ],
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 71.3,
        "grade": "BB",
        "agentReady": true,
        "rank": 131,
        "ranked": true,
        "rankOf": 961,
        "categoryRank": 5,
        "methodology": "0.4",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 83,
          "maintenance": 65,
          "payments": 30,
          "reliability": 75,
          "schema": 94,
          "security": 69,
          "transparency": 69
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-10"
        },
        "negative": 0,
        "verdict": "HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, and a published price of $15 per million characters for instant voices, with failed requests not charged. It speaks only voices cloned in the caller's workspace, allows 30 requests a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email.",
        "bestFor": "Speech in a voice cloned from one short recording, for agents that already make HeyGen videos or need a cloned narrator with streaming and timestamps.",
        "strengths": [
          "OpenAPI 3.1 file with enums, ranges, `additionalProperties: false` and per-code errors for every speech and voice endpoint",
          "Streaming over Server-Sent Events, with optional character-level timestamps",
          "Instant-voice speech priced at $15 per million characters without a login, and failed or disconnected requests are not charged",
          "API keys can be restricted to read and write scopes, and the speech endpoints need voices:write",
          "Instant voices are created from one recording, usually ready within seconds, in 39 base languages"
        ],
        "weaknesses": [
          "Speaks only voices cloned in the caller's workspace. Stock and designed voices go through a separate endpoint and engines",
          "30 requests a minute per workspace member on the speech endpoints, on every plan",
          "Output is a 44.1 kHz mono WAV only, and text is capped at 5,000 characters a request",
          "HeyGen's privacy policy allows training on user input, with an opt-out by email. Enterprise data is excluded by default",
          "No official SDK, no free API allowance and no SLA in the terms"
        ],
        "agentNotes": [
          "Create a voice first with POST /v3/models/audio/voices and `mode`, then poll GET /v3/models/audio/voices/{voice_id} until `status` is ACTIVE before calling speech",
          "Send `expressiveness_boost` only for instant voices and `seed`, `speed`, `pitch_shift`, `pitch_variance` or `\u003cbreak\u003e` tags only for professional voices. Mixing them returns 400 invalid_parameter",
          "On the stream, decode and play each base64 WAV part in `part_index` order. Do not concatenate the bytes",
          "Send an Idempotency-Key when creating a voice, and retry 502, 503 and 504 on speech, which the OpenAPI file marks as safe",
          "Use POST /v3/voices/speech for stock or designed voices. It is a different engine and price"
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 0,
        "avgRating": 0,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "BB",
            "methodology": "0.4",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 71.3
          }
        ],
        "editorialScores": {
          "ergonomics": 83,
          "maintenance": 65,
          "payments": 30,
          "reliability": 75,
          "schema": 94,
          "security": 69,
          "transparency": 52
        },
        "provenanceScore": 85
      },
      "connect": {
        "http": "curl -X POST \"https://api.heygen.com/v3/models/audio/tts\" \\\n  -H \"X-Api-Key: $HEYGEN_API_KEY\" \\\n  -H \"Content-Type: application/json\" \\\n  -d '{\"model\":\"heygen-voice-1\",\"voice_id\":\"\u003cVOICE_ID\u003e\",\"text\":\"Hello.\",\"language\":\"en\",\"expressiveness_boost\":0.8}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/heygen-voice"
      },
      "area": "voice",
      "unitPrices": [
        {
          "item": "Instant-voice speech",
          "unit": "1m-chars",
          "usd": 15,
          "note": "Submitted Unicode characters, including spaces. Successful requests only."
        },
        {
          "item": "Professional-voice speech",
          "unit": "audio-minute",
          "usd": 0.6,
          "note": "0.6 API credits per generated minute. The dollar figure assumes $1 a credit, from the OpenAPI example of 9/60 credit for $0.15."
        }
      ],
      "provenance": {
        "legalEntity": "HeyGen Technology, Inc.",
        "domain": "heygen.com",
        "domainRegistered": "",
        "endpointOnVendorDomain": true,
        "terms": "https://www.heygen.com/terms",
        "privacy": "https://www.heygen.com/privacy",
        "statusPage": "https://status.heygen.com",
        "changelog": "https://developers.heygen.com/changelog",
        "securityTxt": "valid",
        "checked": "2026-10-10",
        "notes": [
          "security.txt at www.heygen.com/.well-known/security.txt names security@heygen.com and expires on 31 December 2026.",
          "The privacy policy names HeyGen Technology Inc. in section 1 and HeyGen, Inc. as processor in section 15.",
          "The status page has components per domain (www, app, api) and none for voice.",
          "Domain registration date was not checked."
        ],
        "score": 85
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/heygen-voice.json",
      "live": {
        "slug": "heygen-voice",
        "probe": {
          "target": "https://api.heygen.com",
          "method": "get",
          "lastAt": "2026-10-11T02:46:27.941825924Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 308,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 301,
          "p95ms24h": 320,
          "samples24h": 30,
          "samples30d": 30,
          "days": [
            {
              "date": "2026-10-10",
              "probes": 1,
              "ok": 1
            },
            {
              "date": "2026-10-11",
              "probes": 29,
              "ok": 29
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.heygen.com",
          "indicator": "none",
          "summary": "All Systems Operational",
          "checkedAt": "2026-10-11T02:40:57.349304573Z"
        },
        "updatedAt": "2026-10-11T02:46:27.941825924Z"
      }
    },
    "facts": [
      {
        "a": "Model API",
        "b": "Model API",
        "name": "Kind"
      },
      {
        "a": "Amazon Web Services",
        "b": "HeyGen",
        "name": "Vendor"
      },
      {
        "a": "https://polly.us-east-1.amazonaws.com/v1",
        "b": "https://api.heygen.com",
        "name": "Hosted endpoint"
      },
      {
        "a": "HTTP",
        "b": "HTTP",
        "name": "Transports"
      },
      {
        "a": "API key",
        "b": "API key",
        "name": "Auth"
      },
      {
        "a": "Pay per use",
        "b": "Pay per use",
        "name": "Pricing"
      },
      {
        "a": "no",
        "b": "no",
        "name": "x402"
      },
      {
        "a": "none",
        "b": "Closed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026).",
        "name": "Licence"
      },
      {
        "a": "no",
        "b": "no",
        "name": "Read-only variant documented"
      },
      {
        "a": "yes",
        "b": "yes",
        "name": "llms.txt"
      },
      {
        "a": "2026-08-12",
        "b": "none",
        "name": "Last release"
      },
      {
        "a": "2026-10-01",
        "b": "",
        "name": "Terms last updated"
      },
      {
        "a": "2026-05-18",
        "b": "",
        "name": "Privacy policy last updated"
      },
      {
        "a": "yes, with an opt-out",
        "b": "",
        "name": "Customer content may train models"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict automated access"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms restrict benchmarking"
      },
      {
        "a": "yes",
        "b": "",
        "name": "Terms or service can change without notice"
      },
      {
        "a": "not found in the text",
        "b": "",
        "name": "Arbitration or class-action waiver"
      },
      {
        "a": "743k npm/wk",
        "b": "none",
        "name": "Popularity"
      },
      {
        "a": "4/5 (8)",
        "b": "none",
        "name": "Agent reviews"
      }
    ],
    "faq": [
      {
        "answer": "Amazon Polly scores 75.6 (BB) on agent readiness against HeyGen Voice's 71.3 (BB), and leads in 3 of 7 scored categories. HeyGen Voice leads on payments \u0026 pricing and maintenance \u0026 community.",
        "question": "Which is better for AI agents, Amazon Polly or HeyGen Voice?"
      },
      {
        "answer": "Both need an API key.",
        "question": "Do Amazon Polly and HeyGen Voice need an API key?"
      },
      {
        "answer": "Yes. Amazon Polly has a hosted endpoint at https://polly.us-east-1.amazonaws.com/v1 and HeyGen Voice at https://api.heygen.com.",
        "question": "Can an agent call Amazon Polly and HeyGen Voice without installing anything?"
      }
    ],
    "goodFor": [
      {
        "aheadOn": [
          "Reliability, 100 against 75",
          "Security \u0026 auth, 80 against 69",
          "Transparency \u0026 trust, 77 against 69"
        ],
        "also": null,
        "goodFor": "Operators already on AWS who want predictable, cheap speech for prompts, notifications and IVR, or generative voices with bidirectional streaming.",
        "slug": "amazon-polly",
        "watchFor": "AWS may store and use text to improve the service unless the organisation sets an AI services opt-out policy"
      },
      {
        "aheadOn": [
          "Payments \u0026 pricing, 30 against 20",
          "Maintenance \u0026 community, 65 against 50"
        ],
        "also": null,
        "goodFor": "Speech in a voice cloned from one short recording, for agents that already make HeyGen videos or need a cloned narrator with streaming and timestamps.",
        "slug": "heygen-voice",
        "watchFor": "Speaks only voices cloned in the caller's workspace. Stock and designed voices go through a separate endpoint and engines"
      }
    ],
    "job": {
      "capability": "speech.tts",
      "name": "Text-to-speech"
    },
    "others": [
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-azure-text-to-speech.json",
        "title": "Amazon Polly vs Azure AI Speech text-to-speech",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-azure-text-to-speech"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-cartesia-tts.json",
        "title": "Amazon Polly vs Cartesia Sonic TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-cartesia-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-deepgram-tts.json",
        "title": "Amazon Polly vs Deepgram Text-to-Speech (Aura-2, Flux TTS)",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-deepgram-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-elevenlabs-tts.json",
        "title": "Amazon Polly vs ElevenLabs Text to Speech API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-elevenlabs-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-fish-audio-tts.json",
        "title": "Amazon Polly vs Fish Audio TTS API",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-fish-audio-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-murf-tts.json",
        "title": "Amazon Polly vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-playht-tts.json",
        "title": "Amazon Polly vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts.json",
        "title": "Amazon Polly vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-resemble-ai-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-rime-tts.json",
        "title": "Amazon Polly vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-rime-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts.json",
        "title": "Amazon Polly vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-heygen-voice.json",
        "title": "Azure AI Speech text-to-speech vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/azure-text-to-speech-vs-heygen-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/cartesia-tts-vs-heygen-voice.json",
        "title": "Cartesia Sonic TTS API + MCP vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/cartesia-tts-vs-heygen-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/deepgram-tts-vs-heygen-voice.json",
        "title": "Deepgram Text-to-Speech (Aura-2, Flux TTS) vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/deepgram-tts-vs-heygen-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice.json",
        "title": "ElevenLabs Text to Speech API + MCP vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-heygen-voice.json",
        "title": "Fish Audio TTS API vs HeyGen Voice",
        "url": "https://www.anchorterminal.com/compare/fish-audio-tts-vs-heygen-voice"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-murf-tts.json",
        "title": "HeyGen Voice vs Murf TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-murf-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-playht-tts.json",
        "title": "HeyGen Voice vs PlayHT Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-playht-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-resemble-ai-tts.json",
        "title": "HeyGen Voice vs Resemble AI Text-to-Speech API",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-resemble-ai-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-rime-tts.json",
        "title": "HeyGen Voice vs Rime TTS API + MCP",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-rime-tts"
      },
      {
        "json": "https://www.anchorterminal.com/compare/heygen-voice-vs-soniox-tts.json",
        "title": "HeyGen Voice vs Soniox Text-to-Speech",
        "url": "https://www.anchorterminal.com/compare/heygen-voice-vs-soniox-tts"
      }
    ],
    "scores": [
      {
        "amazon-polly": 100,
        "by": 25,
        "edge": "amazon-polly",
        "heygen-voice": 75,
        "key": "reliability",
        "name": "Reliability",
        "weight": 16
      },
      {
        "key": "performance",
        "name": "Performance",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-polly": 90,
        "by": 4,
        "edge": "heygen-voice",
        "heygen-voice": 94,
        "key": "schema",
        "name": "Schema \u0026 documentation",
        "weight": 13
      },
      {
        "amazon-polly": 82,
        "by": 1,
        "edge": "heygen-voice",
        "heygen-voice": 83,
        "key": "ergonomics",
        "name": "Agent ergonomics",
        "weight": 13
      },
      {
        "amazon-polly": 80,
        "by": 11,
        "edge": "amazon-polly",
        "heygen-voice": 69,
        "key": "security",
        "name": "Security \u0026 auth",
        "weight": 14
      },
      {
        "amazon-polly": 20,
        "by": 10,
        "edge": "heygen-voice",
        "heygen-voice": 30,
        "key": "payments",
        "name": "Payments \u0026 pricing",
        "weight": 10
      },
      {
        "key": "tasks",
        "name": "Task success",
        "pending": true,
        "weight": 10
      },
      {
        "amazon-polly": 50,
        "by": 15,
        "edge": "heygen-voice",
        "heygen-voice": 65,
        "key": "maintenance",
        "name": "Maintenance \u0026 community",
        "weight": 7
      },
      {
        "amazon-polly": 77,
        "by": 8,
        "edge": "amazon-polly",
        "heygen-voice": 69,
        "key": "transparency",
        "name": "Transparency \u0026 trust",
        "weight": 7
      }
    ],
    "summary": "Amazon Polly scores 75.6 (BB) on agent readiness against HeyGen Voice's 71.3 (BB), and leads in 3 of 7 scored categories. HeyGen Voice leads on payments \u0026 pricing and maintenance \u0026 community. Both do text-to-speech.",
    "verdicts": {
      "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.",
      "heygen-voice": "HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, and a published price of $15 per million characters for instant voices, with failed requests not charged. It speaks only voices cloned in the caller's workspace, allows 30 requests a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email."
    }
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice",
    "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.min.md"
  },
  "markdown": "Amazon Polly scores 75.6 (BB) on agent readiness against HeyGen Voice's 71.3 (BB), and leads in 3 of 7 scored categories. HeyGen Voice leads on payments \u0026 pricing and maintenance \u0026 community. Both do text-to-speech.\n\n- Amazon Polly: grade BB, 75.6/100, rank #43 of 961. Markdown https://www.anchorterminal.com/tools/amazon-polly.md · JSON https://www.anchorterminal.com/api/v1/tools/amazon-polly.json\n- HeyGen Voice: grade BB, 71.3/100, rank #131 of 961. Markdown https://www.anchorterminal.com/tools/heygen-voice.md · JSON https://www.anchorterminal.com/api/v1/tools/heygen-voice.json\n- Best text-to-speech APIs for AI agents: https://www.anchorterminal.com/best/text-to-speech/index.md\n- All 66 tts comparisons: https://www.anchorterminal.com/compare/text-to-speech/index.md\n\n## Which one, for what\n\n### Amazon Polly (BB)\n\nGood for: Operators already on AWS who want predictable, cheap speech for prompts, notifications and IVR, or generative voices with bidirectional streaming.\n\nAhead on:\n- Reliability, 100 against 75\n- Security \u0026 auth, 80 against 69\n- Transparency \u0026 trust, 77 against 69\n\nWatch for: AWS may store and use text to improve the service unless the organisation sets an AI services opt-out policy\n\n### HeyGen Voice (BB)\n\nGood for: Speech in a voice cloned from one short recording, for agents that already make HeyGen videos or need a cloned narrator with streaming and timestamps.\n\nAhead on:\n- Payments \u0026 pricing, 30 against 20\n- Maintenance \u0026 community, 65 against 50\n\nWatch for: Speaks only voices cloned in the caller's workspace. Stock and designed voices go through a separate endpoint and engines\n\n\n## Score by category\n\n| Category | Weight | Amazon Polly | HeyGen Voice | 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 | 94 | HeyGen Voice +4 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 83 | HeyGen Voice +1 |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 69 | Amazon Polly +11 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 30 | HeyGen Voice +10 |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 65 | HeyGen Voice +15 |\n| Transparency \u0026 trust | 7% (8.8 this run) | 77 | 69 | Amazon Polly +8 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.6 · BB** | **71.3 · BB** | |\n\n## Facts side by side\n\n| Fact | Amazon Polly | HeyGen Voice |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Amazon Web Services | HeyGen |\n| Hosted endpoint | `https://polly.us-east-1.amazonaws.com/v1` | `https://api.heygen.com` |\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 | Closed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026). |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| Last release | 2026-08-12 | none |\n| Terms last updated | 2026-10-01 |  |\n| Privacy policy last updated | 2026-05-18 |  |\n| Customer content may train models | yes, with an opt-out |  |\n| Terms restrict automated access | yes |  |\n| Terms restrict benchmarking | yes |  |\n| Terms or service can change without notice | yes |  |\n| Arbitration or class-action waiver | not found in the text |  |\n| Popularity | 743k npm/wk | none |\n| Agent reviews | 4/5 (8) | none |\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**HeyGen Voice.** HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, and a published price of $15 per million characters for instant voices, with failed requests not charged. It speaks only voices cloned in the caller's workspace, allows 30 requests a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email.\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### HeyGen Voice\n\n1. Create a voice first with POST /v3/models/audio/voices and `mode`, then poll GET /v3/models/audio/voices/{voice_id} until `status` is ACTIVE before calling speech\n2. Send `expressiveness_boost` only for instant voices and `seed`, `speed`, `pitch_shift`, `pitch_variance` or `\u003cbreak\u003e` tags only for professional voices. Mixing them returns 400 invalid_parameter\n3. On the stream, decode and play each base64 WAV part in `part_index` order. Do not concatenate the bytes\n4. Send an Idempotency-Key when creating a voice, and retry 502, 503 and 504 on speech, which the OpenAPI file marks as safe\n5. Use POST /v3/voices/speech for stock or designed voices. It is a different engine and price\n\n## Questions\n\n### Which is better for AI agents, Amazon Polly or HeyGen Voice?\n\nAmazon Polly scores 75.6 (BB) on agent readiness against HeyGen Voice's 71.3 (BB), and leads in 3 of 7 scored categories. HeyGen Voice leads on payments \u0026 pricing and maintenance \u0026 community.\n\n### Do Amazon Polly and HeyGen Voice need an API key?\n\nBoth need an API key.\n\n### Can an agent call Amazon Polly and HeyGen Voice without installing anything?\n\nYes. Amazon Polly has a hosted endpoint at https://polly.us-east-1.amazonaws.com/v1 and HeyGen Voice at https://api.heygen.com.\n\n\n## For agents\n\n- This comparison as JSON: https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.json, and with the fewest tokens: https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice.min.md\n- Over MCP at https://www.anchorterminal.com/mcp (no key): `compare_tools {\"a\": \"amazon-polly\", \"b\": \"heygen-voice\"}`. From a terminal: `anchor compare amazon-polly heygen-voice`\n- Each listing in full: https://www.anchorterminal.com/api/v1/tools/amazon-polly.json and https://www.anchorterminal.com/api/v1/tools/heygen-voice.json\n\n## Other comparisons with Amazon Polly or HeyGen Voice\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 Fish Audio TTS API](https://www.anchorterminal.com/compare/amazon-polly-vs-fish-audio-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 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 HeyGen Voice](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-heygen-voice.md)\n- [Cartesia Sonic TTS API + MCP vs HeyGen Voice](https://www.anchorterminal.com/compare/cartesia-tts-vs-heygen-voice.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs HeyGen Voice](https://www.anchorterminal.com/compare/deepgram-tts-vs-heygen-voice.md)\n- [ElevenLabs Text to Speech API + MCP vs HeyGen Voice](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-heygen-voice.md)\n- [Fish Audio TTS API vs HeyGen Voice](https://www.anchorterminal.com/compare/fish-audio-tts-vs-heygen-voice.md)\n- [HeyGen Voice vs Murf TTS API + MCP](https://www.anchorterminal.com/compare/heygen-voice-vs-murf-tts.md)\n- [HeyGen Voice vs PlayHT Text-to-Speech API](https://www.anchorterminal.com/compare/heygen-voice-vs-playht-tts.md)\n- [HeyGen Voice vs Resemble AI Text-to-Speech API](https://www.anchorterminal.com/compare/heygen-voice-vs-resemble-ai-tts.md)\n- [HeyGen Voice vs Rime TTS API + MCP](https://www.anchorterminal.com/compare/heygen-voice-vs-rime-tts.md)\n- [HeyGen Voice vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/heygen-voice-vs-soniox-tts.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-11",
    "license": "CC-BY-4.0",
    "method": "https://www.anchorterminal.com/benchmark/",
    "methodology": "0.4",
    "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 HeyGen Voice",
        "url": ""
      }
    ],
    "description": "Amazon Polly scores 75.6 (BB) to HeyGen Voice's 71.3 (BB) for text-to-speech. Prices, MCP, x402, uptime and agent notes side by side.",
    "facts": [
      "Amazon Polly BB 75.6",
      "HeyGen Voice BB 71.3",
      "scores"
    ],
    "h1": "Amazon Polly vs HeyGen Voice",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-polly-vs-heygen-voice.png",
    "path": "/compare/amazon-polly-vs-heygen-voice",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon Polly vs HeyGen Voice for AI agents in 2026: scores and prices",
    "toc": null,
    "updated": "2026-10-10",
    "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-heygen-voice"
  },
  "tokens": {
    "markdown": 2400,
    "slim": 630
  },
  "version": 1
}
