Files
aidio-description/dist/providers/tts/ttsProviderFactory.js

31 lines
1.3 KiB
JavaScript
Raw Permalink Normal View History

"use strict";
Object.defineProperty(exports, "__esModule", { value: true });
exports.TTSProviderFactory = void 0;
const openAITTSProvider_1 = require("./openAITTSProvider");
const elevenLabsTTSProvider_1 = require("./elevenLabsTTSProvider");
const googleCloudTTSProvider_1 = require("./googleCloudTTSProvider");
/**
* Factory for creating TTS providers
*/
class TTSProviderFactory {
static getProvider(config) {
const providerName = config.ttsProvider;
const providerConfig = config.ttsProviders[providerName];
if (!providerConfig) {
throw new Error(`TTS provider "${providerName}" not configured.`);
}
switch (providerName) {
case 'openai':
return new openAITTSProvider_1.OpenAITTSProvider(providerConfig);
case 'elevenlabs':
return new elevenLabsTTSProvider_1.ElevenLabsTTSProvider(providerConfig);
case 'google':
return new googleCloudTTSProvider_1.GoogleCloudTTSProvider(providerConfig);
// Add other providers here
default:
throw new Error(`TTS provider "${providerName}" not implemented.`);
}
}
}
exports.TTSProviderFactory = TTSProviderFactory;
//# sourceMappingURL=ttsProviderFactory.js.map