commit 7a06dd6ce162d7bb8482ee2168be38fb39c51fea Author: TheDark-Cloud <117770466+TheDark-Cloud@users.noreply.github.com> Date: Thu Apr 23 16:10:29 2026 +0000 initial commit diff --git a/README.md b/README.md new file mode 100644 index 0000000..59dae5a --- /dev/null +++ b/README.md @@ -0,0 +1,255 @@ +
+
+
+ Open-source meeting bot API & transcription API +
+ ++ meeting bots • real-time transcription • interactive bots • MCP server • self-hosted +
+ +
+ Google Meet
+ •
+
Microsoft Teams
+ •
+
Zoom
+
+ What's new • + Quickstart • + API • + Docs • + Roadmap • + Discord +
+ +--- + +**Vexa** is an open-source, self-hostable meeting bot API and meeting transcription API for Google Meet, Microsoft Teams, and Zoom. Alternative to Recall.ai, Otter.ai, and Fireflies.ai — self-host so meeting data never leaves your infrastructure, or use [vexa.ai](https://vexa.ai) hosted. + +--- + +**Data sovereignty** — self-host so meeting data never leaves your infrastructure + +**Cost** — replace $20/seat SaaS with your own infrastructure + +**Embed in your product** — multi-tenant meeting bot API with scoped tokens + +**AI agents** — MCP server with 17 tools + +--- + +### Capabilities + + +| | | +| --- | --- | +| **Meeting bot API** | Send a bot to any meeting: auto-join, record, speak, chat, share screen. Open-source alternative to [Recall.ai](https://recall.ai). | +| **Meeting transcription API** | Real-time transcripts via REST API and WebSocket. Self-hosted alternative to Otter.ai and Fireflies.ai. | +| **Real-time transcription** | Sub-second per-speaker transcripts during the call. 100+ languages via Whisper. WebSocket streaming. | +| **Interactive bots** | Make bots speak, send/read chat, share screen content, and set avatar in live meetings. | +| **Browser bots** | CDP + Playwright browser automation with persistent authenticated sessions via S3. | +| **MCP server** | 17 meeting tools for Claude, Cursor, Windsurf. AI agents join calls, read transcripts, speak in meetings. | +| **Multi-tenant** | Users, scoped API tokens, isolated containers. Deploy once, serve your team. | +| **Dashboard** | Open-source Next.js web UI — meetings, transcripts, agent chat, browser sessions. Ready to use out of the box. | +| **Self-hostable** | Run on your infra. Meeting data never leaves your infrastructure. | + + +Every feature is a separate service. Pick what you need, skip what you don't. Self-host everything or use [vexa.ai](https://vexa.ai) hosted. + +--- + +## Why Self-Host Meeting Transcription? + +**For regulated industries** — banks, financial services, healthcare — meeting data can't leave your infrastructure. Self-hosting Vexa means zero external data transmission and full audit trail on your own infrastructure. + +**For cost-conscious teams** — replace per-seat SaaS pricing. A team paying $17/seat/mo for meeting transcription can self-host Vexa and drop that to infrastructure cost. + +**For developers** — embed a meeting bot API in your product. Multi-tenant, scoped API tokens, no per-user infrastructure. + +Build meeting assistants like Otter.ai, Fireflies.ai, or Fathom — or build a meeting bot API like [Recall.ai](https://recall.ai) — self-hosted on your infrastructure. + +- **Vexa (self-host)** — your infra cost. Data never leaves your infrastructure. Meeting bot API, real-time transcription, interactive bots, MCP server. Open source, Apache 2.0. Google Meet, Teams, Zoom*. +- **Recall.ai** — $0.50/hr. No self-hosting. Meeting bot API, real-time transcription. No MCP, limited interactive bots. Closed source. Meet, Teams, Zoom, Webex. +- **Otter.ai** — $17-20/seat/mo. No self-hosting. No API. Limited real-time transcription. Closed source. Meet, Teams, Zoom. + +\* Zoom support is experimental + +Or use [vexa.ai](https://vexa.ai) hosted — get an API key and start sending bots immediately, no infrastructure needed. + +## Built for Data Sovereignty + +Meeting data never leaves your infrastructure. Self-host for complete control. Modular architecture scales from edge devices to millions of users. + +**1. Hosted service** +At [vexa.ai](https://vexa.ai) — get an API key and start sending bots. No infrastructure needed. +*Ready to integrate* + +--- + +**2. Self-host with Vexa transcription** +Run Vexa yourself, use vexa.ai for transcription — ready to go, no GPU needed. +*Control with minimal DevOps* — see [deploy/](./deploy/) for setup guides. + +--- + +**3. Fully self-host** +Run everything including your own GPU transcription service. +*Meeting data never leaves your infrastructure* — see [deploy/](./deploy/) for setup guides. + +## What's new + +**v0.10 — full architecture refactor** + +- **Services refactored** — runtime-api as infrastructure layer (container orchestration), meeting-api as data layer, agent-api as high-level intelligence layer. Clean separation of concerns. +- **Real-time pipeline moved into bots** — transcription pipeline now runs inside bot containers, eliminating external dependencies +- **Agent API** *(experimental)* — ephemeral containers for AI agents. See [services/agent-api/](./services/agent-api/). +- **Helm/K8s** — production Kubernetes deployment with built images and global.imageTag support + +**v0.9** + +- **Zoom** *(experimental)* — initial Zoom Meeting SDK support +- **Interactive Bots API** — speak, chat, screen share, avatar controls during live meetings +- **MCP server** — 17 tools for AI agents +- **Recordings** — S3-compatible storage + +--- + +> See full release notes: [https://github.com/Vexa-ai/vexa/releases](https://github.com/Vexa-ai/vexa/releases) + +--- + +## Quickstart + +### Self-host with Docker + +On a fresh Linux machine (Ubuntu 24.04): + +```bash +apt-get update && apt-get install -y make git curl +curl -fsSL https://get.docker.com | sh +git clone https://github.com/Vexa-ai/vexa.git && cd vexa +``` + +Then choose: + + +| Command | What you get | Best for | +| ------------ | -------------------------------- | --------------------------- | +| `make lite` | Single container, all services | Quick evaluation, small teams | +| `make all` | Full stack, each service separate | Development, production | + + +Both prompt for a transcription token on first run. Get one at [vexa.ai/account](https://vexa.ai/account), or [self-host transcription](./services/transcription-service/README.md) with a GPU. + +Guides: [Vexa Lite](deploy/lite/README.md) | [Docker Compose](deploy/compose/README.md) | [Helm (K8s)](deploy/helm/README.md) + +### Hosted (no deployment needed) + +Get your API key at [vexa.ai/account](https://vexa.ai/account) and start sending bots immediately. + +## Meeting API — Send Bots, Get Transcripts + +Send a bot, get real-time transcripts with per-speaker audio and interactive controls (speak, chat, share screen). + +```bash +# Send a bot to Google Meet +curl -X POST "$API_BASE/bots" \ + -H "Content-Type: application/json" \ + -H "X-API-Key: