Agent Framework plugin for voice synthesis with Inworld's API.
Project Links
Meta
Author: LiveKit
Requires Python: >=3.10.0
Classifiers
Intended Audience
- Developers
License
- OSI Approved :: Apache Software License
Programming Language
- Python :: 3
- Python :: 3 :: Only
- Python :: 3.10
Topic
- Multimedia :: Sound/Audio
- Multimedia :: Video
- Scientific/Engineering :: Artificial Intelligence
Inworld plugin for LiveKit Agents
Support for voice synthesis with Inworld TTS.
See https://docs.livekit.io/agents/integrations/tts/inworld/ for more information.
Installation
pip install livekit-plugins-inworld
Authentication
Set INWORLD_API_KEY in your .env file (get one here).
Usage
Use Inworld TTS within an AgentSession or as a standalone speech generator. For example,
you can use this TTS in the Voice AI quickstart.
from livekit.plugins import inworld
tts = inworld.TTS()
Or with options:
from livekit.plugins import inworld
tts = inworld.TTS(
voice="Hades", # voice ID (default or custom cloned voice)
model="inworld-tts-1", # or "inworld-tts-1-max"
encoding="OGG_OPUS", # LINEAR16, MP3, OGG_OPUS, ALAW, MULAW, FLAC
sample_rate=48000, # 8000-48000 Hz
bit_rate=64000, # bits per second (for compressed formats)
speaking_rate=1.0, # 0.5-1.5
temperature=1.1, # 0-2
timestamp_type="WORD", # WORD, CHARACTER, or TIMESTAMP_TYPE_UNSPECIFIED
text_normalization="OFF", # ON, OFF, or APPLY_TEXT_NORMALIZATION_UNSPECIFIED
)
Streaming
Inworld TTS supports WebSocket streaming for lower latency real-time synthesis. Use the
stream() method for streaming text as it's generated:
from livekit.plugins import inworld
tts = inworld.TTS(
voice="Hades",
model="inworld-tts-1",
buffer_char_threshold=100, # chars before triggering synthesis (default: 100)
max_buffer_delay_ms=3000, # max buffer time in ms (default: 3000)
)
# Create a stream for real-time synthesis
stream = tts.stream()
# Push text incrementally
stream.push_text("Hello, ")
stream.push_text("how are you today?")
stream.flush() # Flush any remaining buffered text
stream.end_input() # Signal end of input
# Consume audio as it's generated
async for audio in stream:
# Process audio frames
pass
1.5.1
Mar 23, 2026
1.5.0
Mar 19, 2026
1.5.0rc2
Mar 06, 2026
1.5.0rc1
Feb 13, 2026
1.4.6
Mar 16, 2026
1.4.5
Mar 11, 2026
1.4.4
Mar 03, 2026
1.4.3
Feb 23, 2026
1.4.2
Feb 17, 2026
1.4.1
Feb 06, 2026
1.4.0rc2
Jan 23, 2026
1.4.0rc1
Dec 23, 2025
1.3.12
Jan 21, 2026
1.3.11
Jan 14, 2026
1.3.10
Dec 23, 2025
1.3.9
Dec 19, 2025
1.3.8
Dec 17, 2025
1.3.7
Dec 16, 2025
1.3.6
Dec 03, 2025
1.3.5
Nov 25, 2025
1.3.4
Nov 24, 2025
1.3.3
Nov 19, 2025
1.3.2
Nov 17, 2025
1.3.1
Nov 17, 2025
1.3.0rc2
Nov 15, 2025
1.3.0rc1
Nov 06, 2025
1.2.18
Nov 05, 2025
1.2.17
Oct 29, 2025
1.2.16
Oct 27, 2025
1.2.15
Oct 15, 2025
1.2.14
Oct 01, 2025
1.2.13
Oct 01, 2025
1.2.12
Sep 29, 2025
1.2.11
Sep 18, 2025
1.2.9
Sep 15, 2025
1.2.8
Sep 02, 2025
1.2.7
Aug 28, 2025
1.2.6
Aug 18, 2025
1.2.5
Aug 10, 2025
1.2.4
Aug 07, 2025
1.2.3
Aug 04, 2025
1.2.2
Jul 24, 2025
1.2.1
Jul 17, 2025
1.2.0
Jul 17, 2025
1.1.7
Jul 15, 2025
1.1.6
Jul 10, 2025
1.1.5
Jun 30, 2025
1.1.4
Jun 25, 2025
Wheel compatibility matrix
Files in release
Extras:
None
Dependencies:
livekit-agents
(>=1.5.1)