AbdullahTofa
Free · Open · Your keys, your machine

Turn text into voiceovers
using your own Google API.

A free text-to-speech tool I built for myself, now opened up for everyone. You bring your own Google API key — it stays in your browser and goes straight to Google. I never see it, store it, or log a single thing you do here.

380+ voices 75+ languages Cloud TTS + Gemini Flash Zero signup
🔒

Why this is actually safe.

Your API keys are saved only in your browser's localStorage. When you click Generate, your browser talks directly to Google's servers — the request never passes through this website. No accounts, no logs, no analytics on your scripts, no server-side history. You can wipe everything with one click below.

Step 1 · Paste your two API keys
☁️ Google Cloud TTS Key Not set
✨ Gemini API Key Not set
Saved locally on this device. Don't have keys yet? Read the noob-friendly guide ↓

📖 Never used Google Cloud before? Start here.

+

You need two separate API keys from Google — one for Cloud TTS (the classic one with a generous free tier) and another for Gemini Flash TTS (the new expressive one). Both come from the same Google account, but live in two different APIs. The wizard below walks you through both, top to bottom.

1

Go to Google Cloud Console

Open console.cloud.google.com and sign in with any Gmail account. If you've never been here, Google may ask you to accept the Terms of Service — that's normal, just click Accept.

2

Create a new project

Top-left, click the project dropdown (it says "Select a project" or shows an existing project name) → New Project → name it anything like my-voiceover → Create. Wait ~15 seconds for it to provision.

💡 You only do this once. All your future Google API stuff lives here.
3

Enable the Text-to-Speech API

Go to this direct link (make sure your new project is selected at the top) → click the big blue ENABLE button. Wait until it says "API Enabled".

4

Create your API key

Go to Credentials → click + CREATE CREDENTIALSAPI key. A box pops up with a key starting with AIzaSy… — copy it.

Restrict it! See the "Make your keys safe" tab. An unrestricted key can be abused if it leaks.
5

Paste it above & press Save

Scroll up to the ☁️ Google Cloud TTS Key field, paste the key, click 💾 Save keys to this browser. You're done with Cloud TTS — you can now use the Cloud engine in the tool below for free up to 4 million characters/month (Standard voices) or 1M chars/month for the better Neural2/WaveNet/Studio voices.

💡 Free tier resets every month. Past it, Google bills you (it's cheap — see the pricing reference at the bottom of the tool).
1

This is a different key from a different place

Gemini's TTS lives under the Generative Language API, not Cloud TTS. So you need a separate key. Easiest path: aistudio.google.com/app/apikey

2

Click "Create API key"

Pick the same project you made above (my-voiceover) so everything stays in one place → it generates a new AIzaSy… key. Copy it.

3

⚠ Enable Billing — Gemini TTS has no free tier

This is the part Hussain calls "the preload step." Gemini Flash TTS will refuse to work until your project has a billing account attached, even if you just want to test.

Go to console.cloud.google.com/billingLink a billing account to your project → add a credit/debit card. Google charges nothing upfront — they only bill you for what you actually use.

How much will it cost? Gemini 3.1 Flash TTS = ~$20 per 1 million output tokens, where 1 second of audio ≈ 25 tokens. So 1 minute of voiceover ≈ $0.03. A typical 10-minute YouTube voiceover ≈ $0.30. Set a daily budget alert to be safe.
4

Set a budget alert (highly recommended)

In BillingBudgets & alerts → Create budget → set $5/month or whatever you're comfortable with. Google emails you at 50%, 90%, and 100%. Sleep peacefully.

5

Paste it above & press Save

Scroll up to ✨ Gemini API Key, paste, save. Now you can use the ✨ Gemini engine with all 30 cinematic voices and audio tags like [whispering], [excited], [laughing].

1

Restrict your API keys (5-minute job, saves you from headaches)

An unrestricted Google API key is like an unlocked credit card. If someone scrapes your browser history or you accidentally paste it into a Discord — they can rack up your bill. Always restrict.

2

Application restriction → HTTP referrers

Open Credentials → click your key → under Application restrictions pick HTTP referrers (websites) → add these two lines:

https://abdullahtofa.com/*
https://yourdomain.com/* (if you self-host)

💡 This means the key only works when called from these websites. Useless to anyone else.
3

API restriction → only what you need

Same page → API restrictionsRestrict key → for the Cloud TTS key, only check "Cloud Text-to-Speech API". For the Gemini key, only check "Generative Language API". Save.

4

What happens to my keys in this tool?

They live in your browser's localStorage, accessible only to this exact website. They never go through my server. When you click Generate, your browser sends the request straight to Google with your key attached. The PHP file that used to hold these keys server-side has been deleted — this is now a pure client-side tool.

💡 Want to wipe them? Click 🗑 Wipe everything at the top. Or open DevTools → Application → Local Storage → delete voiceoverKeys.
5

Using a shared computer?

Don't save your keys here. Just paste them each time you use the tool, and click 🗑 Wipe before you leave. Or use Incognito/Private mode — localStorage clears automatically when you close the window.

Step 2 · Generate your voiceover
✓ Free tier: 4M chars/month (Standard voices) · 1M chars/month (WaveNet/Neural2/Studio)
Your script 0 / 10,000
1. Language
2. Country / Region
3. Gender
4. Voice
Speed 1.00x
Pitch 0.0
Volume 0.0 dB
⚠ Important: The text you generate goes directly to Google, not to me. But Google logs API requests under your account, so don't paste passwords, NDAs, or anything sensitive — same as ChatGPT, same rules.

Your voiceover

→ Right-click the player → "Save audio as…" to download.

💰 Pricing reference (click to expand)
☁️ Cloud TTS
StandardFree: 4M chars/moThen $4 / 1M chars
WaveNetFree: 1M chars/moThen $16 / 1M chars
Neural2Free: 1M chars/moThen $16 / 1M chars
StudioFree: 1M chars/moThen $160 / 1M chars
Chirp 3: HDFree: 1M chars/moThen $30 / 1M chars
Polyglot (Preview)Free: 1M chars/moThen $16 / 1M chars
✨ Gemini TTS (no free tier — billing required)
Gemini 2.5 Flash TTSNo free tier$0.50 input + $10 output / 1M tokens
Gemini 3.1 Flash TTSNo free tier$1 input + $20 output / 1M tokens
Gemini 2.5 Pro TTSNo free tier$1 input + $20 output / 1M tokens

* Audio tokens ≈ 25 tokens per second of audio. 1M chars ≈ 22+ hours of voiceover.
* All pricing is paid directly to Google — I don't take a cent. Verify current prices at cloud.google.com/text-to-speech/pricing and ai.google.dev/pricing.