rapidapi-tts
v1.1.0
Published
Official Node.js wrapper for the Text-to-Speech API. Convert text to speech with 400+ voices, word-level timestamps, adjustable speed and pitch.
Maintainers
Readme
Text-to-Speech API — Node.js SDK
Official Node.js wrapper for the Text-to-Speech API on RapidAPI.
Convert text to natural-sounding speech with 400+ voices in 100+ languages, word-level timestamps, adjustable speed and pitch.
Install
npm install text-to-speech-apiQuick Start
import TTSAPI from 'text-to-speech-api';
import { writeFileSync } from 'fs';
const api = new TTSAPI('YOUR_RAPIDAPI_KEY');
// Generate speech
const audio = await api.tts({ text: 'Hello, world!' });
writeFileSync('hello.mp3', audio);
// List English voices
const { voices } = await api.voices('en');
console.log(voices);API
new TTSAPI(apiKey) or new TTSAPI(options)
| Option | Type | Default | Description |
|--------|------|---------|-------------|
| apiKey | string | — | Your RapidAPI key (required) |
| baseUrl | string | RapidAPI URL | Override base URL |
| timeout | number | 30000 | Request timeout in ms |
api.health() — Health Check
const status = await api.health();
// { status: "ok", voices_count: 322, version: "1.0.0" }api.voices(language?) — List Voices
// All voices
const all = await api.voices();
// French voices only
const french = await api.voices('fr');api.tts(params) — Text to Speech (Free tier)
Returns audio as a Buffer.
const audio = await api.tts({
text: 'Breaking news from around the world.',
voice: 'en-US-GuyNeural', // optional
rate: '+20%', // optional: -50% to +100%
pitch: '+0Hz', // optional
format: 'mp3', // optional: mp3 or wav
});
writeFileSync('news.mp3', audio);api.ttsWithTimestamps(params) — TTS + Timestamps (Basic tier)
Returns audio as base64 + word-level timing data.
const result = await api.ttsWithTimestamps({
text: 'Five amazing facts about space.',
voice: 'en-GB-SoniaNeural',
});
console.log(result.timestamps);
// [{ text: "Five", offset_ms: 0, duration_ms: 350 }, ...]
// Decode audio
const audio = Buffer.from(result.audio_base64, 'base64');
writeFileSync('space.mp3', audio);Pricing
| Tier | Price | Requests/day | Max chars | |------|-------|-------------|-----------| | Free | $0 | 50 | 1,000 | | Basic | $3/mo | 500 | 5,000 | | Pro | $9/mo | 5,000 | 10,000 |
Requirements
- Node.js 18+ (uses native
fetch) - Zero dependencies
License
MIT
