providers/elevenlabs/elevenlabs library
Modular ElevenLabs Provider
This library provides a modular implementation of the ElevenLabs provider following the same architecture pattern as other providers.
Key Features:
- High-quality text-to-speech synthesis
- Speech-to-text transcription
- Voice cloning and customization
- Multiple language support
- Real-time streaming capabilities
- Modular architecture for easy maintenance
Usage:
import 'package:llm_dart/providers/elevenlabs/elevenlabs.dart';
final provider = ElevenLabsProvider(ElevenLabsConfig(
apiKey: 'your-api-key',
voiceId: 'JBFqnCBsd6RMkjVDRZzb',
));
// Text-to-speech
final ttsResponse = await provider.textToSpeech(TTSRequest(
text: 'Hello, world!',
voice: 'JBFqnCBsd6RMkjVDRZzb',
));
// Speech-to-text
final sttResponse = await provider.speechToText(STTRequest.fromFile(
'path/to/audio.wav',
));
// Get available voices
final voices = await provider.getVoices();
for (final voice in voices) {
print('${voice.name}: ${voice.id}');
}
Classes
- ElevenLabsAudio
- ElevenLabs Audio capability implementation
- ElevenLabsClient
- ElevenLabs HTTP client implementation
- ElevenLabsConfig
- ElevenLabs provider configuration
- ElevenLabsModels
- ElevenLabs Models capability implementation
- ElevenLabsProvider
- ElevenLabs Provider implementation
- ElevenLabsSTTResponse
- ElevenLabs response for STT
- ElevenLabsTTSResponse
- ElevenLabs response for TTS
- Word
- Word with timing information from ElevenLabs STT
Functions
-
createElevenLabsCustomVoiceProvider(
{required String apiKey, required String voiceId, String model = ProviderDefaults.elevenLabsDefaultTTSModel, double stability = 0.5, double similarityBoost = 0.75, double style = 0.0, bool useSpeakerBoost = true}) → ElevenLabsProvider - Create an ElevenLabs provider with custom voice settings
-
createElevenLabsProvider(
{required String apiKey, String baseUrl = ProviderDefaults.elevenLabsBaseUrl, String? voiceId, String? model, Duration? timeout, double? stability, double? similarityBoost, double? style, bool? useSpeakerBoost}) → ElevenLabsProvider - Create an ElevenLabs provider with default settings
-
createElevenLabsStreamingProvider(
{required String apiKey, String voiceId = ProviderDefaults.elevenLabsDefaultVoiceId, String model = 'eleven_turbo_v2', double stability = 0.5, double similarityBoost = 0.75}) → ElevenLabsProvider - Create an ElevenLabs provider for real-time streaming
-
createElevenLabsSTTProvider(
{required String apiKey, String model = ProviderDefaults.elevenLabsDefaultSTTModel}) → ElevenLabsProvider - Create an ElevenLabs provider optimized for STT
-
createElevenLabsTTSProvider(
{required String apiKey, String voiceId = ProviderDefaults.elevenLabsDefaultVoiceId, String model = ProviderDefaults.elevenLabsDefaultTTSModel, double stability = 0.5, double similarityBoost = 0.75, double style = 0.0, bool useSpeakerBoost = true}) → ElevenLabsProvider - Create an ElevenLabs provider optimized for high-quality TTS