@ai-stack/payloadcms
Version:
<p align="center"> <img alt="Payload AI Plugin" src="assets/payload-ai-intro.gif" width="100%" /> </p>
22 lines (21 loc) • 817 B
JavaScript
import { ElevenLabsClient } from 'elevenlabs';
import { resolveProviderConfig } from '../../providers/resolveProviderConfig.js';
export const generateVoice = async (text, options)=>{
const { providerConfig = resolveProviderConfig().elevenLabs } = options;
const elevenLabs = new ElevenLabsClient({
apiKey: providerConfig.apiKey
});
const response = await elevenLabs.textToSpeech.convertWithTimstamps(options.voice_id, {
...options,
text
});
if (response?.audio_base64) {
const audioBuffer = Buffer.from(response.audio_base64, 'base64');
// const transcript = convertToTranscript(mp3Audio.alignment)
return {
alignment: response.alignment,
buffer: audioBuffer
};
}
};
//# sourceMappingURL=generateVoice.js.map