DreamLake

Getting Started

1. Authenticate

bash
dreamlake login --url http://localhost:10334

Opens your browser for OAuth device auth. On headless machines, add --no-browser for a QR code.

2. Upload

bash
dreamlake upload ./run01.mp4 \
  --episode alice@robotics:run-042 \
  --to /camera/front

File type is auto-detected from extension. Large files are chunked (10 MB parts, 4 parallel workers) and uploaded via S3 multipart.

ExtensionType
.mp4, .mov, .mkv, .webmvideo
.wav, .mp3, .flac, .aacaudio
.vtt, .srttext-track
.jsonl, .csvlabel-track

3. List & Download

bash
dreamlake list --episode alice@robotics:run-042
dreamlake download --episode alice@robotics:run-042 --from /camera/front -o ./video.mp4

4. Organize with Bindrs

bash
dreamlake create bindr "front-camera" --project robotics@alice --episode "2026/04/*"
dreamlake create dataset "training-v1" --project robotics@alice
dreamlake update dataset "training-v1" --project robotics@alice --add "front-*"

Episode Syntax

The --episode flag uses [namespace@]project[:episode]:

ExampleNamespaceProjectEpisode
robotics(current user)robotics
alice@roboticsalicerobotics
alice@robotics:run-042aliceroboticsrun-042

Environment Variables

VariableDescription
DREAMLAKE_REMOTEServer URL
DREAMLAKE_BSS_URLBSS URL
DREAMLAKE_API_KEYAPI token (skip login)