voice-changer
Transform the voice in an audio recording into a different target voice while preserving emotion, timing, and delivery using the ElevenLabs Voice Changer…
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-voice-changer
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: backend, productivity, audio-video
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/voice-changer
What's inside
- Skill name
voice-changer- Description
- Transform the voice in an audio recording into a different target voice while preserving emotion, timing, and delivery using the ElevenLabs Voice Changer (speech-to-speech) API. Use when converting one voice to another, changing the speaker/narrator of an existing recording, dubbing a voice-over in a different voice, creating character voices from a scratch performance, anonymizing a speaker, or any "voice conversion / voice transfer / speech-to-speech" task. Make sure to use this skill whenever the user mentions voice changing, voice conversion, speech-to-speech, swapping a voice in audio, re-voicing a clip, or applying a different voice to an existing recording — even if they don't explicitly say "voice changer". Do not use this skill to create or clone a new voice from a voice sample — that is voice cloning (IVC/PVC), a separate feature; this skill only converts an existing recording into an existing voice_id.
- License
- MIT
- Compatibility
- Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).
- Instructions
- 258 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (2)
- SKILL.md
- installation.md · references/
SKILL.md (first lines)
# ElevenLabs Voice Changer
Transform the voice in an audio recording into a different target voice. Voice Changer (previously called Speech-to-Speech — the API endpoint and SDK methods still use the `speech_to_speech` / `speechToSpeech` name) keeps the original performance — emotion, pacing, intonation, breaths, whispers, laughs, cries — and only swaps who is speaking.
> **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.
## Key Facts
- **Maximum input length:** 5 minutes per request — split longer recordings into chunks and stitch the outputs.
- **Maximum file size:** 50 MB per request — compress to MP3 if your source is larger.
- **Pricing:** 1,000 characters per minute of audio processed (duration-based, not text-based).
- **Recommended model:** `eleven_multilingual_sts_v2` — often outperforms `eleven_english_sts_v2` even for English-only content.
## Quick Start
### Python
```python
from elevenlabs import ElevenLabs
client = ElevenLabs()
with open("source.mp3", "rb") as audio_file:
audio_stream = client.speech_to_speech.convert(
voice_id="JBFqnCBsd6RMkjVDRZzb", # George
audio=audio_file,
model_id="eleven_multilingual_sts_v2",
output_format="mp3_44100_128",
)
with open("converted.mp3", "wb") as f:
for chunk in audio_stream:
f.write(chunk)
```
### JavaScript
```javascript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createReadStream, createWriteStream } from "fs";
const client = new ElevenLabsClient();
const audioStream = await client.speechToSpeech.convert("JBFqnCBsd6RMkjVDRZzb", {
audio: createReadStream("source.mp3"),
modelId: "eleven_multilingual_sts_v2",
outputFormat: "mp3_44100_128",
});
audioStream.pipe(createWriteStream("converted.mp3"));
```
### CLI
```bash
elevenlabs speech-to-speech convert \
--voice-id JBFqnCBsd6RMkjVDRZzb \
--audio source.mp3 \
--model-id eleven_multilingual_sts_v2 \
--output-format mp3_44100_128 \
--output converted.mp3
```
## Parameters
| Parameter | Type | Default | Description |
|-----------|------|---------|-------------|
| `voice_id` | string (required) | — | Target voice to speak in. Use a pre-made voice ID, a cloned voice, or a voice from the library |
| `audio` | file (required) | — | Source audio whose performance (emotion, timing, delivery) will be preserved |
| `model_id` | string | `eleven_english_sts_v2` | `eleven_multilingual_sts_v2` for 29 languages, `eleven_english_sts_v2` for English-only |
| `output_format` | string | `mp3_44100_128` | See output formats table below |
| `voice_settings` | JSON string | — | Override stored voice settings for this request only |
| `seed` | integer | — | Best-effort deterministic sampling (0 – 4294967295) |
| `remove_background_noise` | boolean | `false` | Run the isolation model on the input before conversion |
| `file_format` | string | `other` | `other` for any encoded audio, or `pcm_s16le_16` for 16-bit PCM mono @ 16kHz little-endian (lower latency) |
| `optimize_streaming_latency` | int (query) | — | 0–4. Trade quality for latency. `4` is fastest but disables the text normalizer |
| `enable_logging` | boolean (query) | `true` | Set to `false` for zero-retention mode (enterprise only — disables history/stitching) |
## Models
| Model ID | Languages | Best For |
|----------|-----------|----------|
| `eleven_multilingual_sts_v2` | 29 | Recommended for everything — often outperforms the English model even on English audio |
| `eleven_english_sts_v2` | English | API default — English-only fallback |
Only models whose `can_do_voice_conversion` property is true can be used here. Voice Changer does not currently have a low-latency "flash/turbo" tier — if you need one, keep `pcm_s16le_16` input, an `opus_*` / low-bitrate `mp3_*` output, and raise `optimize_streaming_latency`.
### Languages (`eleven_multilingual_sts_v2`)
English (US, UK, AU, CA), Japanese, Chinese, German, Hindi, French (FR, CA), Korean, Portuguese (BR, PT), Italian, Spanish (ES, MX), Indonesian, Dutch, Turkish, Filipino, Polish, Swedish, Bulgarian, Romanian, Arabic (SA, AE), Czech, Greek, Finnish, Croatian, Malay, Slovak, Danish, Tamil, Ukrainian, Russian.
## Target Voices
Use any voice ID from pre-made voices, your cloned voices, or the voice library.
**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}")
```
## Converting from a URL
```python
import requests
from io import BytesIO
from elevenlabs import ElevenLabs
client = ElevenLabs()
audio_url = "https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
response = requests.get(audio_url)
audio_data = BytesIO(response.content)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
text-to-speech
elevenlabsOfficial
Convert text to speech using ElevenLabs voice AI.
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
text-to-speech
elevenlabsOfficial
Convert text to speech using ElevenLabs voice AI.
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
voice-changer skill. Agent Mart. https://agentmart.dev/skills/elevenlabs-voice-changer (last updated 2026-10-24)