Skip to content

Feature Request: Add Voice Similarity Parameters Support to ElevenLabs Plugin #3076

Description

@chauhansarthakiitd

Request support for ElevenLabs voice consistency parameters (seed, previous_request_ids, next_request_ids) in LiveKit's ElevenLabs TTS plugin for improved voice continuity.
Missing Parameters

seed - Deterministic voice generation (integer 0-4294967295)
previous_request_ids - Voice continuity from previous requests (max 3 IDs)
next_request_ids - Voice continuity for upcoming requests (max 3 IDs)
previous_text/next_text - Text context for prosody flow

Current Implementation Analysis
Looking at the source code in tts.py, the _TTSOptions dataclass and constructor currently support:

✅ voice_id, voice_settings, model, encoding
✅ streaming_latency, enable_ssml_parsing, language
❌ Missing voice similarity parameters listed above

Use Case
Essential for maintaining voice consistency in:

Long-form content split across multiple requests
Conversational AI with consistent voice across turns
Content regeneration with similar characteristics

Implementation
Add missing parameters to _TTSOptions dataclass and TTS constructor, then include in WebSocket/API calls to ElevenLabs.

Priority
Medium-High - This would help maintain voice consistency in conversational AI applications where users expect natural, continuous speech across multiple interactions. ElevenLabs sometimes fluctuates significantly when these parameters are not passed, to the point where alternate turns could have different voices talking (although not for all voice IDs).

References
LiveKit ElevenLabs TTS Source Code
ElevenLabs TTS API
Best practices for large text

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions