Skip to main content

Data overview

An overview of realtime text and data features for LiveKit.

Overview

LiveKit provides realtime data exchange between participants using text streams, byte streams, remote procedure calls (RPCs), and data packets. Exchange text messages, files, images, and custom data, or execute methods on other participants in the room.

Realtime data components

Send and receive data between participants using streams, RPCs, or low-level data packets.

ComponentDescriptionUse cases
Sending textUse text streams to send any amount of text between participants, with automatic chunking and topic-based routing.Chat messages, streamed LLM responses, and realtime text communication.
Sending files & bytesUse byte streams to transfer files, images, or any other binary data between participants with progress tracking.File sharing, image transfer, and binary data exchange.
Remote method callsExecute custom methods on other participants in the room and await a response, enabling app-specific coordination and data access.Tool calls from AI agents, UI manipulation, and coordinated state management.
Data packetsLow-level API for sending individual packets with reliable or lossy delivery, providing advanced control over packet behavior.High-frequency updates, custom protocols, and scenarios requiring precise packet control.
State synchronizationSynchronize participant attributes and room metadata across all participants in realtime.User presence, room configuration, and shared state management.

In this section

Learn how to exchange data between participants.