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.2.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.2.1.tar.gz | 17.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lokutor-1.2.1-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 34.2 kB
Release files / lokutor-1.2.1.tar.gz
| Download URL | lokutor-1.2.1.tar.gz |
|---|---|
| Size | 17.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
5b41a6a0086c8f23f47613900e6e4d3262be21a0b6508a34d9f4507bf62dfe1d
|
|
BLAKE2b-256 checksum How to use checksums |
7652ab7167cec6b1d41bf34dfafcd94b09ea668208da4f42dde0d6663d6a6db6
|
| 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.2.1-py3-none-any.whl
| Download URL | lokutor-1.2.1-py3-none-any.whl |
|---|---|
| Size | 16.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e0a314fc2cb062bd75a093fc3510a0fed4da2615a354940bf86f45489f0199cb
|
|
BLAKE2b-256 checksum How to use checksums |
a7c5e0465f7af6a85d40d746bae732e0fea0c740881cf80bb35d00cf7e1f9786
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.3
|