text-to-speech
Convert text to speech using ElevenLabs voice AI.
Skill by elevenlabsOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/elevenlabs-text-to-speech
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: audio-video, voice-agents
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/text-to-speech
What's inside
- Skill name
text-to-speech- Description
- Convert text to speech using ElevenLabs voice AI. Use when generating audio from text, creating voiceovers, building voice apps, or synthesizing speech in 90+ languages.
- License
- MIT
- Compatibility
- Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).
- Instructions
- 280 lines in SKILL.md · view on GitHub
Files (4)
- SKILL.md
- installation.md · references/
- streaming.md · references/
- voice-settings.md · references/
SKILL.md (first lines)
# ElevenLabs Text-to-Speech
Generate natural speech from text - supports 90+ languages, multiple models for quality vs latency tradeoffs. Examples default to `eleven_v4`, the latest and highest-quality model.
> **Setup, before writing any code:** if `ELEVENLABS_API_KEY` isn't set for this project, run `npx -y @elevenlabs/cli@latest onboard init` from the app's folder first and follow what it prints: it signs the user in and stores a key for the project, so nobody copies one by hand. Otherwise see the [Installation Guide](references/installation.md). For JavaScript, use `@elevenlabs/*` packages only.
## Quick Start
### Python
```python
from elevenlabs import ElevenLabs
client = ElevenLabs()
audio = client.text_to_speech.convert(
text="Hello, welcome to ElevenLabs!",
voice_id="JBFqnCBsd6RMkjVDRZzb", # George
model_id="eleven_v4"
)
with open("output.mp3", "wb") as f:
for chunk in audio:
f.write(chunk)
```
### JavaScript
```javascript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createWriteStream } from "fs";
import { Readable } from "stream";
const client = new ElevenLabsClient();
const audio = await client.textToSpeech.convert("JBFqnCBsd6RMkjVDRZzb", {
text: "Hello, welcome to ElevenLabs!",
modelId: "eleven_v4",
});
// convert() returns a web ReadableStream — bridge it to a Node stream to write to disk
Readable.fromWeb(audio).pipe(createWriteStream("output.mp3"));
```
### CLI
Use `say` to play text immediately with the default voice and `eleven_v3` model:
```bash
elevenlabs say "Hello!"
```
Pipe text into `say` when another command produces the input:
```bash
echo "The build finished successfully." | elevenlabs say
```
Use the API command when you need to set request parameters directly:
```bash
elevenlabs text-to-speech convert --voice-id JBFqnCBsd6RMkjVDRZzb \
--text "Hello!" --model-id eleven_v4 --output output.mp3
```
The CLI reads `ELEVENLABS_API_KEY` from the environment automatically.
## Models
| Model ID | Languages | Latency | Best For |
|----------|-----------|---------|----------|
| `eleven_v4` | 90+ | Standard | **Default.** Highest quality, emotional range, audio tags, voice cloning accuracy |
| `eleven_v4_turbo` | 90+ | ~100ms | Real-time v4 quality for agents and interactive apps (via [Text to Dialogue WebSocket](references/streaming.md#eleven-v4-turbo-websocket)) |
| `eleven_flash_v2_5` | 32 | ~75ms | Lowest latency, lowest cost, `stream-input` WebSocket |
| `eleven_flash_v2` | English | ~75ms | English-only, lowest latency |
| `eleven_multilingual_v2` | 29 | Standard | Previous generation; most stable on very long-form generations |
| `eleven_v3` | 70+ | Standard | Previous generation expressive model |
`eleven_turbo_v2_5` and `eleven_turbo_v2` are superseded by the Flash models (same output, lower latency) — use `eleven_flash_v2_5` / `eleven_flash_v2` instead.
**Eleven v4 notes:** supports only `stability` and `similarity_boost` voice settings (no `style` or `speed`), does not support SSML, and is not available on the `stream-input` TTS WebSocket. Direct delivery with audio tags such as `[whispers]`, `[laughs]`, `[sarcastic]`.
## Voice IDs
Use pre-made voices or create custom voices in the dashboard.
**Popular voices:**
- `JBFqnCBsd6RMkjVDRZzb` - George (male, narrative)
- `EXAVITQu4vr4xnSDxMaL` - Sarah (female, soft)
- `onwK4e9ZLuTAKqWW03F9` - Daniel (male, authoritative)
- `XB0fDUnXU5powFXDhCwa` - Charlotte (female, conversational)
```python
voices = client.voices.get_all()
for voice in voices.voices:
print(f"{voice.voice_id}: {voice.name}")
```
## Voice Settings
Fine-tune how the voice sounds:
- **Stability**: How consistent the voice stays. Lower values = more emotional range and variation, but can sound unstable. Higher = steady, predictable delivery.
- **Similarity boost**: How closely to match the original voice sample. Higher values sound more like the original but may amplify audio artifacts.
- **Style**: Exaggerates the voice's unique style characteristics (v2/v3 models; not supported on Eleven v4).
- **Speed**: Speech speed multiplier (v2/v3 models; not supported on Eleven v4).
- **Speaker boost**: Post-processing that enhances clarity and voice similarity.
```python
from elevenlabs import VoiceSettings
audio = client.text_to_speech.convert(
text="Customize my voice settings.",
voice_id="JBFqnCBsd6RMkjVDRZzb",
model_id="eleven_v4",
voice_settings=VoiceSettings(
stability=0.5, # Lower = more expressive, higher = more consistent
similarity_boost=0.75, # Higher = closer to the reference voice
)
)
```From elevenlabs/skills, MIT.
More from elevenlabs/skills
- 0.814score
realtime
elevenlabsOfficial
Use ElevenLabs Realtime models (`eleven_realtime_v1_mini`, `eleven_realtime_v1_max`), the low-latency models built for voice conversation.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
dubbing
elevenlabsOfficial
Dub audio and video into other languages using the ElevenLabs Dubbing API (dubbing_v2), preserving the original speakers' voices.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
music
elevenlabsOfficial
Generate music using ElevenLabs Music API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-isolator
elevenlabsOfficial
Remove background noise and isolate vocals/speech from audio using ElevenLabs Voice Isolator (audio isolation) API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-changer
elevenlabsOfficial
Transform the voice in an audio recording into a different target voice while preserving emotion, timing, and delivery using the ElevenLabs Voice Changer…
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
speech-to-text
elevenlabsOfficial
Transcribe audio to text using ElevenLabs Scribe v2.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
speech-engine
elevenlabsOfficial
Add real-time voice conversations to a custom agent runtime with ElevenLabs Speech Engine.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
sound-effects
elevenlabsOfficial
Generate sound effects from text descriptions using ElevenLabs.
SkillAFreshness: A★ 508Claude Code +9 - 0.808score
onboarding
elevenlabsOfficial
Add ElevenLabs to a project from scratch.
SkillAFreshness: A★ 508Claude Code +9 - 0.808score
setup-api-key
elevenlabsOfficial
Fix or hand-configure an existing ElevenLabs API key.
SkillAFreshness: A★ 508Claude Code +9 - 0.803score
agents
elevenlabsOfficial
Build voice AI agents with ElevenLabs.
SkillAFreshness: A★ 508Claude Code +9 - 0.800score
update-skills-from-changelog
elevenlabsOfficial
Update ElevenLabs agent skills from a merged weekly changelog in elevenlabs-dx, then open a pull request in elevenlabs/skills.
SkillAFreshness: A★ 508Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 508
- Forks
- 85
- Open issues
- 1
- Last commit (this folder)
- Oct 18, 2026 (9 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/elevenlabs/skills
- Website
- elevenlabs.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
More from elevenlabs
- 0.814score
realtime
elevenlabsOfficial
Use ElevenLabs Realtime models (`eleven_realtime_v1_mini`, `eleven_realtime_v1_max`), the low-latency models built for voice conversation.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
dubbing
elevenlabsOfficial
Dub audio and video into other languages using the ElevenLabs Dubbing API (dubbing_v2), preserving the original speakers' voices.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
music
elevenlabsOfficial
Generate music using ElevenLabs Music API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-isolator
elevenlabsOfficial
Remove background noise and isolate vocals/speech from audio using ElevenLabs Voice Isolator (audio isolation) API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-changer
elevenlabsOfficial
Transform the voice in an audio recording into a different target voice while preserving emotion, timing, and delivery using the ElevenLabs Voice Changer…
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
speech-to-text
elevenlabsOfficial
Transcribe audio to text using ElevenLabs Scribe v2.
SkillAFreshness: A★ 508Claude Code +9
Cite this page
text-to-speech skill. Agent Mart. https://agentmart.dev/skills/elevenlabs-text-to-speech (last updated 2026-10-24)