UNPKG

@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
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', }, }); };