Your Rooms (0)
Loading rooms...
Your Tokens (0)
Loading tokens...
5-Minute Setup
Get remote training running in 5 steps
Create a Room
Your workspace for remote training
A Room is where workers and clients collaborate. Create one from this dashboard or via CLI.
--expires never for permanent rooms.
Generate Room Secret Optional
Extra security for P2P connections
Room secrets add authentication to WebRTC peer connections. Both workers and clients must share the same secret.
Create Worker Token
API key for worker authentication
Each worker needs an API key (token) to authenticate with a room. Tokens are room-scoped and have an expiration date.
Start Worker on Remote Machine
Run the worker on your GPU server
SSH into your GPU machine and start the worker with your API key.
sleap-rtc worker --api-key YOUR_API_KEY
sleap-rtc worker --api-key YOUR_API_KEY --room-secret YOUR_SECRET
sleap-rtc worker --api-key YOUR_API_KEY --name "lab-gpu-1"
Submit a Training Job
Run training from your local machine
From your local machine, submit a training job to the remote worker.
sleap-rtc train --room ROOM_ID --auto-select --pkg-path training.zip
sleap-rtc train --room ROOM_ID --pkg-path training.zip
sleap-rtc train --session-string SESSION_STRING --pkg-path training.zip
Configuration File
Persistent settings with sleap-rtc.toml
Instead of passing flags every time, create a sleap-rtc.toml file in your home directory or project root.
# Default room for commands
default_room = "your-room-id"
# Worker configuration
[worker]
api_key = "your-api-key"
name = "lab-gpu-1"
# Room secrets (optional)
[secrets]
"room-id-1" = "secret-for-room-1"
"room-id-2" = "secret-for-room-2"
# Client configuration
[client]
auto_select = true
With this config, you can run commands without flags:
sleap-rtc worker
Starts worker using config values
sleap-rtc train --pkg-path training.zip
Uses default room and auto-select
Next Steps
Learn more about SLEAP-RTC
What is SLEAP-RTC?
Real-Time Communication for Remote Training & Inference
SLEAP-RTC enables remote training and inference with SLEAP by connecting Clients (who submit jobs) and Workers (who process them) through peer-to-peer WebRTC connections.
The Signaling Server helps peers discover each other and establish connections, but all data transfer happens directly between Client and Worker via WebRTC.
Rooms
Virtual workspaces for collaboration
A Room is a virtual workspace where workers and clients collaborate. Rooms provide:
-
Membership Only room members can discover and connect to workers in that room
-
Shared Model Registry Models trained in a room are accessible to all members
-
Expiration Rooms auto-expire after a configurable period (default: 30 days)
Room Membership
Owners vs Members
Owner
- Create and delete the room
- Generate invite codes
- Create worker tokens
- Manage room secrets
- Remove members
Member
- Discover workers in the room
- Connect to workers
- Submit training/inference jobs
- Access shared models
- Cannot manage the room
To join a room as a member, use an invite code shared by the room owner.
Worker Tokens (API Keys)
Authenticate workers with your rooms
Worker tokens are API keys that authenticate worker machines with specific rooms. Each token:
-
Room-Scoped Only grants access to one specific room
-
Named Has a human-readable worker name (e.g., "lab-gpu-1")
-
Expirable Auto-expires after a set period (default: 7 days)
-
Revocable Can be revoked at any time to disconnect a worker
sleap-rtc worker --api-key YOUR_TOKEN_HERE
Room Secrets (P2P Authentication)
Optional extra security for peer connections
Room secrets add an additional layer of security for WebRTC peer connections. When configured, workers will challenge connecting clients to prove they have the shared secret.
Connection Modes
Different ways to connect clients to workers
Direct (Session String)
Worker displays a session string; client connects directly using it.
sleap-rtc train --session-string SESSION
Best for: Single worker, testing
Room Discovery
Client discovers all workers in a room and selects one interactively.
sleap-rtc train --room ROOM_ID
Best for: Multiple workers, manual selection
Auto-Select
Automatically selects the worker with the most GPU memory.
sleap-rtc train --room ROOM_ID --auto-select
Best for: Scripts, CI/CD pipelines
CLI Quick Reference
Common commands
sleap-rtc login
Authenticate with GitHub
sleap-rtc room create --name "My Room"
Create a new room
sleap-rtc room join --code INVITE_CODE
Join a room with invite code
sleap-rtc token create --room ROOM_ID --name "gpu-1"
Create a worker token
sleap-rtc worker --api-key TOKEN
Start a worker
sleap-rtc train --room ROOM_ID --pkg-path package.zip
Submit a training job