From d6866504377615ca0dd63a80e3d425c1f57accf0 Mon Sep 17 00:00:00 2001 From: canisminor1990 Date: Sun, 19 Nov 2023 17:49:00 +0800 Subject: [PATCH] =?UTF-8?q?=F0=9F=90=9B=20fix:=20Fix=20stt=20body?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/core/OpenAISTT/index.ts | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/src/core/OpenAISTT/index.ts b/src/core/OpenAISTT/index.ts index 42191fb..70fa51a 100644 --- a/src/core/OpenAISTT/index.ts +++ b/src/core/OpenAISTT/index.ts @@ -41,6 +41,17 @@ const genSTTBody = ({ speech, options }: OpenAISTTPayload) => { return body; }; +const genServiceSTTBody = ({ speech, options }: OpenAISTTPayload) => { + const mineType = options?.mineType || getRecordMineType(); + const filename = `${Date.now()}.${mineType.extension}`; + + const body = new FormData(); + body.append('options', JSON.stringify(options)); + body.append('speech', speech, filename); + + return body; +}; + export class OpenaiSTT { private OPENAI_BASE_URL: string; private OPENAI_API_KEY: string | undefined; @@ -59,7 +70,7 @@ export class OpenaiSTT { const url = urlJoin(this.OPENAI_BASE_URL, 'audio/speech'); return this.serviceUrl ? fetch(this.serviceUrl, { - body: JSON.stringify(payload), + body: genServiceSTTBody(payload), headers: this.headers, method: 'POST', })