Skip to main content

voicemaster

Real-time AI phone calls. A caller (or a person being called) talks to a Gemini Live assistant over a Vobiz or Twilio phone line. The library is the whole calling engine: the HTTP routes the telephony provider calls, the live audio stream in both directions, the Gemini Live session, the tools the assistant may use (end the call, transfer it, search the customer's documents), and the signed reports of how each call went.

pip install voicemaster
python -m voicemaster.server        # Vobiz at /vobiz/..., Twilio at /twilio/..., one port (PORT, default 8760)

Settings (environment variables)

Variable Default Meaning
PUBLIC_URL – This server's public address ending in /vobiz (Vobiz).
TWILIO_PUBLIC_URL – The same, ending in /twilio (Twilio).
API_TOKEN empty If set, POST /start and POST /calls/{id}/config need the header x-api-token.
EVENTS_URL, EVENTS_SECRET empty Where call reports go, and the secret that signs them (HMAC-SHA256).
KNOWLEDGE_SEARCH_URL derived from EVENTS_URL Where the search_knowledge tool asks for passages.
MAX_CONCURRENT_CALLS 10 Calls accepted at once.
RECORD_CALLS, RECORD_FORMAT, RECORD_MAX_LENGTH_SECONDS false, mp3, 300 Recording (a call is recorded only if this and the call both ask).
GEMINI_LIVE_MODEL gemini-3.1-flash-live-preview The Gemini Live model.
TIME_CONTEXT_TIMEZONE Asia/Kolkata Time zone of the "what time is it" line given to the model.
LOG_LEVEL, LOG_DIR INFO, logs Logging; files rotate at 50 MB and are kept 14 days.

The library never loads a .env file; load it yourself (dotenv.load_dotenv()) before importing voicemaster. Calling credentials (Vobiz / Twilio accounts, the Gemini key, the assistant's prompt) arrive per call, never from settings.

Building blocks

from voicemaster.request import VOBIZ, parse_call_request     # check a POST /start body
from voicemaster.tools import build_tools                      # end_call / transfer_call / search_knowledge
from voicemaster.live import live_config                       # the Gemini Live settings for a call
from voicemaster.call_events import sign                       # the HMAC signature of a report

See voicemaster/__init__.py for the full map of modules.

Metadata

Release files for voicemaster 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for voicemaster 0.1.0
File Size Uploaded
voicemaster-0.1.0.tar.gz 80.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for voicemaster 0.1.0
File Interpreter ABI Platform
voicemaster-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 150.7 kB

Release files / voicemaster-0.1.0.tar.gz

Download URL voicemaster-0.1.0.tar.gz
Size 80.7 kB
Tags Source
SHA-256 checksum
How to use checksums
ed1562b5e3b791008ad27898b5c76b324f5ceab4ec39ce01d81227d641ca7a0a
BLAKE2b-256 checksum
How to use checksums
1ddfacd32429d2ad55d559cc3a855ab6cd32704247acd1d79a88c111e236a62d
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release files / voicemaster-0.1.0-py3-none-any.whl

Download URL voicemaster-0.1.0-py3-none-any.whl
Size 70.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e5eb0af3f218c10f85120ec15cd77096df70fc03cddc56bac4b4d089e8013da8
BLAKE2b-256 checksum
How to use checksums
70c6df53e30dea0887703a690617afbff4b0089464f4b48034fbf83bc9436aa9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.10.11

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page