@lobehub/chat
Version:
Lobe Chat - an open-source, high-performance chatbot framework that supports speech synthesis, multimodal, and extensible Function Call plugin system. Supports one-click free deployment of your private ChatGPT/LLM web application.
50 lines (41 loc) • 1.18 kB
text/typescript
import { OpenAISTTPayload } from '@lobehub/tts';
import { createOpenaiAudioTranscriptions } from '@lobehub/tts/server';
import { createBizOpenAI } from '@/app/(backend)/_deprecated/createBizOpenAI';
export const runtime = 'edge';
export const preferredRegion = [
'arn1',
'bom1',
'cdg1',
'cle1',
'cpt1',
'dub1',
'fra1',
'gru1',
'hnd1',
'iad1',
'icn1',
'kix1',
'lhr1',
'pdx1',
'sfo1',
'sin1',
'syd1',
];
export const POST = async (req: Request) => {
const formData = await req.formData();
const speechBlob = formData.get('speech') as Blob;
const optionsString = formData.get('options') as string;
const payload = {
options: JSON.parse(optionsString),
speech: speechBlob,
} as OpenAISTTPayload;
const openaiOrErrResponse = createBizOpenAI(req);
// if resOrOpenAI is a Response, it means there is an error,just return it
if (openaiOrErrResponse instanceof Response) return openaiOrErrResponse;
const res = await createOpenaiAudioTranscriptions({ openai: openaiOrErrResponse, payload });
return new Response(JSON.stringify(res), {
headers: {
'content-type': 'application/json;charset=UTF-8',
},
});
};