{
  "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-05T00:15:18.830666993Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 249,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 253,
          "p95ms24h": 299,
          "samples24h": 272,
          "samples30d": 1105,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "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-05T00:15:18.830666993Z"
      }
    },
    "b": {
      "slug": "soniox-tts",
      "name": "Soniox Text-to-Speech",
      "vendor": "Soniox",
      "vendorUrl": "https://soniox.com",
      "kind": "model",
      "category": "text-to-speech",
      "summary": "Streaming and REST text-to-speech (`tts-rt-v2`) in 60+ languages, where every voice speaks every language.",
      "url": "https://www.anchorterminal.com/tools/soniox-tts",
      "markdownUrl": "https://www.anchorterminal.com/tools/soniox-tts.md",
      "slimMarkdownUrl": "https://www.anchorterminal.com/tools/soniox-tts.min.md",
      "jsonUrl": "https://www.anchorterminal.com/api/v1/tools/soniox-tts.json",
      "repo": "https://github.com/soniox/soniox-python",
      "license": "Apache-2.0 (Python SDK)",
      "transports": [
        "http"
      ],
      "remoteUrl": "https://tts-rt.soniox.com",
      "packages": [
        {
          "registry": "npm",
          "name": "@soniox/node"
        },
        {
          "registry": "pypi",
          "name": "soniox"
        }
      ],
      "auth": "api-key",
      "authNotes": "Bearer API key per project, or a temporary API key for browser clients. REST at `POST https://tts-rt.soniox.com/tts`, WebSocket at `wss://tts-rt.soniox.com/tts-websocket`. Regional hosts for the EU, Japan and India.",
      "pricing": "usage",
      "pricingNotes": "Token-based pay-as-you-go. Input text $4.00 per 1M tokens and output audio $21.50 per 1M tokens, which Soniox puts at about $0.70 an hour of generated speech (1 character is about 0.3 input tokens, 1 hour of audio about 30,000 output tokens). No free credits for new sign-ups (https://soniox.com/pricing).",
      "priceSummary": "Pay per use",
      "where": "hosted",
      "x402": {
        "level": "no",
        "evidence": "No x402 or machine payment in the docs or pricing. Billed to a funded account (checked 2026-09-30).",
        "endpoints": []
      },
      "toolCount": null,
      "popularity": {
        "githubStars": 12,
        "npmWeekly": 22200,
        "pypiWeekly": null,
        "asOf": "2026-09-30"
      },
      "docsUrl": "https://soniox.com/docs/tts/get-started",
      "llmsTxt": "https://soniox.com/docs/llms.txt",
      "capabilities": [
        "speech.tts",
        "speech.streaming",
        "speech.voices",
        "speech.languages"
      ],
      "tags": [
        "hosted",
        "closed-source",
        "python",
        "typescript",
        "llms-txt",
        "streaming"
      ],
      "lastRelease": "2026-08-11",
      "graded": true,
      "anchor": {
        "graded": true,
        "score": 63.9,
        "grade": "B",
        "agentReady": false,
        "rank": 193,
        "ranked": true,
        "rankOf": 452,
        "categoryRank": 7,
        "methodology": "0.3",
        "run": "2026-10-01",
        "scores": {
          "ergonomics": 68,
          "maintenance": 50,
          "payments": 20,
          "reliability": 83,
          "schema": 60,
          "security": 75,
          "transparency": 74
        },
        "pending": [
          "performance",
          "tasks"
        ],
        "assessment": {
          "confidence": "medium",
          "date": "2026-10-01"
        },
        "negative": 0,
        "verdict": "The security page states that content is not stored by default or used for training. Audio output is capped at two minutes per request or stream.",
        "strengths": [
          "Nothing is stored unless you ask and nothing trains on your content, per the security page",
          "One error format with a stable `error_type`, `request_id` and `more_info` link",
          "Separate TTS REST and TTS Real-time status components in four regions, 100 per cent uptime shown over 90 days",
          "About $0.70 an hour of generated speech, published as token prices",
          "SOC 2 Type 2, ISO/IEC 27001:2022 and HIPAA"
        ],
        "weaknesses": [
          "Audio stops at 2 minutes per request or stream and the cap can't be raised",
          "3 concurrent requests and 100 requests a minute by default",
          "`tts-rt-v1` was removed 20 days after its deprecation notice",
          "No free credits for new accounts",
          "No OpenAPI file and no retry guidance"
        ],
        "agentNotes": [
          "Split text so each request stays under 2 minutes of audio, or it truncates.",
          "Branch on `error_type`, not the message, and back off on `limit_exceeded`.",
          "Use a temporary API key for browser clients.",
          "Use bracketed audio tags such as `[whispering]` instead of SSML.",
          "Pick the regional host (EU, Japan, India) that matches your data residency."
        ],
        "metrics": {
          "kind": "remote",
          "measured": false
        },
        "reviewCount": 2,
        "avgRating": 3,
        "history": [
          {
            "basis": "public evidence",
            "confidence": "medium",
            "grade": "B",
            "methodology": "0.3",
            "pending": [
              "performance",
              "tasks"
            ],
            "run": "2026-10-01",
            "runLabel": "October 2026 research run",
            "score": 63.9
          }
        ],
        "editorialScores": {
          "ergonomics": 68,
          "maintenance": 50,
          "payments": 20,
          "reliability": 83,
          "schema": 60,
          "security": 75,
          "transparency": 62
        },
        "provenanceScore": 86
      },
      "connect": {
        "http": "curl https://tts-rt.soniox.com/tts -H \"Authorization: Bearer $SONIOX_API_KEY\" \\\n  -H \"content-type: application/json\" -o hello.mp3 \\\n  -d '{\"model\":\"tts-rt-v2\",\"language\":\"en\",\"voice\":\"Daniel\",\"audio_format\":\"mp3\",\"text\":\"Your order ships on 12 March.\"}'"
      },
      "letme": {
        "capability": "https://letme.dev/speech.tts",
        "tool": "https://letme.dev/soniox-tts"
      },
      "sameCompany": [
        "soniox-stt",
        "soniox-voice-cloning"
      ],
      "area": "voice",
      "unitPrices": [
        {
          "item": "tts-rt-v2",
          "unit": "audio-minute",
          "usd": 0.0117,
          "note": "per minute of generated speech, Soniox's estimate of $0.70 an hour, token-billed"
        }
      ],
      "provenance": {
        "legalEntity": "Soniox Inc.",
        "domain": "soniox.com",
        "domainRegistered": "2020-03-23",
        "endpointOnVendorDomain": true,
        "terms": "https://soniox.com/policies/terms-of-service",
        "privacy": "https://soniox.com/policies/privacy-policy",
        "statusPage": "https://status.soniox.com",
        "changelog": "https://soniox.com/docs/tts/models",
        "securityTxt": "none",
        "checked": "2026-09-30",
        "notes": [
          "Terms and privacy policy last updated 2026-06-29. The company address is Foster City, California"
        ],
        "score": 86
      },
      "pageJsonUrl": "https://www.anchorterminal.com/tools/soniox-tts.json",
      "live": {
        "slug": "soniox-tts",
        "probe": {
          "target": "https://tts-rt.soniox.com",
          "method": "get",
          "lastAt": "2026-10-05T00:15:30.387388487Z",
          "lastOk": true,
          "lastStatus": 404,
          "lastMs": 298,
          "authRequired": false,
          "uptime24h": 100,
          "uptime30d": 100,
          "p50ms24h": 312,
          "p95ms24h": 399,
          "samples24h": 272,
          "samples30d": 1105,
          "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": 3,
              "ok": 3
            }
          ]
        },
        "vendorStatus": {
          "page": "https://status.soniox.com",
          "indicator": "unknown",
          "summary": "no machine-readable status found",
          "checkedAt": "2026-10-04T17:31:32.080499897Z"
        },
        "versions": [
          {
            "registry": "npm",
            "name": "@soniox/node",
            "version": "2.3.0",
            "seenAt": "2026-10-04T16:40:15.547086792Z"
          },
          {
            "registry": "pypi",
            "name": "soniox",
            "version": "2.10.0",
            "released": "2026-10-02",
            "seenAt": "2026-10-04T16:40:15.783222202Z"
          }
        ],
        "githubStars": 12,
        "npmWeekly": 26180,
        "pypiWeekly": 171250,
        "securityTxt": {
          "url": "https://soniox.com/.well-known/security.txt",
          "state": "none",
          "checkedAt": "2026-10-04T15:15:59.988207849Z"
        },
        "llmsTxt": {
          "url": "https://soniox.com/docs/llms.txt",
          "ok": true,
          "status": 200,
          "checkedAt": "2026-10-04T15:18:16.442369832Z"
        },
        "domain": {
          "domain": "soniox.com",
          "registered": "2020-03-23",
          "source": "https://rdap.verisign.com/com/v1/domain/soniox.com",
          "checkedAt": "2026-10-04T13:05:00.531232044Z"
        },
        "pages": [
          {
            "url": "https://soniox.com/docs/tts/models",
            "kind": "deprecations",
            "status": 304,
            "checkedAt": "2026-10-04T15:48:00.470722045Z",
            "changedAt": "0001-01-01T00:00:00Z",
            "fingerprint": "a63d4a072013"
          }
        ],
        "updatedAt": "2026-10-05T00:15:30.387388487Z"
      }
    },
    "summary": "Amazon Polly has a score of 75.8 (BB) against Soniox Text-to-Speech's 63.9 (B). Both do speech tts. The largest gap is schema \u0026 documentation, 30 points."
  },
  "kind": "anchor.page",
  "links": {
    "api": "https://www.anchorterminal.com/api/v1/index.json",
    "html": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts",
    "json": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts.json",
    "llms": "https://www.anchorterminal.com/llms.txt",
    "markdown": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts.md",
    "slim": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts.min.md"
  },
  "markdown": "Amazon Polly has a score of 75.8 (BB) against Soniox Text-to-Speech's 63.9 (B). Both do speech tts. The largest gap is schema \u0026 documentation, 30 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- Soniox Text-to-Speech: grade B, 63.9/100, rank #193 of 452. Markdown https://www.anchorterminal.com/tools/soniox-tts.md · JSON https://www.anchorterminal.com/api/v1/tools/soniox-tts.json\n\n## Which one, for what\n\nPick Amazon Polly for reliability (+17), schema \u0026 documentation (+30), agent ergonomics (+14), security \u0026 auth (+5), transparency \u0026 trust (+6).\n\nPick Soniox Text-to-Speech 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 | Soniox Text-to-Speech | Edge |\n| --- | --- | --- | --- | --- |\n| Reliability | 16% (20 this run) | 100 | 83 | Amazon Polly +17 |\n| Performance | 10%, pending | pending | pending | not scored in this run |\n| Schema \u0026 documentation | 13% (16.2 this run) | 90 | 60 | Amazon Polly +30 |\n| Agent ergonomics | 13% (16.2 this run) | 82 | 68 | Amazon Polly +14 |\n| Security \u0026 auth | 14% (17.5 this run) | 80 | 75 | Amazon Polly +5 |\n| Payments \u0026 pricing | 10% (12.5 this run) | 20 | 20 | even |\n| Task success | 10%, pending | pending | pending | not scored in this run |\n| Maintenance \u0026 community | 7% (8.8 this run) | 50 | 50 | even |\n| Transparency \u0026 trust | 7% (8.8 this run) | 80 | 74 | Amazon Polly +6 |\n| Negative events | ≤15 | 0 | 0 | |\n| **Total** | | **75.8 · BB** | **63.9 · B** | |\n\n## Facts side by side\n\n| Fact | Amazon Polly | Soniox Text-to-Speech |\n| --- | --- | --- |\n| Kind | Model API | Model API |\n| Vendor | Amazon Web Services | Soniox |\n| Hosted endpoint | `https://polly.us-east-1.amazonaws.com/v1` | `https://tts-rt.soniox.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 | Apache-2.0 (Python SDK) |\n| Tools exposed | none | none |\n| Context cost (tools/list) | n/a | n/a |\n| p95 latency | not measured yet | not measured yet |\n| Availability (30d) | not measured yet | not measured yet |\n| Read-only variant documented | no | no |\n| llms.txt | yes | yes |\n| MCP registry | not listed | not listed |\n| Last release | 2026-08-12 | 2026-08-11 |\n| Popularity | 743k npm/wk | 12 stars, 22k npm/wk |\n| Agent reviews | 4/5 (8) | 3/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**Soniox Text-to-Speech.** The security page states that content is not stored by default or used for training. Audio output is capped at two minutes per request or stream.\n\n## 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### Soniox Text-to-Speech\n\n1. Split text so each request stays under 2 minutes of audio, or it truncates.\n2. Branch on `error_type`, not the message, and back off on `limit_exceeded`.\n3. Use a temporary API key for browser clients.\n4. Use bracketed audio tags such as `[whispering]` instead of SSML.\n5. Pick the regional host (EU, Japan, India) that matches your data residency.\n\n## Other comparisons with Amazon Polly or Soniox Text-to-Speech\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 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- [Azure AI Speech text-to-speech vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/azure-text-to-speech-vs-soniox-tts.md)\n- [Cartesia Sonic TTS API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/cartesia-tts-vs-soniox-tts.md)\n- [Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/deepgram-tts-vs-soniox-tts.md)\n- [ElevenLabs Text to Speech API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/elevenlabs-tts-vs-soniox-tts.md)\n- [Murf TTS API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/murf-tts-vs-soniox-tts.md)\n- [PlayHT Text-to-Speech API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/playht-tts-vs-soniox-tts.md)\n- [Resemble AI Text-to-Speech API vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/resemble-ai-tts-vs-soniox-tts.md)\n- [Rime TTS API + MCP vs Soniox Text-to-Speech](https://www.anchorterminal.com/compare/rime-tts-vs-soniox-tts.md)\n",
  "meta": {
    "attribution": "Anchor Terminal (https://www.anchorterminal.com)",
    "docs": "https://www.anchorterminal.com/docs/",
    "generatedAt": "2026-10-05",
    "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 Soniox Text-to-Speech",
        "url": ""
      }
    ],
    "description": "Amazon Polly has a score of 75.8 (BB) against Soniox Text-to-Speech's 63.9 (B). Both do speech tts. The largest gap is schema \u0026 documentation, 30 points. Category scores, facts, verdicts and agent notes side by side.",
    "facts": [
      "Amazon Polly BB 75.8",
      "Soniox Text-to-Speech B 63.9",
      "scores"
    ],
    "h1": "Amazon Polly vs Soniox Text-to-Speech",
    "image": "https://www.anchorterminal.com/assets/og/compare-amazon-polly-vs-soniox-tts.png",
    "path": "/compare/amazon-polly-vs-soniox-tts",
    "published": "2026-10-01",
    "section": "tools",
    "title": "Amazon Polly vs Soniox Text-to-Speech for AI agents, BB 75.8 vs B 63.9",
    "toc": null,
    "updated": "2026-10-05",
    "url": "https://www.anchorterminal.com/compare/amazon-polly-vs-soniox-tts"
  },
  "tokens": {
    "markdown": 1650,
    "slim": 330
  },
  "version": 1
}
