@cheap-tts/node
v0.2.0
Published
Unlimited, low-cost multilingual text to speech for Node.js with an efficient voice SDK
Maintainers
Readme
Cheap TTS Node SDK
Build unlimited multilingual voice into Node.js applications at a predictable low cost. The Cheap TTS API powers language-aware text processing and curated voice selection, while the SDK efficiently manages generation and reusable local voice assets.
An active Cheap TTS subscription and a server secret key are required.
npm install @cheap-tts/nodeimport { CheapTts } from "@cheap-tts/node";
const tts = new CheapTts({ secretKey: process.env.CHEAP_TTS_SECRET_KEY! });
const result = await tts.synthesize({
text: "Xin chào từ Cheap TTS.",
voice: "vi-entertainment",
});
await result.save("./audio.wav");
await tts.destroy();Call loadVoice() during application warm-up to prepare a voice before the first request. The SDK manages reusable local assets automatically; set cacheDir or CHEAP_TTS_CACHE_DIR to control their location.
The SDK sends operational health telemetry (success/failure stage, latency, character count, voice ID, and audio duration). It never sends TTS text or credentials. Set telemetry: false in the constructor to disable it.
Reading pauses
Pauses are left to the voice model by default. Pass pauses to insert real silence after a punctuation mark instead, in seconds (0–2):
await tts.synthesize({
text,
voice: "vi-entertainment",
pauses: { sentence: 0.4, paragraph: 0.8 },
});Fields: sentence, comma, ellipsis, paragraph (a blank line). Every field is optional and defaults to 0, meaning the model's own pause — so omitting pauses keeps the audio you get today. Raising a value costs generation speed, because the audio has to be cut at that boundary for silence to follow it.
