Thanks to visit codestin.com
Credit goes to github.com

Skip to content
/ vexa Public

Self-hosted, multi-user API that drops bots into Google Meet for real-time transcripts.

License

Notifications You must be signed in to change notification settings

Vexa-ai/vexa

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Vexa Logo

Vexa

Self-hosted meeting intelligence platform

bots • real-time transcription • storage • API • user interface

Google Meet Google Meet     •     Microsoft Teams Microsoft Teams     •     Zoom Zoom (soon)

Stars     License     Discord

What’s newQuickstartAPIRoadmapDiscord


What is Vexa?

Vexa is an open-source, self-hostable API for real-time meeting transcription. It automatically joins Google Meet and Microsoft Teams meetings, captures audio, and provides real-time transcriptions via REST API and WebSocket.

At a glance

Capability What it means
Meeting bots Automatically joins Google Meet + Microsoft Teams meetings
Real-time transcription Sub-second transcript delivery during the call
Multilingual 100+ languages via Whisper (transcription + translation)
API-first REST API + WebSocket streaming for integrations
Storage Persist transcripts + meeting metadata in your database
Multi-user Team-ready: users, API keys/tokens, admin operations
Self-hostable Run on your infra for complete data sovereignty
User interfaces Open-source frontends (currently: Vexa Dashboard)

How it works

How Vexa Works

Who it's for

You are... You want...
Enterprises Self-hosted transcription with strict privacy requirements
Small & medium teams Simple deployment (Vexa Lite) with an open-source UI
Developers Build meeting products (assistants, automations, analytics) on top of the API
Automation builders Integrate with tools like n8n via webhooks / APIs

Build on Top. In Hours, Not Months

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.

🛡️ Built for Data Sovereignty

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

🎉 What's new in v0.7 (pre-release)

  • 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


Quickstart

Option 1: Hosted (Fastest)

Just grab your API key at https://vexa.ai/dashboard/api-keys and start using the service immediately.

Option 2: Vexa Lite - For Users (Recommended for Production)

Self-hosted, multiuser service for teams. Run as a single Docker container for easy deployment.

Vexa Lite is a single-container deployment perfect for teams who want:

  • Self-hosted multiuser service - Multiple users, API tokens, and team management
  • Quick deployment on any platform - Single container, easy to deploy
  • No GPU required - Transcription runs externally
  • Choose your frontend - Pick from open-source user interfaces like Vexa Dashboard
  • Production-ready - Stateless, scalable, serverless-friendly

Quick start:

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:latest

Deployment options:

  • 🚀 One-click platform deployments: vexa-lite-deploy repository
    • Fly.io - Implemented
    • 🚧 Railway, Render, etc. - To be added (contribute by adding your platform of choice!)
  • 📖 Complete setup guide: Vexa Lite Deployment Guide - All 4 configurations (local/remote database, local/remote transcription)
  • 🎨 Frontend options: Choose from open-source user interfaces like Vexa Dashboard

Option 3: Docker Compose - For Development

Full stack deployment with all services. Perfect for development and testing.

All services are saved in docker-compose.yml and wrapped in a Makefile for convenience:

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

What make all does:

  • Builds all Docker images
  • Spins up all containers (API, bots, transcription services, database)
  • Runs database migrations
  • Starts a simple test to verify everything works

Option 4: Hashicorp Nomad, Kubernetes, OpenShift

For enterprise orchestration platforms, contact vexa.ai

1. Send bot to meeting:

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

Request a bot for Microsoft Teams

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>"
  }'

Or request a bot for Google Meet

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": "abc-defg-hij"
  }'

2. Get transcripts:

Get transcripts over REST

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.


Who Vexa is for


Roadmap

  • Zoom support (coming soon)

For issues and progress, join our Discord.

Architecture

Vexa Architecture Flow

  • 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.

Features:

  • Real-time multilingual transcription supporting 100 languages with Whisper
  • Real-time translation across all 100 supported languages
  • Google Meet integration - Automatically join and transcribe Google Meet calls
  • Microsoft Teams integration - Automatically join and transcribe Teams meetings
  • REST API - Complete API for managing bots, users, and transcripts
  • WebSocket streaming - Sub-second transcript delivery via WebSocket
  • Multiuser support - User management, API tokens, and team features
  • Self-hostable - Full control over your data and infrastructure
  • Open-source frontends - Choose from user interfaces like Vexa Dashboard

Deployment & Management Guides:

Related Projects

Vexa is part of an ecosystem of open-source tools:

100% open-source web interface for Vexa. Join meetings, view transcripts, manage users, and more. Self-host everything with no cloud dependencies.

Contributing

Contributors are welcome! Join our community and help shape Vexa's future. Here's how to get involved:

  1. Understand Our Direction:

  2. 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.
  3. 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!

Contributing & License

We ❤️ contributions. Join our Discord and open issues/PRs. Licensed under Apache-2.0 — see LICENSE.

Project Links

Repository Structure

This is the main Vexa repository containing the core API and services. For related projects:

  • vexa-lite-deploy - Deployment configurations for Vexa Lite
  • Vexa-Dashboard - Web UI for managing Vexa instances (first in a planned series of UI applications)

Meet Founder

Join Discord

The Vexa name and logo are trademarks of Vexa.ai Inc.