npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@memberjunction/ai-elevenlabs

v5.3.1

Published

MemberJunction Wrapper for ElevenLabs Audio Generation

Readme

@memberjunction/ai-elevenlabs

MemberJunction AI provider for ElevenLabs text-to-speech services. This package implements the BaseAudioGenerator interface to provide high-quality voice synthesis, voice management, and pronunciation dictionary support.

Architecture

graph TD
    A["ElevenLabsAudioGenerator<br/>(Provider)"] -->|extends| B["BaseAudioGenerator<br/>(@memberjunction/ai)"]
    A -->|wraps| C["ElevenLabsClient<br/>(elevenlabs-js SDK)"]
    C -->|provides| D["Text-to-Speech"]
    C -->|provides| E["Voice Management"]
    C -->|provides| F["Model Listing"]
    C -->|provides| G["Pronunciation<br/>Dictionaries"]
    B -->|registered via| H["@RegisterClass"]

    style A fill:#7c5295,stroke:#563a6b,color:#fff
    style B fill:#2d6a9f,stroke:#1a4971,color:#fff
    style C fill:#2d8659,stroke:#1a5c3a,color:#fff
    style D fill:#b8762f,stroke:#8a5722,color:#fff
    style E fill:#b8762f,stroke:#8a5722,color:#fff
    style F fill:#b8762f,stroke:#8a5722,color:#fff
    style G fill:#b8762f,stroke:#8a5722,color:#fff
    style H fill:#b8762f,stroke:#8a5722,color:#fff

Features

  • Text-to-Speech: High-quality voice synthesis with customizable voice settings
  • Voice Management: List and browse available voices with labels and preview URLs
  • Model Discovery: Query available audio models with capability metadata
  • Pronunciation Dictionaries: Manage custom pronunciation dictionaries with paginated retrieval
  • Streaming Audio: Audio output returned as base64-encoded buffers
  • Text Normalization: Optional text normalization for improved speech output

Installation

npm install @memberjunction/ai-elevenlabs

Usage

Text-to-Speech

import { ElevenLabsAudioGenerator } from '@memberjunction/ai-elevenlabs';

const tts = new ElevenLabsAudioGenerator('your-elevenlabs-api-key');

const result = await tts.CreateSpeech({
    text: 'Hello, welcome to MemberJunction!',
    voice: 'voice-id-here',
    model_id: 'eleven_turbo_v2'
});

if (result.success) {
    // result.content contains base64-encoded audio
    // result.data contains raw Buffer
    console.log('Audio generated successfully');
}

List Voices

const voices = await tts.GetVoices();
for (const voice of voices) {
    console.log(`${voice.name} (${voice.id}): ${voice.category}`);
}

List Models

const models = await tts.GetModels();
for (const model of models) {
    console.log(`${model.name}: TTS=${model.supportsTextToSpeech}`);
}

Supported Methods

| Method | Description | |--------|-------------| | CreateSpeech | Convert text to speech audio | | GetVoices | List available voices | | GetModels | List available audio models | | GetPronounciationDictionaries | List pronunciation dictionaries |

Limitations

  • SpeechToText is not yet implemented

Class Registration

Registered as ElevenLabsAudioGenerator via @RegisterClass(BaseAudioGenerator, 'ElevenLabsAudioGenerator').

Dependencies

  • @memberjunction/ai - Core AI abstractions (BaseAudioGenerator)
  • @memberjunction/global - Class registration
  • @elevenlabs/elevenlabs-js - Official ElevenLabs SDK