1.7 KiB
Speech: STT, TTS, Audio Backup
Transcription
POST /api/transcribe accepts multipart/form-data with one audio file up to 25 MB. Server STT is routed through LiteLLM.
Set TRANSCRIBE_PROVIDER=litellm, LITELLM_API_BASE, and LITELLM_STT_MODEL. Auto mode also uses LiteLLM when the gateway is configured.
| Provider | Notes | HIPAA posture |
|---|---|---|
| LiteLLM | Sends audio through the configured LiteLLM /audio/transcriptions backend. |
Depends on the selected upstream. |
Browser Whisper and browser-local Whisper workers are not part of the runtime. Do not add browser model downloads or Transformers.js STT back into the public app.
Web Speech Preview
Browser-native Web Speech can show interim text when the user explicitly enables it. It is browser/vendor dependent, may send audio to browser-provider cloud services, and should not be treated as the final clinical transcript.
Text To Speech
POST /api/text-to-speech returns audio from LiteLLM /audio/speech. The X-TTS-Provider response header identifies the LiteLLM model used. Requests are limited to 5000 characters.
| Provider | Notes |
|---|---|
| LiteLLM | Uses LITELLM_TTS_MODEL and LITELLM_TTS_VOICE. |
The admin/user voice pickers read available LiteLLM-compatible voices from LITELLM_TTS_VOICES.
Audio Backup
Failed transcription submissions can be stored for retry instead of being silently lost.
- Audio backups are compressed and encrypted before storage.
- Backups expire automatically.
- The Settings audio backup UI can retry or delete saved items.
- Browser fallback storage is used only when the server cannot save the failed audio.
Treat audio backups as sensitive clinical data even when encrypted.