diff --git a/openai_stt/stt.py b/openai_stt/stt.py index 48a02036d1d31b3bd3e3cae195e6176623de5ce5..52ff0d24f49ddd143077afcec793dddc62f72754 100644 --- a/openai_stt/stt.py +++ b/openai_stt/stt.py @@ -7,7 +7,6 @@ import logging import os import tempfile import voluptuous as vol -from homeassistant.components.tts import CONF_LANG from homeassistant.components.stt import ( AudioBitRates, AudioChannels, @@ -19,44 +18,35 @@ from homeassistant.components.stt import ( SpeechResult, SpeechResultState, ) -from homeassistant.core import HomeAssistant import homeassistant.helpers.config_validation as cv import wave _LOGGER = logging.getLogger(__name__) CONF_API_KEY = 'api_key' -OPENAI_STT_URL = "https://api.openai.com/v1/audio/transcriptions" -CONF_MODEL = 'model' -CONF_URL = 'url' +CONF_LANG = 'language' PLATFORM_SCHEMA = cv.PLATFORM_SCHEMA.extend({ vol.Required(CONF_API_KEY): cv.string, vol.Optional(CONF_LANG, default='en-US'): cv.string, - vol.Optional(CONF_MODEL, default='whisper-1'): cv.string, - vol.Optional(CONF_URL, default='https://api.openai.com/v1/audio/transcriptions'): cv.string, }) async def async_get_engine(hass, config, discovery_info=None): """Set up Whisper API STT speech component.""" - api_key = config[CONF_API_KEY] - language = config.get(CONF_LANG) - model = config.get(CONF_MODEL) - url = config.get(CONF_URL) - return OpenAISTTProvider(hass, api_key, language, model, url) + api_key = config.get(CONF_API_KEY) + lang = config.get(CONF_LANG) + return OpenAISTTProvider(hass, api_key, lang) class OpenAISTTProvider(Provider): """The Whisper API STT provider.""" - def __init__(self, hass, api_key, lang, model, url): + def __init__(self, hass, api_key, lang): """Initialize Whisper API STT provider.""" self.hass = hass self._api_key = api_key self._language = lang - self._model = model - self._url = url @property def default_language(self) -> str: @@ -119,12 +109,10 @@ class OpenAISTTProvider(Provider): form = aiohttp.FormData() form.add_field('file', file_to_send, filename='audio.wav', content_type='audio/wav') form.add_field('language', metadata.language) - form.add_field('model', self._model) - - _LOGGER.debug("URL: {} LANG: {} MODEL: {}".format(self._url, metadata.language, self._model)) + form.add_field('model', 'whisper-1') async with aiohttp.ClientSession() as session: - async with session.post(self._url, data=form, headers=headers) as response: + async with session.post('https://api.openai.com/v1/audio/transcriptions', data=form, headers=headers) as response: if response.status == 200: json_response = await response.json() return SpeechResult(json_response["text"], SpeechResultState.SUCCESS)