Python client library for Vexa - privacy-first, open-source API for real-time meeting transcription
Project description
Vexa Client Python
๐ Build Meeting Assistants in Hours, Not Months
A Python client library for Vexa - the privacy-first, open-source API for real-time meeting transcription. Build powerful meeting assistants with just a few lines of code.
repo https://github.com/Vexa-ai/vexa
discord community https://discord.com/invite/Ga9duGkVz9
โจ Features
- ๐ค Meeting Bots: Send bots to automatically join Google Meet, (Zoom, Teams coming soon)
- โก Real-time: Get transcripts as meetings happen, not after
- ๐ 109 Languages: Real-time transcription and translation across all of them
- ๐ง Auto Language Detection: No language setup needed - Vexa automatically detects what's being spoken
- ๐ Real-time Translation: Choose any target language for instant translation instead of transcription
- ๐ Webhook Automation: Get notified instantly when meetings end for seamless post-meeting workflows
- ๐ Privacy-First: Open-source alternative to recall.ai - your data stays under your control
- ๐ Rapid Development: Build complex meeting apps in hours
- ๐ฏ Simple API: Clean abstractions that make building on top a joy
๐ ๏ธ What You Can Build
Transform your ideas into reality with Vexa's powerful API:
- Meeting Assistant Apps: Like Otter.ai, Fireflies.ai, Fathom
- CRM Integrations: Auto-populate meeting notes in Salesforce, HubSpot
- Compliance Tools: Automatically record and transcribe important business calls
- Language Learning: Real-time translation for international meetings
- Accessibility Tools: Live captions for hearing-impaired participants
- Analytics Dashboards: Extract insights from meeting conversations
๐ API Operations Overview
๐ฏ User Operations
These are the primary operations for API users who want to integrate Vexa's transcription capabilities into their applications. This includes bot management, accessing transcripts, and configuring webhooks.
๐ง Admin Operations (Self-hosting only)
These operations are exclusively for users who self-host Vexa and need to manage user accounts, create API tokens, and perform administrative tasks. Most API users will not need these operations.
๐ Get Started in 5 Minutes
1. Get Your API Key
Get your API key in 3 clicks at www.vexa.ai - no waiting, no approval process!
2. Install the Client
pip install vexa-client
๐ฏ Quick Start Example
from vexa_client import VexaClient
# Initialize the client
client = VexaClient(
api_key="your-api-key-here", # For user operations
)
meeting_id = "abc-def-ghi"
# Request a bot to join a meeting
meeting = client.request_bot(
platform="google_meet",
native_meeting_id=meeting_id,
bot_name="Vexa Bot",
language="en" # Optional - auto-detected if not provided
)
# get meeting transcript during or after the meeting
# Option 1: Get latest meeting by platform + native_meeting_id (backward compatible)
transcript = client.get_transcript("google_meet", "abc-defg-hij")
# Option 2: Get specific meeting by database ID (new feature)
transcript = client.get_transcript("google_meet", "abc-defg-hij", meeting_id=123)
# switch to translation to a different language instead of transcription during meeting
client.update_bot_config(
platform="google_meet",
native_meeting_id=meeting_id,
language='es'
)
#stop the bot
client.stop_bot(platform="google_meet",native_meeting_id=meeting_id)
# delete meeting transcription for vexa
client.delete_meeting(
platform="google_meet",
native_meeting_id=meeting_id,
)
๐ Language Detection & Translation Workflows
Auto Language Detection
# No language specified - Vexa automatically detects what's being spoken
meeting = client.request_bot(
platform="google_meet",
native_meeting_id="abc-def-ghi",
bot_name="Smart Bot"
# language not specified - auto-detection enabled!
)
๐ Transcription in Specific Language
# Transcribe in specific language (if you know what will be spoken)
meeting = client.request_bot(
platform="google_meet",
native_meeting_id="abc-def-ghi",
language="es", # Spanish transcription
task="transcribe"
)
๐ Real-time Translation
# Translate everything to English in real-time
meeting = client.request_bot(
platform="google_meet",
native_meeting_id="abc-def-ghi",
language="pt", # Target language (Portuguese)
task="translate" # Translation mode
)
๐ Webhook Automation for Post-Meeting Workflows
Set up webhooks to get notified instantly when meetings end - perfect for automated post-meeting processing:
# Set up webhook to receive meeting completion notifications
client.set_webhook_url("https://your-server.com/webhook/vexa")
๐ Full API Reference https://github.com/Vexa-ai/vexa/blob/main/docs/user_api_guide.md
User Profile
set_webhook_url(webhook_url)
Set the webhook URL for the authenticated user.
Admin Operations (Self-hosting Only)
โ ๏ธ Note: Admin operations are only available for self-hosted Vexa deployments. Most API users will only need the User Operations above.
create_user(email, name=None, image_url=None, max_concurrent_bots=None)
Create a new user (Self-hosting admin only).
list_users(skip=0, limit=100)
List users in the system (Self-hosting admin only).
update_user(user_id, name=None, image_url=None, max_concurrent_bots=None)
Update user information (Self-hosting admin only).
get_user_by_email(email)
Retrieve a user by email address (Self-hosting admin only).
create_token(user_id)
Generate a new API token for a user (Self-hosting admin only).
๐ Requirements
- Python 3.7+
- requests >= 2.25.0
๐ License
This project is licensed under the MIT License - see the LICENSE file for details.
๐ Join the Vexa Community
๐ Help us reach 1000 stars! Current: GitHub stars โ Goal: 1000 โญ๏ธ
Join hundreds of developers building the future of meeting intelligence:
- ๐ฌ Discord Community - Get help, share projects, connect with other builders
- ๐ Vexa Website - Get your API key and explore features
- ๐ผ LinkedIn - Follow for updates and announcements
- ๐ฆ X (@grankin_d) - Connect with the founder
๐ฌ What Developers Are Saying
"Built our meeting assistant MVP in 3 hours with Vexa. The API is incredibly clean and the real-time transcription is spot-on." - Open Source Developer
"Finally, a privacy-first alternative to proprietary solutions. Perfect for our enterprise needs." - Enterprise Developer
"The 109-language support is a game changer for our international team meetings." - Startup Founder
๐ Support
For support and questions:
- ๐ฌ Discord Community - Fastest way to get help
- ๐ Documentation - Comprehensive guides and tutorials
- ๐ Issues - Report bugs and request features
- โ๏ธ Email: support@vexa.ai
Ready to build the future of meeting intelligence? Get started with Vexa today!
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file vexa_client-0.5.4.tar.gz.
File metadata
- Download URL: vexa_client-0.5.4.tar.gz
- Upload date:
- Size: 14.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a770c60892e1d1e545dfdb9382327b37bd7147bcc380056e2a678c925805ea74
|
|
| MD5 |
15b18a81054757247a4793e518f9b30b
|
|
| BLAKE2b-256 |
83ce072a73023043ff3fd2323752b5a6a13c8c4db25f806ca53c72df421b946f
|
File details
Details for the file vexa_client-0.5.4-py3-none-any.whl.
File metadata
- Download URL: vexa_client-0.5.4-py3-none-any.whl
- Upload date:
- Size: 11.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e97192bbcc4a64ffa1666f4631f76bea9acdbc71dc60eb3206a7378fa4abd3a1
|
|
| MD5 |
749c1664b984b93e5ba3f76ad3efd7d8
|
|
| BLAKE2b-256 |
8413a70b54d9180d82f5f0947cd77a38a494e6c53e8e672a1418801322628cbc
|