← Back to Voice Compiler

Setting up narration voices

Voice Compiler turns articles into spoken audio. The on-device system voice works with no setup. The cloud voices below sound more natural — each needs its own free API key that you paste into Settings → Provider API keys. Keys are stored on the server and never shown again.

Which voice should I pick?

Tip: if you mainly want to read along word-for-word, use Google Cloud, ElevenLabs, or Amazon Polly.

Google Cloud TTS

You need a Google account and a Google Cloud project with billing enabled. The free tier covers 1 million characters a month, so normal reading stays free — but a card on file is required by Google.

  1. Go to console.cloud.google.com and create or pick a project.
  2. Open APIs & Services → Library, search Cloud Text-to-Speech API, and click Enable.
  3. If asked, link a billing account (Billing in the left menu).
  4. Open APIs & Services → Credentials → Create credentials → API key.
  5. (Recommended) Click Edit API key → Restrict key and limit it to Cloud Text-to-Speech API.
  6. Copy the key, then in Voice Compiler open Settings → Provider API keys, select Google Cloud, paste, Save key, then Test.

Note: this is not the same key as Gemini. A Cloud Text-to-Speech key does not work for Gemini, and vice versa.

Gemini

The quickest key to get — no billing required for the free tier. It comes from Google AI Studio, which is separate from Google Cloud above.

  1. Go to aistudio.google.com/apikey and sign in with your Google account.
  2. Click Create API key (you can create it in a new or existing project).
  3. Copy the key, then in Voice Compiler open Settings → Provider API keys, select Gemini, paste, Save key, then Test.

Heads-up: Gemini voices sound great, but the read-along highlight is estimated, so a word can drift slightly from the audio. For exact highlighting use Google Cloud or ElevenLabs.

ElevenLabs

  1. Create a free account at elevenlabs.io.
  2. Open your profile menu and choose API Keys (or visit Settings → API Keys).
  3. Click Create API Key and copy it.
  4. In Voice Compiler open Settings → Provider API keys, select ElevenLabs, paste, Save key, then Test.

The free tier has a monthly character limit; long articles use it up quickly.

xAI (Grok)

  1. Sign in at console.x.ai.
  2. Open API Keys and create a new key (this provider is paid — add credit first).
  3. In Voice Compiler open Settings → Provider API keys, select xAI, paste, Save key, then Test.

Inworld

Inworld is a low-cost cloud TTS. German voices appear from its live catalog once a key is set. Word highlighting is approximate — Voice Compiler estimates timing (turn on neural CTC alignment for more accuracy); Inworld's own high-accuracy timestamps are English-only.

  1. Create an account at inworld.ai and open the developer portal (the free tier includes a one-time evaluation allowance).
  2. Open API Keys, generate a key, and copy its Base64 form — Voice Compiler expects that ready-made Basic string, so no extra encoding is needed.
  3. In Voice Compiler open Settings → Provider API keys, select Inworld, paste, Save key, then Test.

Models: 1.5 Mini is the cheapest, 1.5 Max the highest quality, TTS-2 the newest with the widest language coverage.

Speechify

Speechify returns word-level timestamps with every request, so read-along is word-exact without the estimated fallback and without a second billed call. Mind the model: Simba 3.2 is the flagship but is English only — pick Simba 3.0 or Simba Multilingual for German.

  1. Sign up at speechify.ai and open the API console. The free plan gives 50,000 characters per month, recurring, with no card required.
  2. Create an API key (it starts with sk_) and copy it.
  3. In Voice Compiler open Settings → Provider API keys, select Speechify, paste, Save key, then Test.

Beyond the free allowance, paid use starts at the Starter plan: $10 per month including one million characters, then $10 per additional million. Unlike some providers there is no pay-as-you-go tier without a monthly plan. Speechify's terms also ask that audio played to other people is disclosed as AI-generated.

Amazon Polly

Polly uses AWS credentials: an access key ID, a secret access key, and a region. You paste all three in Settings → Provider API keys (select Amazon Polly). Polly gives exact word-by-word highlighting and the widest German voice range (de-DE, de-AT, de-CH).

  1. Sign in to the AWS Console (or create a free account — Polly's free tier covers the first 12 months).
  2. Open IAM → Users → Create user, then attach the AmazonPollyReadOnlyAccess policy (it allows DescribeVoices and SynthesizeSpeech — nothing else is needed).
  3. On that user open Security credentials → Create access key and copy both the Access key ID and the Secret access key (the secret is shown once).
  4. Pick a region close to you that supports Polly, e.g. eu-central-1 (Frankfurt) or us-east-1.
  5. In Voice Compiler open Settings → Provider API keys, select Amazon Polly, paste the secret access key in API key, fill in Access key ID and AWS region, Save key, then Test.

Pricing: Standard voices are the cheapest but sound more robotic; Neural voices cost more but sound natural. Speech Marks (word timing) are billed at the same rate as the audio — no extra charge.

Azure AI Speech

Azure needs a subscription key and the region of your Speech resource, both pasted in Settings → Provider API keys (select Azure AI Speech). Azure has a very large German neural catalog and a recurring free tier (F0). Note: word highlighting is approximate — the plain voice REST API returns no word timing, so Voice Compiler estimates it (turn on neural CTC alignment for more accuracy).

  1. Sign in to the Azure Portal and Create a resource → Speech (the free F0 tier gives 500,000 characters a month).
  2. Open the created Speech resource, then Keys and Endpoint.
  3. Copy KEY 1 and note the Location/Region shown there (e.g. westeurope).
  4. In Voice Compiler open Settings → Provider API keys, select Azure AI Speech, paste the key in API key, fill in Azure region, Save key, then Test.

The model picker also offers MAI (preview) — Microsoft's newer, more expressive voices (including German). MAI voices use the same key but are billed like Azure's HD voices and are not covered by the free tier. When you pick an Azure Neural voice, the narration dialog shows how many of your 500,000 free monthly characters are left and warns before a generation would exceed them.

Custom pricing (optional)

Each provider row in Settings → Provider API keys has an optional Custom rate (USD per 1M characters) field. Set it only if your plan or discount differs from the list price — for example an ElevenLabs subscription or an AWS volume rate. Leave it empty to use the provider's list/API price. This changes the in-app cost estimate and the cost ledger only; it never affects what the provider actually bills you.

What does “Test” do?

Test asks the provider to speak a single word using your key. A green ✓ Connection OK means the key works. A red message usually means the key is wrong, billing isn’t enabled, or the provider is out of quota. The badge next to each provider shows whether a key is currently stored.

Keyboard shortcuts

While the reader is open on a document with generated narration, these keys control playback (they are ignored while typing in a text field or with a dialog open):

The same keys drive device Read aloud, where skipping moves by paragraph instead of by seconds.

Curious what happens to your article text and API keys? See the Privacy Policy.