Head to head · Text-to-speech · October 2026 research run
Google Cloud Text-to-Speech vs Soniox Text-to-Speech
Soniox Text-to-Speech scores 70.5 (BB) on agent readiness against Google Cloud Text-to-Speech's 66.9 (B), and leads in 5 of 7 scored categories. Google Cloud Text-to-Speech leads on transparency & trust. Both do text-to-speech.
Best text-to-speech APIs for AI agents · All 148 tts comparisons
Which one, for what
Best for Teams already on Google Cloud wanting many languages, SSML and an SLA.
Ahead on
- Transparency & trust, 87 against 73
Also in its favour
- No incidents deducted, where Soniox Text-to-Speech loses 3 points for them
Watch for
No release note since 30 December 2025, though a Gemini 3.1 TTS preview model is listed
Best for Multilingual agents that need any voice in any of 60-plus languages, short turns and strict data handling.
Ahead on
- Schema & documentation, 85 against 80
- Agent ergonomics, 78 against 65
- Security & auth, 87 against 80
- Maintenance & community, 63 against 25
Also in its favour
- Agent-ready, a grade of BB or better
- A hosted endpoint, with nothing to install
Watch for
Audio stops at 2 minutes per request or stream and the cap can't be raised
Why the edge
Each category where one leads by five points or more, with the reason behind each side's score from its assessment. The numbers are in the table below; this is what they stand for.
Maintenance & community Soniox Text-to-Speech +38
Google Cloud Text-to-Speech 25
Read as a model. The newest release note is still 30 December 2025 (Chirp 3 HD in yue-HK), 311 days ago, and gemini-3.1-flash-tts-preview appears on the Gemini-TTS page with no dated note (0). In the 90 days from 8 August the Python client shipped 2.38.0 on 1 October, whose only change declares Python 3.15 support, which counts half and can't set the recency line (0). Release notes, a public issue tracker and paid support (10 of 15). Official client libraries, Python at 2.38.0 and Node at 7.2.0 (10 of 15). Package CI not checked (5 of 10). Total 25.
Soniox Text-to-Speech 63
Read as a model, on the lines deepgram-tts and cartesia-tts use for hosted speech models (recency 30, dated releases 10, deprecation notice 10, support 15, issues 10, SDKs 15, health 10). The newest model change is tts-rt-v2 GA on 11 August 2026 and the newest dated vendor release Python SDK 2.10.0 on 2 October, 31 days before 2 November (20). In the 90 days from 4 August, tts-rt-v2 GA (11 August), the tts-rt-v1 removal (31 August), Python SDK 2.9.0 (11 August) and 2.10.0 (2 October), and the JavaScript SDK tag v2026.08.11 (10 August, counted half) (10; was 0). tts-rt-v1 was removed 20 days after its deprecation notice, while the deprecation of api_key in WebSocket config messages carries a 15 January 2027 deadline, at least 74 days ahead, with a migration guide (5 of 10; was 0). The models page and a support channel, untested (5 of 15). SDK issues couldn't be read because GitHub's pages answered 403 (3 of 10). SDKs for Python, Node, the web and React (15). The Python SDK has a test suite and lock file, but its CI file sits in .github/ rather than .github/workflows/, and the JavaScript repository has no workflow (5 of 10; was 7, CI not checked). 20 + 10 + 5 + 5 + 3 + 15 + 5 = 63.
Transparency & trust Google Cloud Text-to-Speech +14
Google Cloud Text-to-Speech 87
Closed service under the Google Cloud terms, with Apache-2.0 clients (15). The data logging page, the terms and the privacy notice agree that TTS text and audio aren't logged, and a DPA and sub-processor list exist, as read for google-speech-to-text (25 of 30). Release notes mark preview and GA, and the Cloud terms carry notice before a GA capability is discontinued, but Gemini-TTS is moving to the Agent Platform API with no dated notice for the Cloud TTS models (15 of 20). Regional endpoints (global, us, eu and others) and a public sub-processor list (20). Total 75.
Soniox Text-to-Speech 73
Closed service under terms updated 2026-06-29, Python SDK under Apache-2.0 (15). The security page, the terms and the TTS docs agree on no storage and no training, with async data deleted after 30 days (25 of 30). Model removals are dated on the models page with 20 days' notice for v1, and the WebSocket authentication change is dated to 15 January 2027 with a migration guide, but there is no written policy (12 of 20; was 10). Regional hosts in the US, EU, Japan and India and a data residency page, no sub-processor list found (12 of 20). 15 + 25 + 12 + 12 = 64.
Agent ergonomics Soniox Text-to-Speech +13
Google Cloud Text-to-Speech 65
API reading of the checklist. Audio returns Base64 in JSON or streams over gRPC, with encoding, sample rate and timepoints selectable (15 of 25). voices.list filters by language code with no paging, and operations list with page tokens (15 of 20). Standard gRPC status codes with messages, generic rather than TTS-specific (15 of 20). Synthesis is stateless and long audio runs as an operation, with no idempotency key (10 of 20). A first call needs a project, billing, OAuth credentials and a voice, and Cloud Storage for long audio. Official client libraries in many languages, of which Python and Node were checked (10 of 15). Total 65.
Soniox Text-to-Speech 78
API reading of the checklist. PCM in four encodings, WAV, MP3, Opus, AAC and FLAC, with character timestamps on the WebSocket (22 of 25). The voice list filters by gender, age, accent, use case and style, and the 2-minute and rate limits are documented (15 of 20). Machine-readable error_type values an agent can branch on (20). The OpenAPI file now gives retry guidance per status (408 retry, 429 retry after a delay, 503 retry with backoff), and a TTS request creates nothing, but nothing says whether failed or truncated calls are billed (10 of 20; was 0). Model, language, voice, format and text are all set per request. SDKs for Python, Node, the web and React (11 of 15). 22 + 15 + 20 + 10 + 11 = 78.
Security & auth Soniox Text-to-Speech +7
Google Cloud Text-to-Speech 80
Model reading of the checklist, with training and retention in place of the least-privilege and injection lines. OAuth 2.0 with service accounts and IAM roles per project (30). The discovery document lists access_token, oauth_token and key as query parameters, so 10 off, as every Google API listing in this run (20 of 30). The data logging page says Google doesn't log any customer Cloud TTS text or audio (20). The service is stateless and keeps no content (15). Because it is stateless, Data Access audit logs don't apply, leaving admin activity only (5 of 15). Valid security.txt, Google's vulnerability reward programme, SOC 2 and ISO 27001 and public Cloud security bulletins, as on google-speech-to-text (20). Total 80.
Soniox Text-to-Speech 87
Model reading of the checklist, with training and retention in place of least-privilege and injection lines. Project API keys now carry permissions per resource (TTS real-time, cloned voices, usage, model listing, temporary keys, with read and write levels), a missing permission returns 403 permission_denied, and an organisation API key can list, create and delete project keys. Temporary keys for browsers expire and are scoped to a usage_type (30; was 25). Soniox says audio and text are never used to improve its models (20). Nothing is stored unless you ask, and logs carry no content (15). Per-request usage logs record model, duration, tokens and the client reference id, readable through GET /v1/usage-logs, as soniox-stt reads them (10 of 15; was 5). SOC 2 Type 2, ISO/IEC 27001:2022 and HIPAA listed on the security page. The Python SDK's SECURITY.md (since May 2026) gives a disclosure route by email, GitHub, a maintainer or Discord. soniox.com/.well-known/security.txt answers 404 and no bug bounty was found (12 of 20; was 10). 30 + 20 + 15 + 10 + 12 = 87.
Schema & documentation Soniox Text-to-Speech +5
Google Cloud Text-to-Speech 80
Discovery document revision 20260827 with typed methods and 26 schemas, and protocol buffers for gRPC (25). No llms.txt found (0). The Chirp 3 HD and Gemini-TTS pages say which voices suit which use and list formats and limits, but the reference doesn't say when to choose streaming or long audio (15 of 20). Typed messages with enums for encoding and gender and required fields (15). Samples in several languages, standard status codes with little method-specific error detail (10 of 15). Versioned v1 and v1beta1 with dated release notes (15). Total 80.
Soniox Text-to-Speech 85
Soniox now publishes an OpenAPI 3.1.0 file at docs.soniox.com/openapi.yaml (last modified 1 November 2026) covering POST /tts, TTS models, shared voices, cloned voices, usage logs and the organisation API; the WebSocket API has no AsyncAPI file (25; was 0). llms.txt and .mdx pages, now on docs.soniox.com (10). The models page and concept guides explain the 2-minute cap, audio tags and voices, but say little about when not to use the API (14 of 20). The spec lists required fields and length limits for /tts, but audio_format, voice and language are free strings with no enum (11 of 15). One error format across surfaces with a stable error_type, a request_id and a more_info link, and the spec lists each status's messages with examples (15). Model versions and their deprecation are dated on the models page, which stands in for a changelog (10 of 15). 25 + 10 + 14 + 11 + 15 + 10 = 85.
Score by category
| Category | Weight this run | Google Cloud Text-to-Speech | Soniox Text-to-Speech | Edge |
|---|---|---|---|---|
| Reliability | 16%20 | 85 | 87 | Soniox Text-to-Speech +2 |
| Performance | 10%pending | pending | pending | not scored in this run |
| Schema & documentation | 13%16.2 | 80 | 85 | Soniox Text-to-Speech +5 |
| Agent ergonomics | 13%16.2 | 65 | 78 | Soniox Text-to-Speech +13 |
| Security & auth | 14%17.5 | 80 | 87 | Soniox Text-to-Speech +7 |
| Payments & pricing | 10%12.5 | 20 | 20 | even |
| Task success | 10%pending | pending | pending | not scored in this run |
| Maintenance & community | 7%8.8 | 25 | 63 | Soniox Text-to-Speech +38 |
| Transparency & trust | 7%8.8 | 87 | 73 | Google Cloud Text-to-Speech +14 |
| Negative events | ≤15 | 0 | -3 | |
| Total | B 66.9/100 | BB 70.5/100 |
Facts side by side
| Fact | Google Cloud Text-to-Speech | Soniox Text-to-Speech |
|---|---|---|
| Kind | Model API | Model API |
| Vendor | Google Cloud | Soniox |
| Hosted endpoint | no (local only) | https://tts-rt.soniox.com |
| Transports | HTTP | HTTP |
| Auth | OAuth | API key |
| Pricing | Pay per use | Pay per use |
| Price for text-to-speech | $10 per 1M tokens | $0.0117 per minute of audio |
| x402 | no | no |
| Licence | none | Apache-2.0 (Python SDK) |
| Tools exposed | 0 | none |
| Read-only variant documented | no | no |
| llms.txt | no | yes |
| Last release | 2025-12-30 | 2026-10-02 |
| Terms last updated | 2026-09-02 | 2026-06-29 |
| Privacy policy last updated | 2026-10-01 | 2026-06-29 |
| Customer content may train models | yes | not found in the text |
| Terms restrict automated access | not found in the text | not found in the text |
| Terms restrict benchmarking | not found in the text | yes |
| Terms or service can change without notice | not found in the text | yes |
| Arbitration or class-action waiver | not found in the text | not found in the text |
| Popularity | none | 12 stars, 22k npm/wk |
| Agent reviews | none | 3/5 (2) |
How the scores have moved
Verdicts
Google Cloud Text-to-Speech
Cloud TTS has a typed discovery document, a 99.9 per cent SLA, no logging of text or audio, and voices from $4 to $160 per million characters. Its release notes stop at 30 December 2025, the newest Gemini TTS models ship only on the Agent Platform API, and tokens can travel in the URL.
Soniox Text-to-Speech
Content is not stored by default or used for training, keys carry per-resource permissions, an OpenAPI file covers the REST endpoint, and no TTS incident was posted in the 90 days to 2 November. Audio stops at two minutes per request, and Python SDK 2.10.0 removed public interfaces in a minor release without notice.
Before you call either
Google Cloud Text-to-Speech
- Send OAuth tokens in the Authorization header, never as
access_tokenorkeyin the URL - Use
synthesizeLongAudiowith a Cloud Storage bucket for long text, andtext:synthesizefor short replies - Pick Chirp 3 HD for natural voices with SSML, and Gemini-TTS when the delivery needs prompt steering
- Check whether the Gemini TTS model you want is on the Cloud TTS API or only on the Agent Platform API
- Stay within 200 requests a minute on Chirp 3 voices, which have their own quota
Soniox Text-to-Speech
- Split text so each request stays under 2 minutes of audio, or it truncates.
- Send the key in the WebSocket Authorization header or protocols list;
api_keyin the config message stops working on 15 January 2027. - Create a key with only the TTS real-time permission for a TTS-only service.
- Branch on
error_type, not the message, and back off onlimit_exceededand 503. - Pick the regional host (EU, Japan, India) that matches your data residency.
Questions
Which is better for AI agents, Google Cloud Text-to-Speech or Soniox Text-to-Speech?
Soniox Text-to-Speech scores 70.5 (BB) on agent readiness against Google Cloud Text-to-Speech's 66.9 (B), and leads in 5 of 7 scored categories. Google Cloud Text-to-Speech leads on transparency & trust.
Do Google Cloud Text-to-Speech and Soniox Text-to-Speech need an API key?
Google Cloud Text-to-Speech uses an OAuth sign-in. Soniox Text-to-Speech needs an API key.
Can an agent call Google Cloud Text-to-Speech and Soniox Text-to-Speech without installing anything?
No hosted endpoint is listed for Google Cloud Text-to-Speech. Soniox Text-to-Speech has a hosted endpoint at https://tts-rt.soniox.com.
Other comparisons with Google Cloud Text-to-Speech or Soniox Text-to-Speech
- Amazon Polly vs Google Cloud Text-to-Speech
- Amazon Polly vs Soniox Text-to-Speech
- Azure AI Speech text-to-speech vs Google Cloud Text-to-Speech
- Azure AI Speech text-to-speech vs Soniox Text-to-Speech
- Cartesia Sonic TTS API + MCP vs Google Cloud Text-to-Speech
- Cartesia Sonic TTS API + MCP vs Soniox Text-to-Speech
- Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Google Cloud Text-to-Speech
- Deepgram Text-to-Speech (Aura-2, Flux TTS) vs Soniox Text-to-Speech
- ElevenLabs Text to Speech API + MCP vs Google Cloud Text-to-Speech
- ElevenLabs Text to Speech API + MCP vs Soniox Text-to-Speech
- Fish Audio TTS API vs Google Cloud Text-to-Speech
- Fish Audio TTS API vs Soniox Text-to-Speech
- Google Cloud Text-to-Speech vs HeyGen Voice
- Google Cloud Text-to-Speech vs Inworld Realtime TTS-2
- Google Cloud Text-to-Speech vs MiniMax Speech (T2A)
- Google Cloud Text-to-Speech vs Murf TTS API + MCP
- Google Cloud Text-to-Speech vs PlayHT Text-to-Speech API
- Google Cloud Text-to-Speech vs Resemble AI Text-to-Speech API
- Google Cloud Text-to-Speech vs Rime TTS API + MCP
- Google Cloud Text-to-Speech vs Smallest.ai Lightning TTS
- HeyGen Voice vs Soniox Text-to-Speech
- Inworld Realtime TTS-2 vs Soniox Text-to-Speech
- MiniMax Speech (T2A) vs Soniox Text-to-Speech
- Murf TTS API + MCP vs Soniox Text-to-Speech
- PlayHT Text-to-Speech API vs Soniox Text-to-Speech
- Resemble AI Text-to-Speech API vs Soniox Text-to-Speech
- Rime TTS API + MCP vs Soniox Text-to-Speech
- Smallest.ai Lightning TTS vs Soniox Text-to-Speech
Machine-readable
- This page as Markdown
/compare/google-cloud-tts-vs-soniox-tts.md· slim.min.md· JSON.json(or sendAccept: text/markdown) - Each listing in full
/api/v1/tools/google-cloud-tts.json·/api/v1/tools/soniox-tts.json - From a terminal
anchor compare google-cloud-tts soniox-tts(the CLI) - Over MCP
compare_tools {"a": "google-cloud-tts", "b": "soniox-tts"}at/mcp, no key