Text-to-Speech (TTS) and Speech-to-Text (STT)

The TTS and STT engines are optional components for AarhusAI, fully supported by Open WebUI. These components are optional because they require a dedicated GPU to run.

Installation

Deploy these services from the following repositories or use any solution that supports the OpenAI Audio API:

See the links above for detailed installation instructions and configuration options.

Configuration

Create and Seal the Secrets

First, add the secrets for the TTS and STT API keys to local-secrets/openwebui-secrets.yaml and seal it:

kubectl create -f local-secrets/openwebui-secrets.yaml --dry-run=client -o yaml | kubeseal --format yaml > templates/sealed-openwebui-secrets.yaml

Update Open WebUI Configuration

Edit applications/openwebui/values.yaml in the Helm chart and add the following environment variables:

# STT (whisper) - OPTIONAL IF YOU WANT TO USE SPEECH-TO-TEXT (https://github.com/AarhusAI/whisper-api)
- name: AUDIO_STT_ENGINE
  value: "openai"
- name: AUDIO_STT_OPENAI_API_BASE_URL
  value: "<YOUR_WHISPER_API_URL>"  # e.g., https://whisper.example.com/
- name: AUDIO_STT_OPENAI_API_KEY
  valueFrom:
    secretKeyRef:
      name: openwebui-secrets
      key: STT_API_KEY

# TTS (piper) - OPTIONAL IF YOU WANT TO USE TEXT-TO-SPEECH (https://github.com/AarhusAI/piper-tts)
- name: AUDIO_TTS_ENGINE
  value: "openai"
- name: AUDIO_TTS_OPENAI_API_BASE_URL
  value: "<YOUR_TTS_API_URL>"  # e.g., https://tts.example.com/
- name: AUDIO_TTS_OPENAI_API_KEY
  valueFrom:
    secretKeyRef:
      name: openwebui-secrets
      key: TTS_API_KEY

Replace <YOUR_WHISPER_API_URL> and <YOUR_TTS_API_URL> with your deployed service URLs.

Deployment

Commit and push your changes. Argo will deploy the new version of Open WebUI.


This site uses Just the Docs, a documentation theme for Jekyll.