From dc2e0d614aef1aa6acb8be8e79b1ddd78a227971 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Erik=20Hedenstro=CC=88m?= <erik@hedenstroem.com>
Date: Wed, 26 Jun 2024 13:42:43 +0200
Subject: [PATCH] Added base URL to STT config

---
 openai_stt/stt.py | 10 +++++++---
 1 file changed, 7 insertions(+), 3 deletions(-)

diff --git a/openai_stt/stt.py b/openai_stt/stt.py
index 081c048..146055a 100644
--- a/openai_stt/stt.py
+++ b/openai_stt/stt.py
@@ -24,11 +24,13 @@ import homeassistant.helpers.config_validation as cv
 _LOGGER = logging.getLogger(__name__)
 
 CONF_API_KEY = "api_key"
+CONF_BASE_URL = "base_url"
 CONF_LANG = "language"
 
 PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend(
     {
         vol.Required(CONF_API_KEY): cv.string,
+        vol.Optional(CONF_BASE_URL, default="https://api.openai.com/v1/audio/transcriptions"): cv.string,
         vol.Optional(CONF_LANG, default="en-US"): cv.string,
     }
 )
@@ -37,17 +39,19 @@ PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend(
 async def async_get_engine(hass, config, discovery_info=None):
     """Set up Whisper API STT speech component."""
     api_key = config.get(CONF_API_KEY)
+    base_url = config.get(CONF_BASE_URL)
     lang = config.get(CONF_LANG)
-    return OpenAISTTProvider(hass, api_key, lang)
+    return OpenAISTTProvider(hass, api_key, base_url, lang)
 
 
 class OpenAISTTProvider(Provider):
     """The Whisper API STT provider."""
 
-    def __init__(self, hass, api_key, lang):
+    def __init__(self, hass, api_key, base_url, lang):
         """Initialize Whisper API STT provider."""
         self.hass = hass
         self._api_key = api_key
+        self._base_url = base_url
         self._language = lang
 
     @property
@@ -119,7 +123,7 @@ class OpenAISTTProvider(Provider):
 
             async with aiohttp.ClientSession() as session:
                 async with session.post(
-                    "https://api.openai.com/v1/audio/transcriptions",
+                    self._base_url,
                     data=form,
                     headers=headers,
                 ) as response:
-- 
GitLab