speech-provider
Version:
A unified interface for browser speech synthesis and Eleven Labs voices
18 lines • 823 B
JavaScript
import { browserVoiceProvider } from "./BrowserVoiceProvider";
import { ELEVEN_LABS_BASE_URL, createElevenLabsVoiceProvider, } from "./ElevenLabsVoiceProvider";
/**
* Get the appropriate voice provider based on available API keys.
* @param options - Configuration options for the voice provider
* @param options.elevenLabsApiKey - API key for Eleven Labs (if available)
* @param options.cacheMaxAge - Maximum age of cached responses in seconds (default: 1 hour)
* @returns A voice provider instance
*/
export function getVoiceProvider(options) {
if (options.elevenLabsApiKey) {
return createElevenLabsVoiceProvider(options.elevenLabsApiKey, ELEVEN_LABS_BASE_URL, {
cacheMaxAge: options.cacheMaxAge,
});
}
return browserVoiceProvider;
}
//# sourceMappingURL=VoiceProvider.js.map