📅 You're Invited: Meet the Socket team at RSAC (April 28 – May 1).RSVP

elevenlabs-node

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

elevenlabs-node

This is an open source Eleven Labs NodeJS package for converting text to speech using the Eleven Labs API

2.0.3
latest
Version published
Weekly downloads
2.2K
17.53%
Maintainers
1
Weekly downloads
 
Created

Eleven Labs Logo

Eleven Labs Node

Eleven Labs NodeJS package for converting text to speech!

GitHub Contributors Issues GitHub pull requests

NPM Package Build

Report Bug · Request Feature

Drop us a ⭐ on GitHub to help the project improve!

Stars

About

This is an open source Eleven Labs NodeJS package for converting text to speech using the Eleven Labs API.

Features

Function
ParametersEndpoint
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}
getVoicesN/A/v1/voices
getModelsN/A/v1/models
getUserInfoN/A/v1/user
getUserSubscriptionN/A/v1/user/subscription
getDefaultVoiceSettingsN/A/v1/voices/settings/default

Parameters

Variable
DescriptionType
fileNameName and file path for your audio file e.g (./gen/hello)String
textInputText to be converted into audio e.g (Hello)String
stabilityStability for Text to Speech default (0)Float
similarityBoostSimilarity Boost for Text to Speech default (0)Float
voiceIdElevenLabs Voice ID e.g (pNInz6obpgDQGcFmaJgB)String
modelIdElevenLabs Model ID e.g (eleven_multilingual_v2)String
responseTypeStreaming response type e.g (stream)String
speakerBoostSpeaker Boost for Text to Speech e.g (true)Boolean
styleStyle 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
DescriptionDefault
apiKey(Required) Your API key from ElevenlabsN/A
voiceId(Optional) A Voice ID from ElevenlabsAdam (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.

FAQs

Package last updated on 11 Jan 2024

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts