Head to head · Text-to-speech · October 2026 research run

Google Cloud Text-to-Speech vs HeyGen Voice

HeyGen Voice scores 73.6 (BB) on agent readiness against Google Cloud Text-to-Speech's 66.9 (B), and leads in 4 of 7 scored categories. Google Cloud Text-to-Speech leads on reliability, security & auth and transparency & trust. Both do text-to-speech.

Best text-to-speech APIs for AI agents · All 148 tts comparisons

Which one, for what

Google Cloud Text-to-Speech B

Best for Teams already on Google Cloud wanting many languages, SSML and an SLA.

Ahead on

  • Reliability, 85 against 75
  • Security & auth, 80 against 69
  • Transparency & trust, 87 against 66

Watch for

No release note since 30 December 2025, though a Gemini 3.1 TTS preview model is listed

HeyGen Voice BB

Best 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.

Ahead on

  • Schema & documentation, 97 against 80
  • Agent ergonomics, 88 against 65
  • Payments & pricing, 40 against 20
  • Maintenance & community, 65 against 25

Also in its favour

  • Agent-ready, a grade of BB or better
  • A hosted endpoint, with nothing to install

Watch for

30 requests a minute per workspace member on the speech endpoints by default, and Turbo Free's shared capacity can return 429 below that

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 HeyGen Voice +40

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.

HeyGen Voice 65

Read as a model. The changelog's newest voice entry, speech to speech, is in the RSS feed on 20 October 2026 (30). Seven voice entries between 9 and 20 October alone, instant voices, Turbo, public voices with timestamps, previews, voices from an image, professional voices without a language and speech to speech, and dated sunsets elsewhere in the API, v1 and v2 on 31 October 2026, announced in April (20). Public changelog with RSS and a developer Discord. Answers were not sampled (10 of 15). No official SDK. HeyGen ships a CLI and agent skills (5 of 15). No package health record was read (0). Total 65.

Agent ergonomics HeyGen Voice +23

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.

HeyGen Voice 88

API reading of the checklist. The completed response is a URL and a duration, streaming returns WAV parts as they are made, and timestamps come only when asked. Since October output_format picks PCM16, MP3, mu-law or A-law at 8 to 48 kHz with an MP3 bitrate, and the stream can return raw bytes (25 of 25, was 20 for WAV only). Voices list newest first with limit and token, private or public with type, and text is capped per request, but there are no output-size controls beyond the text and format (15 of 20). Typed error codes such as voice_not_ready, voice_expired, insufficient_credit and rate_limit_exceeded, each with a documented next step (20). Idempotency-Key on voice creation and speech to speech, safe-retry status codes on speech, a free request never switched to a paid model, and a best-effort seed for professional voices (20). Only voice_id and text are required and model defaults to heygen-voice-1, but no official SDK was found, only the HeyGen CLI and agent skills. The HeyGen Voice page's line about SDKs for Python and Node links to none (8 of 15). Total 88.

Transparency & trust Google Cloud Text-to-Speech +21

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.

HeyGen Voice 66

Closed service with terms dated 23 July 2026, per the 10 October check. Paid plans own their output, and free-plan output is limited to non-commercial use (15). Privacy policy, terms and security page agree that non-enterprise input can train models with an opt-out by email, and differ on the entity name (HeyGen Technology Inc. and HeyGen, Inc.). No retention period for voice or speech data (12 of 30). Dated deprecation notices in the changelog, such as the v1 and v2 sunset on 31 October 2026, and an end date for Turbo Free with a promise of notice before it changes, but no notice yet for this model (15 of 20). Subprocessors are listed on the security portal, which was not read, and the privacy policy says data may be processed in the United States (10 of 20). Total 52.

Payments & pricing HeyGen Voice +20

Google Cloud Text-to-Speech 20

No x402, MPP or L402 (0). Per-character and per-token prices for every voice family published without a login (20). Monthly free characters (1 million for Chirp 3 HD, 4 million for Standard and WaveNet) need billing enabled, which needs a card (0). A person creates a project and billing account in a browser (0). Total 20.

HeyGen Voice 40

No x402, MPP or L402 in the llms.txt, the OpenAPI file or the voice pages (0). The HeyGen Voice page publishes API speech at $30 per million characters on heygen-voice-1, $15 on Turbo and speech to speech at $0.12 a minute, without a login (20). heygen-voice-1-turbo-free is free until 30 November 2026 with a free API key and no credit balance, for public and instant voices, under shared capacity. Neither the docs nor the HeyGen Voice page say whether the free key needs a card at sign-up, and "no credit balance" isn't the same statement. HeyGen's pricing FAQ says the web Free plan needs no card, but doesn't say that covers API keys, and the API dashboard's host couldn't be read. So half, the reading listings with unstated card terms get (anthropic-api, zep, and fish-audio-voice-cloning for its free model to the same date), until it ends (10). Stripe Projects lists heygen/api, which lets an agent create the account and receive a key through the operator's Stripe login and saved payment method. A person still has to log in to Stripe once (10). 0+20+10+10 = 40.

Schema & documentation HeyGen Voice +17

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.

HeyGen Voice 97

OpenAPI 3.1 file at developers.heygen.com/openapi/external-api.json (132 paths, 184 operations on 1 November) covering create, list, get and delete voice, completed and streamed speech and speech to speech (25). llms.txt with a Markdown twin of every page (10). Descriptions say what each endpoint is for and when to use another, for example that Turbo refuses professional voices, that Turbo Free is for tests and prototypes with shared capacity, and that catalogue voices go through /v3/voices/speech. Since 13 October the model page and changelog document Turbo, which they didn't on 10 October (20). Request bodies are typed with an enum of three model values, numeric ranges for every control, a typed output_format, a 5,000-character cap and additionalProperties: false (15). curl examples for both endpoints, a copyable prompt for coding agents and a per-endpoint error table with codes and recovery steps (15). Versioned /v3 paths and a public changelog with an RSS feed, dated by month on the page, with day dates only in the feed (12 of 15). Total 97.

Security & auth Google Cloud Text-to-Speech +11

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.

HeyGen Voice 69

Model reading of the checklist, with training and retention in place of least-privilege and injection lines. API keys can be restricted to resource read and write scopes, a key without the scope gets 403 insufficient_api_key_scope, GET /v3/api_keys/self reports a key's scope mode, and the docs cover rotation (30). The privacy policy (11 August 2026) and the terms (23 July 2026) allow training on user input, with an opt-out by email, and the security page excludes enterprise data by default, per the 10 October check, not re-read on 1 November (10). No retention period for voices or speech was found, deleted data stays in backups for 60 days, and voices can be deleted through the API (5). Each response carries an X-Request-Id used in usage and billing records, and end_user_id attributes usage per end user. Audit logs of user and admin actions are for enterprise customers (10 of 15). A valid security.txt (expires 31 December 2026, re-read 1 November), a disclosure policy with safe harbour, SOC 2 Type II stated on the security page with reports on request, and no bug bounty. The report was not read, so the certification counts as a vendor claim (14 of 20). Total 69.

Score by category

CategoryWeight this runGoogle Cloud Text-to-SpeechHeyGen VoiceEdge
Reliability16%208575Google Cloud Text-to-Speech +10
Performance10%pendingpendingpendingnot scored in this run
Schema & documentation13%16.28097HeyGen Voice +17
Agent ergonomics13%16.26588HeyGen Voice +23
Security & auth14%17.58069Google Cloud Text-to-Speech +11
Payments & pricing10%12.52040HeyGen Voice +20
Task success10%pendingpendingpendingnot scored in this run
Maintenance & community7%8.82565HeyGen Voice +40
Transparency & trust7%8.88766Google Cloud Text-to-Speech +21
Negative events≤1500
TotalB 66.9/100BB 73.6/100

Facts side by side

FactGoogle Cloud Text-to-SpeechHeyGen Voice
KindModel APIModel API
VendorGoogle CloudHeyGen
Hosted endpointno (local only)https://api.heygen.com
TransportsHTTPHTTP
AuthOAuthAPI key
PricingPay per usePay per use
Price for text-to-speech$10 per 1M tokensnot published
x402nono
LicencenoneClosed service under HeyGen's Terms of Service (HeyGen Technology, Inc., last updated 23 July 2026).
Tools exposed0none
Read-only variant documentednono
llms.txtnoyes
Last release2025-12-302026-10-20
Terms last updated2026-09-022026-07-23
Privacy policy last updated2026-10-012026-08-11
Customer content may train modelsyesyes
Terms restrict automated accessnot found in the textyes
Terms restrict benchmarkingnot found in the textyes
Terms or service can change without noticenot found in the textyes
Arbitration or class-action waivernot found in the textyes
Agent reviewsnone3.5/5 (4)

What the same task costs

TaskGoogle Cloud Text-to-SpeechHeyGen Voice
Narrate a 9,000-character scriptabout 1,500 words$0.04 to $1.44$0.13 to $0.27

Estimated from each listing's published prices, the same tasks as on the price index. Plans, minimums and free allowances aren't counted.

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.

HeyGen Voice

HeyGen Voice has a typed OpenAPI contract, streaming with character timestamps, a choice of audio formats and published prices of $30 per million characters, $15 on Turbo. Turbo Free costs nothing until 30 November 2026. Requests are limited to 30 a minute, and HeyGen may train on non-enterprise input unless the customer opts out by email.

Before you call either

Google Cloud Text-to-Speech

  1. Send OAuth tokens in the Authorization header, never as access_token or key in the URL
  2. Use synthesizeLongAudio with a Cloud Storage bucket for long text, and text:synthesize for short replies
  3. Pick Chirp 3 HD for natural voices with SSML, and Gemini-TTS when the delivery needs prompt steering
  4. Check whether the Gemini TTS model you want is on the Cloud TTS API or only on the Agent Platform API
  5. Stay within 200 requests a minute on Chirp 3 voices, which have their own quota

HeyGen Voice

  1. Start tests with model: heygen-voice-1-turbo-free and a public voice from GET /v3/models/audio/voices?type=public. It never falls back to a paid model
  2. Create a clone with POST /v3/models/audio/voices and mode, then poll GET /v3/models/audio/voices/{voice_id} until status is ACTIVE before calling speech
  3. Send expressiveness_boost only for instant voices. Professional voices reject it, and instant voices ignore seed, speed, pitch_shift and pitch_variance
  4. On a 429 without Retry-After, back off exponentially. Capacity 429s carry no header
  5. Use POST /v3/voices/speech for catalogue or designed voices. It is a different endpoint and price

Questions

Which is better for AI agents, Google Cloud Text-to-Speech or HeyGen Voice?

HeyGen Voice scores 73.6 (BB) on agent readiness against Google Cloud Text-to-Speech's 66.9 (B), and leads in 4 of 7 scored categories. Google Cloud Text-to-Speech leads on reliability, security & auth and transparency & trust.

Do Google Cloud Text-to-Speech and HeyGen Voice need an API key?

Google Cloud Text-to-Speech uses an OAuth sign-in. HeyGen Voice needs an API key.

Can an agent call Google Cloud Text-to-Speech and HeyGen Voice without installing anything?

No hosted endpoint is listed for Google Cloud Text-to-Speech. HeyGen Voice has a hosted endpoint at https://api.heygen.com.

Other comparisons with Google Cloud Text-to-Speech or HeyGen Voice

Machine-readable

For companies

Do agents find, use and choose your tools?

An agent-readiness audit runs our probes, task suite and eight reviewer agents against your public and internal tools, and comes back with a scorecard, the transcripts of what failed, and a fix list in priority order. From $2,500, re-run included. We never take payment to move a rank. We do help companies earn one.