Skip to main content

Python client library for Vexa - privacy-first, open-source API for real-time meeting transcription

Project description

Vexa Client Python

PyPI version License: MIT Python 3.7+

๐Ÿš€ 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:


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

vexa_client-0.5.4.tar.gz (14.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vexa_client-0.5.4-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

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

Hashes for vexa_client-0.5.4.tar.gz
Algorithm Hash digest
SHA256 a770c60892e1d1e545dfdb9382327b37bd7147bcc380056e2a678c925805ea74
MD5 15b18a81054757247a4793e518f9b30b
BLAKE2b-256 83ce072a73023043ff3fd2323752b5a6a13c8c4db25f806ca53c72df421b946f

See more details on using hashes here.

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

Hashes for vexa_client-0.5.4-py3-none-any.whl
Algorithm Hash digest
SHA256 e97192bbcc4a64ffa1666f4631f76bea9acdbc71dc60eb3206a7378fa4abd3a1
MD5 749c1664b984b93e5ba3f76ad3efd7d8
BLAKE2b-256 8413a70b54d9180d82f5f0947cd77a38a494e6c53e8e672a1418801322628cbc

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page