LiveKit is an open-source project that enables scalable, multi-user conferencing with WebRTC. It provides the tools you need to add real-time video, audio, and data capabilities to your applications.

Prerequisites

  • A SambaCloud account and API key.
  • Python 3.11.5 or later.

Installation and setup

  1. Create and activate a virtual environment:
    python -m venv .venv source .venv/bin/activate
    
  2. Install the minimal form of livekit
    pip install "livekit-agents[openai,silero,deepgram,cartesia,turn-detector]~=1.0"
    

Example use cases

You can combine LiveKit with SambaCloud models to create powerful, real-time AI agents. Some common applications include:
  • Multimodal assistants – Support text, voice, and screen sharing with an AI assistant.
  • Telehealth – Enable real-time AI support during virtual medical consultations.
  • Call centers – Automate inbound and outbound customer support with AI voice agents.
  • Real-time translation – Translate conversations instantly across languages.

Example - Voice Agent with SambaCloud

The following example shows how to build a voice AI agent using LiveKit with SambaCloud STT and LLM models:
from livekit import agents
from livekit.agents import AgentSession, Agent, RoomInputOptions
from livekit.plugins import openai, cartesia, noise_cancellation, silero
import os

SAMBANOVA_URL = os.getenv("SAMBANOVA_URL")
SAMBANOVA_API_KEY = os.getenv("SAMBANOVA_API_KEY")

class Assistant(Agent):
    def __init__(self) -> None:
        super().__init__(instructions="You are a helpful voice AI assistant.")

stt = openai.STT(
    model="Whisper-Large-v3",
    api_key=SAMBANOVA_API_KEY,
    base_url=SAMBANOVA_URL,
)

llm = openai.LLM(
    model="Llama-4-Maverick-17B-128E-Instruct",
    api_key=SAMBANOVA_API_KEY,
    base_url=SAMBANOVA_URL,
)

async def entrypoint(ctx: agents.JobContext):
    session = AgentSession(
        stt=stt,
        llm=llm,
        tts=cartesia.TTS(),
        vad=silero.VAD.load(),
    )
    await session.start(
        room=ctx.room,
        agent=Assistant(),
        room_input_options=RoomInputOptions(
            noise_cancellation=noise_cancellation.BVC(),
        ),
    )
    await session.generate_reply(
        instructions="Greet the user and offer your assistance."
    )

if __name__ == "__main__":
    agents.cli.run_app(agents.WorkerOptions(entrypoint_fnc=entrypoint))

LiveKit documentation

See LiveKit documentation for more details.