2.0.3 • Published 4 months ago
elevenlabs-node v2.0.3
About
This is an open source Eleven Labs NodeJS package for converting text to speech using the Eleven Labs API.
Features
Function | Parameters | Endpoint |
---|---|---|
textToSpeech | ({voiceId, fileName, textInput, stability, similarityBoost, modelId, style, speakerBoost}) | /v1/text-to-speech/{voice_id} |
textToSpeechStream | ({voiceId, textInput, stability, similarityBoost, modelId, responseType, style, speakerBoost}) | /v1/text-to-speech/{voice_id}/stream |
editVoiceSettings | ({voiceId, stability, similarityBoost}) | /v1/voices/{voice_id}/settings/edit |
getVoiceSettings | ({voiceId}) | /v1/voices/{voice_id}/settings |
deleteVoice | ({voiceId}) | /v1/voices/{voice_id} |
getVoice | ({voiceId}) | /v1/voices/{voice_id} |
getVoices | N/A | /v1/voices |
getModels | N/A | /v1/models |
getUserInfo | N/A | /v1/user |
getUserSubscription | N/A | /v1/user/subscription |
getDefaultVoiceSettings | N/A | /v1/voices/settings/default |
Parameters
Variable | Description | Type |
---|---|---|
fileName | Name and file path for your audio file e.g (./gen/hello ) | String |
textInput | Text to be converted into audio e.g (Hello ) | String |
stability | Stability for Text to Speech default (0 ) | Float |
similarityBoost | Similarity Boost for Text to Speech default (0 ) | Float |
voiceId | ElevenLabs Voice ID e.g (pNInz6obpgDQGcFmaJgB ) | String |
modelId | ElevenLabs Model ID e.g (eleven_multilingual_v2 ) | String |
responseType | Streaming response type e.g (stream ) | String |
speakerBoost | Speaker Boost for Text to Speech e.g (true ) | Boolean |
style | Style Exaggeration for Text to Speech (0-100) default (0 ) | Integer |
Requirements
Get Started
To install the Elevenlabs package, run the following command:
npm install elevenlabs-node
Setup
Setup the ElevenLabs configurations for your project.
Variable | Description | Default |
---|---|---|
apiKey | (Required ) Your API key from Elevenlabs | N/A |
voiceId | (Optional ) A Voice ID from Elevenlabs | Adam (pNInz6obpgDQGcFmaJgB ) |
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
voiceId: "pNInz6obpgDQGcFmaJgB", // A Voice ID from Elevenlabs
}
);
Usage
Text To Speech
Generating an audio file from text.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
voiceId: "pNInz6obpgDQGcFmaJgB", // A Voice ID from Elevenlabs
}
);
voice.textToSpeech({
// Required Parameters
fileName: "audio.mp3", // The name of your audio file
textInput: "mozzy is cool", // The text you wish to convert to speech
// Optional Parameters
voiceId: "21m00Tcm4TlvDq8ikWAM", // A different Voice ID from the default
stability: 0.5, // The stability for the converted speech
similarityBoost: 0.5, // The similarity boost for the converted speech
modelId: "eleven_multilingual_v2", // The ElevenLabs Model ID
style: 1, // The style exaggeration for the converted speech
speakerBoost: true // The speaker boost for the converted speech
}).then((res) => {
console.log(res);
});
Text To Speech Stream
Generating an audio stream from text.
const ElevenLabs = require("elevenlabs-node");
const fs = require("fs-extra");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
voiceId: "pNInz6obpgDQGcFmaJgB", // A Voice ID from Elevenlabs
}
);
const voiceResponse = voice.textToSpeechStream({
// Required Parameters
textInput: "mozzy is cool", // The text you wish to convert to speech
// Optional Parameters
voiceId: "21m00Tcm4TlvDq8ikWAM", // A different Voice ID from the default
stability: 0.5, // The stability for the converted speech
similarityBoost: 0.5, // The similarity boost for the converted speech
modelId: "eleven_multilingual_v2", // The ElevenLabs Model ID
style: 1, // The style exaggeration for the converted speech
responseType: "stream", // The streaming type (arraybuffer, stream, json)
speakerBoost: true // The speaker boost for the converted speech
}).then((res) => {
res.pipe(fs.createWriteStream(fileName));
});
Edit Voice Settings
Editing voice settings.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.editVoiceSettings({
// Required Parameters
voiceId: "pNInz6obpgDQGcFmaJgB", // The ID of the voice you want to edit
stabilityBoost: 0.5, // The Stability Boost for the voice
similarityBoost: 0.5, // The Similarity Boost for the voice
}).then((res) => {
console.log(res);
});
Get Voice Settings
Getting voice settings.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getVoiceSettings({
// Required Parameters
voiceId: "pNInz6obpgDQGcFmaJgB" // The ID of the voice you want to get
}).then((res) => {
console.log(res);
});
Delete Voice
Delete voice.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.deleteVoice({
// Required Parameters
voiceId: "pNInz6obpgDQGcFmaJgB" // The ID of the voice you want to delete
}).then((res) => {
console.log(res);
});
Get Voice
Getting voice details.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getVoice({
// Required Parameters
voiceId: "pNInz6obpgDQGcFmaJgB" // The ID of the voice you want to get
}).then((res) => {
console.log(res);
});
Get Voices
Getting all voice details.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getVoices().then((res) => {
console.log(res);
});
Get Models
Getting all model details.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getModels().then((res) => {
console.log(res);
});
Get User Info
Getting user info associated with the API Key.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getUserInfo().then((res) => {
console.log(res);
});
Get User Subscription
Getting user subscription info associated with the API Key.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getUserSubscription().then((res) => {
console.log(res);
});
Get Default Voice Settings
Getting default voice settings.
const ElevenLabs = require("elevenlabs-node");
const voice = new ElevenLabs(
{
apiKey: "0e2c037kl8561005671b1de345s8765c", // Your API key from Elevenlabs
}
);
const voiceResponse = voice.getDefaultVoiceSettings().then((res) => {
console.log(res);
});
Contributing
Contributions are welcome :)
Read our CONTRIBUTING.md to learn more.