@sefinek/google-tts-api
v2.1.8
Published
Google TTS (Text-To-Speech) for Node.js without any vulnerabilities. For free without any API keys!
Downloads
2,453
Maintainers
Readme
📢 Google TTS API
Google TTS (Text-To-Speech) for Node.js without any vulnerabilities. For free without any API keys!
📥 Installation
$ npm install --save google-tts-api
$ npm install -D typescript @types/node # Only for TypeScript
🤔 Usage
| Method | Options (all optional) | Return Type | Handle Long Text |
|---------------------|-------------------------------------------------|-----------------------------------------------------|:----------------:|
| getAudioUrl
| lang
, slow
, host
| string
| |
| getAudioBase64
| lang
, slow
, host
, timeout
| Promise<string>
| |
| getAllAudioUrls
| lang
, slow
, host
, splitPunct
| { shortText: string; url: string; }[]
| ✅ |
| getAllAudioBase64
| lang
, slow
, host
, timeout
, splitPunct
| Promise<{ shortText: string; base64: string; }[]>
| ✅ |
Options (all optional)
| Option | Type | Default | Description |
|--------------|-----------|------------------------------|-----------------------------------------------------------------------------------------------------------------------------|
| lang
| string
| en | See all available language code at https://cloud.google.com/speech/docs/languages |
| slow
| boolean
| false | Use the slow audio speed if set slow
to true
|
| host
| string
| https://translate.google.com | You can change the host
if the default host could not work in your region (e.g. https://translate.google.com.cn). |
| timeout
| number
| 10000 (ms) | (Only for getAudioBase64
and getAllAudioBase64
) Set timeout for the HTTP request. |
| splitPunct
| string
| | (Only for getAllAudioUrls
and getAllAudioBase64
) Set the punctuation to split the long text to short text. (e.g. ",、。") |
💻 Examples
1. getAudioUrl(text, [option])
import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/google-tts-api'); // CommonJS
// Get audio URL
const url = googleTTS.getAudioUrl('Hello world!', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
});
console.log(url); // https://translate.google.com/translate_tts?...
2. getAudioBase64(text, [option])
import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/google-tts-api'); // CommonJS
// Get base64 text
googleTTS
.getAudioBase64('Hello world!', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
timeout: 10000,
})
.then(console.log) // base64 text
.catch(console.error);
3. getAllAudioUrls(text, [option])
(For text longer than 200 characters)
import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/google-tts-api'); // CommonJS
const results = googleTTS.getAllAudioUrls('LONG_TEXT_...', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
splitPunct: ',.?',
});
console.log(results);
// [
// { shortText: '...', url: '...' },
// { shortText: '...', url: '...' },
// ...
// ];
4. getAllAudioBase64(text, [option])
(For text longer than 200 characters)
import * as googleTTS from '@sefinek/google-tts-api'; // ES6 or TypeScript
const googleTTS = require('@sefinek/google-tts-api'); // CommonJS
googleTTS
.getAllAudioBase64('LONG_TEXT_...', {
lang: 'en',
slow: false,
host: 'https://translate.google.com',
timeout: 10000,
splitPunct: ',.?',
})
.then(console.log)
// [
// { shortText: '...', base64: '...' },
// { shortText: '...', base64: '...' },
// ...
// ];
.catch(console.error);
More examples
📑 License
MIT