Self-hosted meeting intelligence platform
bots • real-time transcription • storage • API
Google Meet
•
Microsoft Teams
•
Zoom (soon)
What’s new • Quickstart • API • Roadmap • Discord
Vexa is open-source and self-hostable — ideal for regulated industries and teams that cannot compromise on privacy.
Modular architecture scales from edge devices to millions of users. You choose what to self-host and what to use as a service.
You control everything:
1. Full self-hosting
Run Vexa, database, and transcription service entirely on your infrastructure
For regulated industries like fintech, medical, etc.
2. GPU-free self-hosting
Self-host Vexa, but plug into external transcription service
Perfect privacy with minimal DevOps
3. Fully hosted service
At vexa.ai — just grab API key
Ready to integrate
- Vexa Lite: run Vexa as a single Docker container (
vexaai/vexa-lite:latest) - Optional external transcription: point Lite to an external service to avoid GPU requirements
- Stateless by design: all state lives in your DB → easy redeploy/scale
- Serverless-friendly: minimal footprint, fewer moving parts, faster deployments
See full release notes: https://github.com/Vexa-ai/vexa/releases
Just grab your API key at https://vexa.ai/dashboard/api-keys and start using the service immediately.
Compact Vexa that depends on external database and transcription service.
docker run -d \
--name vexa \
-p 8056:8056 \
-e DATABASE_URL="postgresql://user:pass@host/vexa" \
-e ADMIN_API_TOKEN="your-admin-token" \
-e TRANSCRIBER_URL="https://transcription.service" \
-e TRANSCRIBER_API_KEY="transcriber-token" \
vexaai/vexa-lite:latestDeployment options: Mix and match based on your needs:
Transcription service:
- Get API key for hosted transcription service (faster, GPU-free)
- Self-host transcription service (process data on-premise)
Database:
- Connect remote database (Good practice for production)
- Setup local database (Faster start)
📖 For complete setup examples with all 4 configurations, see docs/vexa-lite-deployment.md#complete-setup-examples
Good for development:
git clone https://github.com/Vexa-ai/vexa.git
cd vexa
make all # CPU by default (Whisper tiny) — good for development
# For GPU:
# make all TARGET=gpu # (Whisper medium) — recommended for production quality- Full guide: docs/deployment.md
For enterprise orchestration platforms, contact vexa.ai
API_HOST for hosted version is https://api.cloud.vexa.ai
API_HOST for self-hosted lite container is http://localhost:8056
API_HOST for self-hosted full stack (default) is http://localhost:18056
curl -X POST https://<API_HOST>/bots \
-H "Content-Type: application/json" \
-H "X-API-Key: <API_KEY>" \
-d '{
"platform": "teams",
"native_meeting_id": "<NUMERIC_MEETING_ID>",
"passcode": "<MEETING_PASSCODE>"
}'curl -X POST https://<API_HOST>/bots \
-H "Content-Type: application/json" \
-H "X-API-Key: <API_KEY>" \
-d '{
"platform": "google_meet",
"native_meeting_id": "<MEET_CODE_XXX-XXXX-XXX>"
}'curl -H "X-API-Key: <API_KEY>" \
"https://<API_HOST>/transcripts/<platform>/<native_meeting_id>"For real-time streaming (sub‑second), see the WebSocket guide. For full REST details, see the User API Guide.
Note: Meeting IDs are user-provided (Google Meet code like xxx-xxxx-xxx or Teams numeric ID and passcode). Vexa does not generate meeting IDs.
- Enterprises (self-host): Data sovereignty and control on your infra
- Teams using hosted API: Fastest path from meeting to transcript
- n8n/indie builders: Low-code automations powered by real-time transcripts
- Zoom support (coming soon)
For issues and progress, join our Discord.
Build powerful meeting assistants (like Otter.ai, Fireflies.ai, Fathom) for your startup, internal use, or custom integrations.
The Vexa API provides powerful abstractions and a clear separation of concerns, enabling you to build sophisticated applications on top with a safe and enjoyable coding experience.
- api-gateway: Routes API requests to appropriate services
- mcp: Provides MCP-capable agents with Vexa as a toolkit
- bot-manager: Handles bot lifecycle management
- vexa-bot: The bot that joins meetings and captures audio
- WhisperLive: Real-time audio transcription service (uses transcription-service as backend in remote mode)
- transcription-service: Basic transcription service (WhisperLive uses it as a real-time wrapper)
- transcription-collector: Processes and stores transcription segments
- Database models: Data structures for storing meeting information
💫 If you're building with Vexa, we'd love your support! Star our repo to help us reach 2000 stars.
- Real-time multilingual transcription supporting 100 languages with Whisper
- Real-time translation across all 100 supported languages
- Public API: Fully available with self-service API keys at www.vexa.ai
- Google Meet Bot: Fully operational bot for joining Google Meet calls
- Teams Bot: Fully operational bot for joining Teams calls
- Real-time Transcription: Low-latency, multilingual transcription service is live
- Real-time Translation: Instant translation between 100 supported languages
- WebSocket Streaming: Sub-second transcript delivery via WebSocket API
- Zoom Bot: Integration for automated meeting attendance (coming soon)
- Direct Streaming: Ability to stream audio directly from web/mobile apps
For security-minded companies, Vexa offers complete self-deployment options.
To run Vexa locally on your own infrastructure, the primary command you'll use after cloning the repository is make all. This command sets up the environment (CPU by default, or GPU if specified), builds all necessary Docker images, and starts the services.
Deployment & Management Guides:
- Local Deployment and Testing Guide
- Self-Hosted Management Guide - Managing users and API tokens
Contributors are welcome! Join our community and help shape Vexa's future. Here's how to get involved:
-
Understand Our Direction:
-
Engage on Discord (Discord Community):
- Introduce Yourself: Start by saying hello in the introductions channel.
- Stay Informed: Check the Discord channel for known issues, feature requests, and ongoing discussions. Issues actively being discussed often have dedicated channels.
- Discuss Ideas: Share your feature requests, report bugs, and participate in conversations about a specific issue you're interested in delivering.
- Get Assigned: If you feel ready to contribute, discuss the issue you'd like to work on and ask to get assigned on Discord.
-
Development Process:
- Browse available tasks (often linked from Discord discussions or the roadmap).
- Request task assignment through Discord if not already assigned.
- Submit pull requests for review.
- Critical Tasks & Bounties:
- Selected high-priority tasks may be marked with bounties.
- Bounties are sponsored by the Vexa core team.
- Check task descriptions (often on the roadmap or Discord) for bounty details and requirements.
We look forward to your contributions!
We ❤️ contributions. Join our Discord and open issues/PRs. Licensed under Apache-2.0 — see LICENSE.
The Vexa name and logo are trademarks of Vexa.ai Inc.