Overview
LiveKit provides several APIs for exchanging realtime data between participants in a room. Each API is designed for a specific communication pattern, including continuous streaming, reliable message delivery, request-response interactions, and shared state synchronization.
Realtime data components
Choose a data API based on how the robot and operator need to communicate.
| Component | Description | Use cases |
|---|---|---|
| Data tracks | Stream continuous realtime binary data between participants. | Sensor streams, teleoperation control input, telemetry, and non-standard media such as MJPEG. |
| Remote procedure calls | Invoke an operation on another participant and await the result. | Behaviors, policy execution, device queries. |
| Participant attributes | Synchronize participant state across the room. | Robot status, roles, permissions. |
| Reliable text & byte streams | Transfer large text or binary payloads reliably. | Files, logs, maps, LLM output. |