mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-23 13:03:50 +00:00
27 lines
688 B
TypeScript
27 lines
688 B
TypeScript
import { Text2SpeechProps } from '@fastgpt/global/core/ai/speech/api';
|
|
import { getAIApi } from '../config';
|
|
import { defaultAudioSpeechModels } from '../../../../global/core/ai/model';
|
|
import { Text2SpeechVoiceEnum } from '@fastgpt/global/core/ai/speech/constant';
|
|
|
|
export async function text2Speech({
|
|
model = defaultAudioSpeechModels[0].model,
|
|
voice = Text2SpeechVoiceEnum.alloy,
|
|
input,
|
|
speed = 1
|
|
}: Text2SpeechProps) {
|
|
const ai = getAIApi();
|
|
const mp3 = await ai.audio.speech.create({
|
|
model,
|
|
voice,
|
|
input,
|
|
response_format: 'mp3',
|
|
speed
|
|
});
|
|
const buffer = Buffer.from(await mp3.arrayBuffer());
|
|
return {
|
|
model,
|
|
voice,
|
|
tts: buffer
|
|
};
|
|
}
|