All skills
elevenlabs avatar

/voice-changer

@62eb4fc official
by elevenlabselevenlabs/skills462 stars
74

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.

Use this Skill: https://skilld.dev/gh/elevenlabs/skills/voice-changer

This session only. Nothing lands on disk.

referencesinstallation.md

≈518 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Installation

CLI (Recommended)

npm (any platform with Node.js):

npm install -g @elevenlabs/cli

macOS / Linux (Homebrew):

brew install elevenlabs/tap/elevenlabs

Windows (Scoop):

scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabs

Shell installer:

curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | sh

Authenticate either way:

# Option 1: Environment variable (picked up automatically)
export ELEVENLABS_API_KEY="your-api-key"

# Option 2: OAuth login (stores credentials in the OS keyring)
elevenlabs auth login

JavaScript / TypeScript

npm install @elevenlabs/elevenlabs-js

Important: Always use @elevenlabs/elevenlabs-js. The old elevenlabs npm package (v1.x) is deprecated and should not be used.

import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";

// Option 1: Environment variable (recommended)
// Set ELEVENLABS_API_KEY in your environment
const client = new ElevenLabsClient();

// Option 2: Pass directly
const client = new ElevenLabsClient({ apiKey: "your-api-key" });

Python

pip install elevenlabs
from elevenlabs import ElevenLabs

# Option 1: Environment variable (recommended)
# Set ELEVENLABS_API_KEY in your environment
client = ElevenLabs()

# Option 2: Pass directly
client = ElevenLabs(api_key="your-api-key")

CLI Usage

The CLI reads ELEVENLABS_API_KEY automatically — no key flags or headers needed:

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

Getting an API Key

  1. Sign up at elevenlabs.io
  2. Go to API Keys
  3. Click Create API Key
  4. Copy and store securely

Or use the setup-api-key skill for guided setup.

Source: SKILL.md on GitHub

No alerts16d3 checks · Risk SAFE
  • Gen Agent Trust Hub16d

    The skill provides a comprehensive interface for the ElevenLabs Voice Changer API. It includes standard implementation patterns using official Python and JavaScript SDKs. The installation process involves downloading a CLI utility from ElevenLabs' official GitHub repository, which is a trusted source. No security risks or malicious patterns were detected.

  • Socket16d

    No alerts

  • Snyk16d

    Risk: LOW · No issues

Signed by skilld at 62eb4fc. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub yesterday.

Activeupdated last month
compatibility
Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).
Other metadata
metadata
{
  "openclaw": {
    "requires": {
      "env": [
        "ELEVENLABS_API_KEY"
      ]
    },
    "primaryEnv": "ELEVENLABS_API_KEY"
  }
}
  • API
  • Python
  • elevenlabs
  • speech-to-speech
  • voice-conversion
  • audio
  • voice-cloning
  • dubbing
  • multilingual
  • javascript

README badge

README badge for elevenlabs/skills/voice-changer

Converts the voice in an audio recording to a target voice while preserving emotion, timing, and delivery using the ElevenLabs speech-to-speech API. Handles voice-over dubbing, character voice creation, speaker anonymization, and multilingual localization across 29 languages with a 5-minute input limit per request.

Generated from the current SKILL.md.

What is the maximum length of audio I can convert in a single request?
5 minutes per request. Longer recordings must be split into chunks, converted individually, and stitched back together.
Does this work with multiple languages?
Yes, but you must use the `eleven_multilingual_sts_v2` model, which supports 29 languages including English, Japanese, Chinese, German, Hindi, French, Korean, Portuguese, Italian, Spanish, and others. The default `eleven_english_sts_v2` model handles English only.
What does the Voice Changer preserve from the original audio?
It preserves emotion, pacing, intonation, breaths, whispers, laughs, and cries — only the speaker's timbre is swapped. Accent and cadence transfer from the source, not the target voice.
Can I use this with noisy source audio?
Yes. Set `remove_background_noise=True` in a single call, or pre-process with the voice-isolator skill first. Cleaner input produces significantly better conversion quality.
Does this require an API key?
Yes, you must set the `ELEVENLABS_API_KEY` environment variable and have internet access to call the ElevenLabs API.

Generated from the current SKILL.md. These answers refresh after source changes.