Gandr TTS from Node.
The official package for Node 18 and newer. Zero dependencies, same surface as the Python SDK.
The whole integration
Install and call. Keep the key on the server.
npm install gandr
const { Gandr } = require('gandr');
const g = new Gandr('gnd_...'); // or read GANDR_API_KEY
await g.say('Hello from Gandr.');
Node 18 or newer, no other packages. Streaming, prewarm and retry are inside the client.
What it needs
What it takes
| One package | npm install gandr |
| A key | Pass gnd_... or set GANDR_API_KEY |
| Node | 18 or newer |
| Dependencies | None |
Node is where the servers live
Most of the apps that want speech run on Node. The package keeps the key on the server, never in the browser bundle, and exposes the same say and streaming surfaces as the Python SDK, so a team that ships both keeps one mental model.
Node 18 or newer, no other packages. The client handles streaming, prewarm and retry, so a cold call does not fail on the first request.
What the flat stream changes
A Node service often speaks a lot: voice agents, notifications, live narration. On a per-character meter every spoken word is a billed character; on a flat stream the service talks as much as its users need and nothing is counted.
- One stream carries a whole server, not one session
- No per-character meter on high-volume voice
- The key stays server-side, out of the browser
Notes
Is the Node package the same API as the Python one?
Yes. Same constructor shape, same say and streaming surfaces, same voice ids. A team that ships both keeps one mental model.
Node version is required?
Node 18 or newer. No other packages or build steps.