From 772b706e204e0e239cad999d96e8eabbfc166046 Mon Sep 17 00:00:00 2001 From: Rakshit Date: Wed, 5 Nov 2025 20:57:34 +0530 Subject: [PATCH] =?UTF-8?q?=F0=9F=8E=99=EF=B8=8F=20fix:=20Azure=20OpenAI?= =?UTF-8?q?=20Speech-to-Text=20400=20Bad=20Request=20Error=20(#10355)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- api/server/services/Files/Audio/STTService.js | 1 - packages/api/src/utils/azure.ts | 6 ++++++ 2 files changed, 6 insertions(+), 1 deletion(-) diff --git a/api/server/services/Files/Audio/STTService.js b/api/server/services/Files/Audio/STTService.js index 60d6a48a14..16f806de4e 100644 --- a/api/server/services/Files/Audio/STTService.js +++ b/api/server/services/Files/Audio/STTService.js @@ -227,7 +227,6 @@ class STTService { } const headers = { - 'Content-Type': 'multipart/form-data', ...(apiKey && { 'api-key': apiKey }), }; diff --git a/packages/api/src/utils/azure.ts b/packages/api/src/utils/azure.ts index b4051d3d80..1bbd0e29b2 100644 --- a/packages/api/src/utils/azure.ts +++ b/packages/api/src/utils/azure.ts @@ -25,6 +25,12 @@ export const genAzureEndpoint = ({ azureOpenAIApiInstanceName: string; azureOpenAIApiDeploymentName: string; }): string => { + // Support both old (.openai.azure.com) and new (.cognitiveservices.azure.com) endpoint formats + // If instanceName already includes a full domain, use it as-is + if (azureOpenAIApiInstanceName.includes('.azure.com')) { + return `https://${azureOpenAIApiInstanceName}/openai/deployments/${azureOpenAIApiDeploymentName}`; + } + // Legacy format for backward compatibility return `https://${azureOpenAIApiInstanceName}.openai.azure.com/openai/deployments/${azureOpenAIApiDeploymentName}`; };