Skip to main content

Overview

Voice settings control how speech is generated for a specific voice. The voices.settings namespace provides methods to retrieve default settings, get current settings for a voice, and update voice-specific settings.
Note: similarity_boost corresponds to “Clarity + Similarity Enhancement” in the web app, and stability corresponds to the “Stability” slider.

Voice Settings Object

The VoiceSettings object contains the following parameters:
VoiceSettings
object

Get Default Settings

Retrieves the default settings for voices.

Method Signature

client.voices.settings.get_default(
    request_options: Optional[RequestOptions] = None
) -> VoiceSettings

Parameters

Returns

VoiceSettings
object
The default voice settings object.

Example

from elevenlabs import ElevenLabs

client = ElevenLabs(api_key="YOUR_API_KEY")

default_settings = client.voices.settings.get_default()

print(f"Default Stability: {default_settings.stability}")
print(f"Default Similarity Boost: {default_settings.similarity_boost}")
print(f"Default Style: {default_settings.style}")
print(f"Default Speed: {default_settings.speed}")
print(f"Default Speaker Boost: {default_settings.use_speaker_boost}")

Get Voice Settings

Retrieves the current settings for a specific voice.

Method Signature

client.voices.settings.get(
    voice_id: str,
    request_options: Optional[RequestOptions] = None
) -> VoiceSettings

Parameters

Returns

VoiceSettings
object
The current settings for the specified voice.

Example

from elevenlabs import ElevenLabs

client = ElevenLabs(api_key="YOUR_API_KEY")

settings = client.voices.settings.get(voice_id="21m00Tcm4TlvDq8ikWAM")

print(f"Current Settings for Voice:")
print(f"  Stability: {settings.stability}")
print(f"  Similarity Boost: {settings.similarity_boost}")
print(f"  Style: {settings.style}")
print(f"  Speed: {settings.speed}")
print(f"  Speaker Boost: {settings.use_speaker_boost}")

Update Voice Settings

Updates the settings for a specific voice.

Method Signature

client.voices.settings.update(
    voice_id: str,
    request: VoiceSettings,
    request_options: Optional[RequestOptions] = None
) -> EditVoiceSettingsResponseModel

Parameters

Returns

EditVoiceSettingsResponseModel
object
Response confirming the settings update.

Example

from elevenlabs import ElevenLabs, VoiceSettings

client = ElevenLabs(api_key="YOUR_API_KEY")

new_settings = VoiceSettings(
    stability=0.75,
    similarity_boost=0.85,
    style=0.2,
    speed=1.0,
    use_speaker_boost=True
)

response = client.voices.settings.update(
    voice_id="21m00Tcm4TlvDq8ikWAM",
    request=new_settings
)

print("Voice settings updated successfully!")

Complete Examples

Optimize Settings for Narration

Configure settings for audiobook narration:
from elevenlabs import ElevenLabs, VoiceSettings

client = ElevenLabs(api_key="YOUR_API_KEY")

# Settings optimized for clear, consistent narration
narration_settings = VoiceSettings(
    stability=0.85,          # High stability for consistency
    similarity_boost=0.75,   # Good similarity to original
    style=0.0,               # No style exaggeration
    speed=0.95,              # Slightly slower for clarity
    use_speaker_boost=True   # Enhanced speaker characteristics
)

client.voices.settings.update(
    voice_id="21m00Tcm4TlvDq8ikWAM",
    request=narration_settings
)

print("Voice optimized for narration!")

Optimize Settings for Expressive Dialogue

Configure settings for character dialogue:
from elevenlabs import ElevenLabs, VoiceSettings

client = ElevenLabs(api_key="YOUR_API_KEY")

# Settings optimized for expressive, emotional speech
dialogue_settings = VoiceSettings(
    stability=0.45,          # Lower stability for emotion
    similarity_boost=0.80,   # Maintain character voice
    style=0.60,              # Moderate style exaggeration
    speed=1.1,               # Slightly faster for energy
    use_speaker_boost=True   # Enhanced speaker characteristics
)

client.voices.settings.update(
    voice_id="21m00Tcm4TlvDq8ikWAM",
    request=dialogue_settings
)

print("Voice optimized for dialogue!")

Compare Settings Across Voices

Retrieve and compare settings for multiple voices:
from elevenlabs import ElevenLabs

client = ElevenLabs(api_key="YOUR_API_KEY")

voice_ids = [
    "21m00Tcm4TlvDq8ikWAM",
    "AZnzlk1XvdvUeBnXmlld",
    "EXAVITQu4vr4xnSDxMaL"
]

print("Voice Settings Comparison:")
print("-" * 60)

for voice_id in voice_ids:
    voice = client.voices.get(voice_id=voice_id)
    settings = client.voices.settings.get(voice_id=voice_id)
    
    print(f"\n{voice.name} ({voice_id})")
    print(f"  Stability: {settings.stability:.2f}")
    print(f"  Similarity: {settings.similarity_boost:.2f}")
    print(f"  Style: {settings.style:.2f}")
    print(f"  Speed: {settings.speed:.2f}")

Reset to Default Settings

Reset a voice to default settings:
from elevenlabs import ElevenLabs

client = ElevenLabs(api_key="YOUR_API_KEY")

voice_id = "21m00Tcm4TlvDq8ikWAM"

# Get default settings
default_settings = client.voices.settings.get_default()

# Apply default settings to the voice
client.voices.settings.update(
    voice_id=voice_id,
    request=default_settings
)

print(f"Voice {voice_id} reset to default settings")

Async Settings Management

Manage voice settings asynchronously:
import asyncio
from elevenlabs import AsyncElevenLabs, VoiceSettings

client = AsyncElevenLabs(api_key="YOUR_API_KEY")

async def main():
    # Get current settings
    current_settings = await client.voices.settings.get(
        voice_id="21m00Tcm4TlvDq8ikWAM"
    )
    print(f"Current stability: {current_settings.stability}")
    
    # Update settings
    new_settings = VoiceSettings(
        stability=0.80,
        similarity_boost=0.90,
        use_speaker_boost=True
    )
    
    await client.voices.settings.update(
        voice_id="21m00Tcm4TlvDq8ikWAM",
        request=new_settings
    )
    
    print("Settings updated successfully!")

asyncio.run(main())

Settings Guidelines

  • 0.3-0.5: Highly expressive, emotional content (character voices, dramatic readings)
  • 0.6-0.7: Balanced, natural speech (conversations, interviews)
  • 0.8-1.0: Consistent, clear narration (audiobooks, professional content)
  • 0.5-0.6: More creative interpretation of the voice
  • 0.7-0.8: Balanced similarity (recommended for most use cases)
  • 0.9-1.0: Maximum similarity to original voice (cloned voices)
  • 0.0: No style exaggeration (recommended for most cases)
  • 0.2-0.4: Subtle style enhancement
  • 0.5-1.0: Strong style exaggeration (use sparingly, increases latency)
  • 0.5-0.8: Slower speech (better for comprehension, language learning)
  • 0.9-1.1: Natural speaking pace
  • 1.2-2.0: Faster speech (time-saving, energetic content)

Build docs developers (and LLMs) love