Skip to main content

LiveKit Portal overview

Teleoperate robots, run remote policies, and record demonstrations with LiveKit Portal.

Overview

LiveKit Portal  is a thin layer over LiveKit that transports camera streams, robot state, and control actions between a robot and one or more operators. It provides a consistent interface for local and remote robots, so the same control code works in either environment.

Portal addresses three common challenges in remote robotics apps:

  • Transport: Streams camera data and robot state from the robot, and control actions back, in a LiveKit room.
  • Synchronization: Aligns camera frames and robot state by timestamp, delivering a single observation for each control tick.
  • Control arbitration: Coordinates control between participants such as teleoperators, policies, and recorders, allowing control to transfer with a single API call.

Portal works with any robotics stack. It does not depend on a specific perception, control, or learning framework, and includes an optional LeRobot  integration for apps that already use it.

When to use LiveKit Portal

Use Portal when robot observations and control actions need to cross a network, such as for teleoperation or remote inference. It handles transport, synchronization, and control coordination over both LiveKit Cloud  and self-hosted LiveKit servers. The code is the same in either deployment.

If you need lower-level control over media and data transport, build directly on the LiveKit SDKs. See Teleoperation for the underlying video and data track patterns.

In this section

If you're new to Portal, start with the LiveKit Portal quickstart, which walks through connecting a robot and an operator without requiring physical hardware. The remaining topics cover the architecture, APIs, and example apps.