Voice quality out of the box
Everything you need to make AI companions sound like people, not robots.
🎙
Sentence-Aware TTS
Text is chunked at natural sentence boundaries. No more robotic mid-thought pauses or fragment-synthesized audio.
🔌
Runtime Agnostic
Stable adapter contracts let you swap Pipecat for LiveKit without touching your companion code. No vendor lock-in.
🎭
Voice Character Profiles
Define voice personality in a single JSON file — TTS settings, slang, pronunciation, persona mode. Ship different characters with zero code changes.
😊
Emoji-to-Emotion
Emojis in your agent's output become emotion_state events. Your avatar reacts to sentiment automatically.
😂
Real Laughter
ElevenLabs v3 audio tags turn "haha" and "lol" into actual laughter. Four default slang dicts ship out of the box.
🧩
Modular Plugin Architecture
Every capability is an npm package. Compose only what you need — core, voice router, observability, avatar events.
🛑
Barge-In Detection
Users can interrupt at any time. Kith stops in-flight TTS immediately and signals the turn change.
👁
Avatar Event Bus
Normalized viseme_frame and emotion_state events drive your avatar — VRM, Canvas, Unity, whatever renderer you use.
📊
Built-in Observability
Span tracing, duplicate-send guards, and reconnect metrics. Diagnose production voice failures without guessing.
Sits beside your agent, not inside it
Kith owns the voice loop. You keep your agent, your persona, your memory, your tools.
your agent ←→ @kithjs/core ←→ runtime adapter ←→ Pipecat | LiveKit
│
voice router ─── slang, pronunciation, chunking
observability ── traces, dup-send, reconnect
avatar events ── viseme, emotion, turn stateBuilt for every companion use case
From gaming NPCs to therapy bots — if it talks, Kith makes it sound better.
AI CompanionsVirtual TutorsGame NPCsCustomer Support BotsTherapy CompanionsLanguage LearningVirtual InfluencersAccessibility ToolsInteractive StorytellingVoice AssistantsSocial Platform BotsFitness CoachesMeditation GuidesTravel CompanionsCreative Writing Partners
Modular by design
Six npm packages. Compose only what you need.
@kithjs/core
Adapter contracts, event bus, policy hooks
@kithjs/runtime-pipecat
Primary runtime — Pipecat Python sidecar
@kithjs/runtime-livekit
LiveKit adapter (WebRTC, mock mode in v0.1)
@kithjs/voice-router
Sentence chunking, slang, pronunciation, emoji-to-emotion
@kithjs/observability
Traces, dup-send guards, reconnect metrics
@kithjs/avatar-events
Normalized avatar/expression events
@kithjs/server
Standalone voice microservice — POST text, get audio
@kithjs/client
TypeScript client for @kithjs/server
@kithjs/elizaos
ElizaOS plugin — replaces plugin-elevenlabs
Drop into your stack in one command
Kith works with every major agent framework. Pick yours.
Supported providers
TTS, STT, and realtime infrastructure — with automatic fallback.
Give your companion a voice
Open source. MIT licensed. Ship natural voice in under 15 minutes.