Skip to content

Gandr TTS from Python.

The official package. Zero dependencies, streaming and retry built in, one constructor line.

Ask Claude CodeAsk ChatGPT

The whole integration

Install and call. The key lives in your environment.

Integration
pip install gandr

from gandr import Gandr
g = Gandr("gnd_...")        # or read GANDR_API_KEY
g.say("Hello from Gandr.")

Python 3.9 or newer, no other packages. Streaming, prewarm and retry are inside the client, so a cold call does not fail.

What it needs

What it takes

One packagepip install gandr
A keyPass gnd_... or set GANDR_API_KEY
Python3.9 or newer
DependenciesNone

Why the package exists

The client is the surface a Python team meets first. Zero dependencies means one install and no version fights, and streaming, prewarm and retry are inside the client so a cold call does not fail on a first request.

The constructor takes a key or reads GANDR_API_KEY from the environment. The say method returns playable audio, and the streaming surface returns chunks as they render.

What the flat stream changes

Python backs a lot of batch work: narration, dubbing pipelines, agent loops. On a per-character meter those jobs bill by volume; on a flat stream the bill is the stream, and long render jobs stop being a cost line to avoid.

  • One stream carries batch and streaming work alike
  • No per-character meter on long narration jobs
  • Retry and prewarm are built in, not bolted on

Notes

Do I need to install anything besides gandr?

No. The package is zero dependency. Python 3.9 or newer is the only requirement.

Can I stream audio as it renders?

Yes. The same constructor exposes a streaming surface that returns chunks as they are synthesized.

A key and one stream, and your Python app speaks.

Get a key

Full API reference , gandr.ai/docs