Free text-to-speech API allowances compared, October 2026

Azure's 0.5M free characters, Speechmatics' first 1M free and Deepgram's $200 credit side by side, plus Sume TTS limits: 20,000 characters, 1,200 seconds.

4 min readSume
All posts

Three vendors publish a free text-to-speech allowance on their pricing pages: Azure at 0.5 million characters per month, Speechmatics with its first 1 million characters free, and Deepgram through a $200 signup credit. Sume's docs publish no free TTS allowance and no public TTS rate, so the useful comparison is limits: up to 20,000 characters per request and a 1,200-second audio ceiling.

What each page says

Rates are quoted only where the page prints one. Deepgram's Aura-2 is $0.030 per 1,000 characters, so $200 would cover about 6.7 million characters if spent only on Aura-2.

Free TTS, read 2026-10-02
VendorFree allowanceRate on page
Azure Speech (F0)0.5 million characters per monthShown after region selection
SpeechmaticsFirst 1 million characters free$0.011 per 1,000 characters
Deepgram$200 signup creditAura-2 $0.030 per 1,000 characters
Sume TTS 1.0None claimed in docsNot published in docs

Sume TTS limits to plan around

Each request takes up to 20,000 characters, and synthesized audio longer than 1,200 seconds fails with tts_duration_exceeded. Output defaults to mp3 at 44.1 kHz and 128 kbps.

import os, requests

r = requests.post(
    "https://api.sume.com/v1/tts-1.0/generate",
    headers={"Authorization": f"Bearer {os.environ['SUME_API_KEY']}",
             "Idempotency-Key": "tts-demo-001"},
    json={"transcript": "Welcome back. Today we cover three updates.",
          "avatar_id": os.environ["SUME_AVATAR_ID"],
          "generation_config": {"speed": 0.95, "emotion": "warm"},
          "output_format": {"container": "mp3", "sample_rate": 44100,
                            "bit_rate": 128000}},
)
print(r.status_code, r.json())

How to test fairly

Use the same script on every service, include numbers and brand names, and listen for pronunciation. Sume accepts a pronunciation_dict_id for names. Free characters vanish quickly: 1 million characters is only a few hours of narration.

Worked example

Plan your evaluation around the limits.

  • Take a 1,000-character script and a 15,000-character script.
  • Run both on each service and listen for pronunciation and pacing.
  • On Sume, remember the 20,000-character and 1,200-second limits.

Checklist before you commit

Because the free allowances are in characters, a single long script can eat most of a monthly Azure allowance: 0.5 million characters is 25 scripts of 20,000.

  • Check licensing for generated audio.
  • Add a pronunciation dictionary for brand names.
  • Disclose synthetic voices to listeners where required.

Sources

Related posts

More in Comparisons

All Comparisons posts

Written by Sume