From ce9c8341d1c5d3bf93b9a7cb11c15d486f8cb77e Mon Sep 17 00:00:00 2001 From: ProgrammerIn-wonderland <30693865+ProgrammerIn-wonderland@users.noreply.github.com> Date: Sun, 15 Mar 2026 22:01:26 -0700 Subject: [PATCH] Interpret mpga as mp3 for OpenAI transcriptions (#2666) --- .../services/ai/stt/OpenAISpeechToTextService.js | 15 ++++++++++----- 1 file changed, 10 insertions(+), 5 deletions(-) diff --git a/src/backend/src/services/ai/stt/OpenAISpeechToTextService.js b/src/backend/src/services/ai/stt/OpenAISpeechToTextService.js index 6154ef462..8c4343d85 100644 --- a/src/backend/src/services/ai/stt/OpenAISpeechToTextService.js +++ b/src/backend/src/services/ai/stt/OpenAISpeechToTextService.js @@ -263,10 +263,11 @@ class OpenAISpeechToTextService extends BaseService { throw APIError.create('insufficient_funds'); } - const openaiFile = await this.modules.openai.toFile(buffer, - filename, - mimeType ? { type: mimeType } : undefined); - + const openaiFile = await this.modules.openai.toFile( + buffer, + filename, + mimeType ? { type: mimeType } : undefined, + ); const payload = { file: openaiFile, model: selectedModel, @@ -352,7 +353,11 @@ class OpenAISpeechToTextService extends BaseService { } if ( ! filename.includes('.') ) { - const extension = mimeType ? this.modules.mime.extension(mimeType) : 'mp3'; + let extension = mimeType ? this.modules.mime.extension(mimeType) : 'mp3'; + // No one uses mpga but mime resolves audio/mpeg to mpga + if ( extension === 'mpga' ) { + extension = 'mp3'; + } filename = `${filename}.${extension || 'mp3'}`; }