Self-hosted meeting transcription (Speaches + Open WebUI)

Quick answer

Speaches is an OpenAI-compatible speech-to-text server based on faster-whisper. Open WebUI can use it as its speech-to-text engine, so audio is transcribed on your own server, and the same interface can summarise the transcript with any connected model. Neither app is a meeting bot: nothing joins Zoom, Teams or Meet calls for you. None of Speaches + Open WebUI publishes an official CPU/RAM figure, so we do not estimate a server size or cost. Size the server for the models and workloads you plan to run.

Last updated · sizing from each app's official docs · prices from Hetzner Cloud (2026-10-22)

Components

  • Speaches: Speech-to-text server (faster-whisper)
    Official hardware: Not published (measured by us: 1.4 GiB RAM while working) · License: MIT (Permissive)
  • Open WebUI: Interface for voice input, transcripts and summaries
    Official hardware: Not published (measured by us: 909 MiB RAM while working) · License: Open WebUI License (BSD-3-Clause style with branding clause) (Custom / conditional)

Combined hardware and monthly cost

Required components, official minimumsNone of the required components publishes an official CPU/RAM figure, so we do not estimate a server size.
Smallest server that fitsnot estimated
Measured RAM in our own testSpeaches latest-cpu (pyproject 0.1.0): 1.4 GB peak while working; Open WebUI 0.12.3: 909 MB peak while working. Measured on SelfHostMap test VM (Oct 2026), 2026-10-22; container RAM only, not the whole server; no load test. Model-runner figures are for the small test models named on the app page; larger models need far more RAM.
Server sized from our measurementCPX22 (2 vCPU, 4 GB RAM, 80 GB disk) €19.99/mo Measured in our own test (2026-10-22): Speaches latest-cpu (pyproject 0.1.0) 1403 MiB + Open WebUI 0.12.3 909 MiB working RAM, x1.5 plus 512 MiB for OS and Docker = 3980 MiB, so CPX22 (4 GB). Light use, no load test. Not an official figure.

How we got this: we added up the official minimum vCPU and RAM each project publishes (linked on its app page) and took the cheapest Hetzner Cloud Regular Performance (shared AMD vCPU) plan that meets the total. Prices read from www.hetzner.com/cloud/regular-performance on 2026-10-22. "From" monthly price cap shown by Hetzner, excluding VAT. Prices vary by location. Covers the server only; it excludes LLM API usage, backups, extra storage, GPUs and your time. Running everything on one server is our simplifying assumption. Measured figures, where we have them, are on each app page.

Cost vs Otter.ai

1. The SaaS you pay for

2. Self-hosted stack

3. Model API spend (self-hosted side)
SaaS per year—
Self-host per year—
Break-even—

SaaS (cumulative)Self-host incl. setup (cumulative)
Open in full calculator
Assumptions and sources

    Deployment outline

    1. Run Speaches with the image that matches your host (CPU, CUDA or CUDA with CDI). source
    2. Deploy Open WebUI. source
    3. In Open WebUI, open Admin Settings → Audio and set Speech-to-Text Engine: OpenAI, API Base URL: http://speaches:8000/v1, any non-empty API key, and a model such as Systran/faster-distil-whisper-large-v3. source

    This is a summary of the official docs, not a full tutorial. Each app page has the exact official install command.

    Gotchas

    • The AUDIO_STT_* environment variables may not take effect if the speech-to-text engine was already set in the Open WebUI admin UI. source
    • Speaches: Separate images and Compose files exist for CPU, CUDA and CUDA with CDI. Pick the one matching your host, or GPU acceleration will not be used. source
    • Open WebUI: Branding may only be changed for deployments of 50 or fewer end users in a rolling 30-day window, unless you have permission or an enterprise license. source
    • Open WebUI: If you only use hosted APIs, the :slim image is about 197 MB instead of 1.62 GB. It cannot be combined with the CUDA or bundled-Ollama variants. source

    What this does not replace

    • Speaches is a transcription API, not a meeting app. There is no bot that joins Zoom, Teams or Meet and no notes interface.
    • Summaries and action items need a separate LLM and some integration work.

    FAQ

    Does this replace Otter.ai?

    Only the transcription part. There is no bot that joins calls and no meeting-notes app; you upload or record audio yourself. Summaries need a language model connected to Open WebUI.

    How much does a meeting transcription and summaries stack cost per month?

    None of Speaches + Open WebUI publishes an official CPU/RAM figure, so we do not estimate a server size or cost. Size the server for the models and workloads you plan to run.

    What hardware does Speaches + Open WebUI need?

    None of the required components publishes an official CPU/RAM figure, so we do not estimate a server size..

    Can a business use these apps commercially?

    Speaches: MIT (internal business use allowed). Open WebUI: Open WebUI License (BSD-3-Clause style with branding clause) (internal business use allowed). Summaries only, not legal advice.

    Is it cheaper than Otter.ai?

    It depends on team size, API usage and how you value your time. Use the calculator on this page; it starts with 20 users and Otter.ai Business at the price published on 2026-10-22.

    Other stacks

    Not sure which app fits? Try the 5-question wizard.

    Every figure comes from the linked app pages and official docs. Spotted something wrong? Tell us.