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) {