Lokutor Python SDK
The official Python SDK for Lokutor - High-performance, real-time AI voice and TTS. Seamlessly transcribe speech, generate intelligent responses, and synthesize natural speech—all through a unified, production-grade interface.
Features
- 🎤 Real-time Voice Input - Automatic microphone recording with low-latency voice activity detection
- 🔊 Natural Speech Output - High-quality text-to-speech synthesis (44.1kHz)
- 🧠 Intelligent Conversations - LLM-powered responses with context awareness
- ⚡ Streaming TTS - Ultra-fast synthesis with raw binary WebSocket streaming
- 🛡️ Production-Ready - Connects directly to Lokutor's secure cloud infrastructure
- 📚 Simple API - Go from code to conversation in 3 lines
Installation
pip install lokutor
Or from source (for development):
git clone https://github.com/lokutor-ai/lokutor-sdk
cd sdk/python
pip install -e .
Requires PyAudio and websocket-client.
Quick Start
Voice Conversation (Start Speaking!)
from lokutor import VoiceAgentClient
from lokutor.config import VoiceStyle, Language
client = VoiceAgentClient(api_key="your-api-key")
client.start_conversation()
Standalone Text-to-Speech
from lokutor import TTSClient, VoiceStyle
client = TTSClient(api_key="your-api-key")
client.synthesize(
text="Hello world, this is a test of Lokutor streaming TTS.",
voice=VoiceStyle.F1,
play=True
)
Core APIs
1. VoiceAgentClient
Full conversational interface that handles VAD, STT, LLM, and TTS orchestration.
client = VoiceAgentClient(
api_key="your-key",
prompt="You are a helpful customer service agent",
voice=VoiceStyle.F2,
language=Language.ENGLISH
)
client.start_conversation()
Callbacks:
on_transcription(text): Called when your speech is transcribed.on_response(text): Called when the agent's text response is ready.on_error(error): Called when a connection or server error occurs.
2. TTSClient
For converting text to high-quality streaming audio.
client = TTSClient(api_key="your-key")
client.synthesize(
text="Welcome to our platform",
voice=VoiceStyle.M2,
play=True,
block=True
)
Configuration
Voice Styles
| Female Voices | Male Voices |
|---|---|
VoiceStyle.F1 |
VoiceStyle.M1 |
VoiceStyle.F2 |
VoiceStyle.M2 |
VoiceStyle.F3 |
VoiceStyle.M3 |
VoiceStyle.F4 |
VoiceStyle.M4 |
VoiceStyle.F5 |
VoiceStyle.M5 |
Supported Languages
Language.ENGLISHLanguage.SPANISHLanguage.FRENCHLanguage.PORTUGUESELanguage.KOREAN
Usage Examples
Full Conversation with Callbacks
from lokutor import VoiceAgentClient, VoiceStyle
def handle_user_text(text):
print(f"User said: {text}")
def handle_agent_text(text):
print(f"Agent replied: {text}")
client = VoiceAgentClient(
api_key="demo",
prompt="You are a friendly pirate assistant",
on_transcription=handle_user_text,
on_response=handle_agent_text
)
client.start_conversation()
Scripted TTS with Visemes
from lokutor import TTSClient
def handle_visemes(visemes):
# Perfect for syncing 3D character lip-sync
print(f"Syncing lips: {visemes}")
client = TTSClient(api_key="demo")
client.synthesize(
text="Look at my lips moving!",
visemes=True,
on_visemes=handle_visemes
)
Troubleshooting
Connection Issues
The SDK connects to wss://api.lokutor.com. Ensure you have an active internet connection and a valid API key. If you encounter authentication errors, double-check your credentials in the Lokutor Dashboard.
PyAudio Installation
If you encounter issues installing pyaudio, you may need to install portaudio first:
- macOS:
brew install portaudio - Linux:
sudo apt-get install python3-pyaudioorsudo apt-get install portaudio19-dev
License
MIT License
Metadata
Release files for lokutor 1.4.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| lokutor-1.4.1.tar.gz | 18.9 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lokutor-1.4.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 36.4 kB
Release files / lokutor-1.4.1.tar.gz
| Download URL | lokutor-1.4.1.tar.gz |
|---|---|
| Size | 18.9 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
305e3155beda8f4eee47d3f3799173207db7105fa66e773f2594b8cabcff73b0
|
|
BLAKE2b-256 checksum How to use checksums |
a67d5830dd7f326f0d8fb877e4114772437905e8866457973d1b99de99ae9099
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|
Release files / lokutor-1.4.1-py3-none-any.whl
| Download URL | lokutor-1.4.1-py3-none-any.whl |
|---|---|
| Size | 17.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
f94ab2a6425926a18ecdbf46067cd94c93ea411a829789d1bb871f364417d4df
|
|
BLAKE2b-256 checksum How to use checksums |
2ce7d96377167143d73c9905443524080589baff260b70b3387f03697e0783bb
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|