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