Top AI Repos — open-source AI, indexed and scored
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
Top AI Repos tracks AI repositories on GitHub and answers two different questions about each one: is it moving right now, and would you bet a product on it.
The official JavaScript (Node) library for the ElevenLabs API.
| Date | Stars |
|---|---|
| 2026-07-24 | 438 |
| 2026-07-25 | 440 |
| 2026-07-28 | 440 |
| 2026-07-30 | 440 |
| 2026-08-06 | 440 |
Today
— stars today
This week
— stars this week
This month
— stars this month
Momentum
35.0
growth rate 0.00%/day
# ElevenLabs JS Library

[](https://buildwithfern.com/?utm_source=fern-elevenlabs/elevenlabs-python/readme)
[](https://discord.gg/elevenlabs)
[](https://twitter.com/elevenlabsio)
[](https://www.npmjs.com/package/@elevenlabs/elevenlabs-js)
> **Note:** This is the Node.js library for ElevenLabs. For the browser SDK, visit [`@elevenlabs/client`](https://www.npmjs.com/package/@elevenlabs/client). For the React SDK, check out [`@elevenlabs/react`](https://www.npmjs.com/package/@elevenlabs/react).
The official Node SDK for [ElevenLabs](https://elevenlabs.io/). ElevenLabs brings the most compelling, rich and lifelike voices to creators and developers in just a few lines of code.
## 📖 API & Docs
Check out the [HTTP API documentation](https://elevenlabs.io/docs/api-reference).
## ⚙️ Install
```bash
npm install @elevenlabs/elevenlabs-js
# or
yarn add @elevenlabs/elevenlabs-js
```
### Main Models
1. **Eleven Multilingual v2** (`eleven_multilingual_v2`)
- Excels in stability, language diversity, and accent accuracy
- Supports 29 languages
- Recommended for most use cases
2. **Eleven Flash v2.5** (`eleven_flash_v2_5`)
- Ultra-low latency
- Supports 32 languages
- Faster model, 50% lower price per character
3. **Eleven Turbo v2.5** (`eleven_turbo_v2_5`)
- Good balance of quality and latency
- Ideal for developer use cases where speed is crucial
- Supports 32 languages
For more detailed information about these models and others, visit the [ElevenLabs Models documentation](https://elevenlabs.io/docs/models).
```ts
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
const elevenlabs = new ElevenLabsClient({
apiKey: "YOUR_API_KEY", // Defaults to process.env.ELEVENLABS_API_KEY
});
const audio = await elevenlabs.textToSpeech.convert("Xb7hH8MSUJpSbSDYk0k2", {
text: "Hello! 你好! Hola! नमस्ते! Bonjour! こんにちは! مرحبا! 안녕하세요! Ciao! Cześć! Привіт! வணக்கம்!",
modelId: "eleven_multilingual_v2",
});
await play(audio);
```
<details> <summary> Play </summary>
<i> Don't forget to unmute the player! </i>
[audio (3).webm](https://github.com/elevenlabs/elevenlabs-python/assets/12028621/778fd3ed-0a3a-4d66-8f73-faee099dfdd6)
</details>
⚠️ elevenlabs-js requires [MPV](https://mpv.io/) and [ffmpeg](https://ffmpeg.org/) to play audio.
## 🗣️ Voices
List all your available voices with `search()`.
```ts
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
const elevenlabs = new ElevenLabsClient({
apiKey: "YOUR_API_KEY", // Defaults to process.env.ELEVENLABS_API_KEY
});
const voices = await elevenlabs.voices.search();
```
For information about the structure of the voices output, please refer to the [official ElevenLabs API documentation for Get Voices](https://elevenlabs.io/docs/api-reference/get-voices).
## 🚿 Streaming
Stream audio in real-time, as it's being generated.
```ts
const audioStream = await elevenlabs.textToSpeech.stream("JBFqnCBsd6RMkjVDRZzb", {
text: "This is a... streaming voice",
modelId: "eleven_multilingual_v2",
});
stream(audioStream);
```
## Speech Engine
Speech Engine lets you build voice-powered AI agents with a custom LLM or add voice to your existing chat agent. The ElevenLabs API connects to your server via WebSocket — each connection represents one conversation. You provide the LLM responses, ElevenLabs handles the speech.
There are two ways to set up a Speech Engine server:
### Attach to an existing HTTP server
Use this when you already have a web server (Express, Next.js, Fastify, etc.) and want to handle Speech EngExcerpt of 10,429 characters
Read on GitHubWould you bet a product on this? Bounded 0–100 and slow moving.
matched fp:b10a0be753571b4d, topic:text-to-speech