From b4892d81d326e930efd174671522dbc98d511822 Mon Sep 17 00:00:00 2001 From: alfo-dev <210219969+alfo-dev@users.noreply.github.com> Date: Wed, 10 Dec 2025 02:23:03 +0100 Subject: [PATCH] =?UTF-8?q?=F0=9F=94=8A=20fix:=20Missing=20Proxy=20config?= =?UTF-8?q?=20in=20TTS=20and=20STT=20Services=20(#10852)?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit * Fix TTS STT proxy * Add STT proxy env var * Add TTS proxy env var * chore: import order * chore: import order --------- Co-authored-by: Danny Avila --- api/server/services/Files/Audio/STTService.js | 9 ++++++++- api/server/services/Files/Audio/TTSService.js | 5 +++++ 2 files changed, 13 insertions(+), 1 deletion(-) diff --git a/api/server/services/Files/Audio/STTService.js b/api/server/services/Files/Audio/STTService.js index 16f806de4e..fb4ffd4858 100644 --- a/api/server/services/Files/Audio/STTService.js +++ b/api/server/services/Files/Audio/STTService.js @@ -4,6 +4,7 @@ const FormData = require('form-data'); const { Readable } = require('stream'); const { logger } = require('@librechat/data-schemas'); const { genAzureEndpoint } = require('@librechat/api'); +const { HttpsProxyAgent } = require('https-proxy-agent'); const { extractEnvVariable, STTProviders } = require('librechat-data-provider'); const { getAppConfig } = require('~/server/services/Config'); @@ -266,8 +267,14 @@ class STTService { language, ); + const options = { headers }; + + if (process.env.PROXY) { + options.httpsAgent = new HttpsProxyAgent(process.env.PROXY); + } + try { - const response = await axios.post(url, data, { headers }); + const response = await axios.post(url, data, options); if (response.status !== 200) { throw new Error('Invalid response from the STT API'); diff --git a/api/server/services/Files/Audio/TTSService.js b/api/server/services/Files/Audio/TTSService.js index 2f36c4b9c6..e147b057f4 100644 --- a/api/server/services/Files/Audio/TTSService.js +++ b/api/server/services/Files/Audio/TTSService.js @@ -1,6 +1,7 @@ const axios = require('axios'); const { logger } = require('@librechat/data-schemas'); const { genAzureEndpoint } = require('@librechat/api'); +const { HttpsProxyAgent } = require('https-proxy-agent'); const { extractEnvVariable, TTSProviders } = require('librechat-data-provider'); const { getRandomVoiceId, createChunkProcessor, splitTextIntoChunks } = require('./streamAudio'); const { getAppConfig } = require('~/server/services/Config'); @@ -266,6 +267,10 @@ class TTSService { const options = { headers, responseType: stream ? 'stream' : 'arraybuffer' }; + if (process.env.PROXY) { + options.httpsAgent = new HttpsProxyAgent(process.env.PROXY); + } + try { return await axios.post(url, data, options); } catch (error) {