Skip to main content
Have an SO-101 or a bimanual YAM? You can skip code and use dreamscale run from SO-101 or Bimanual YAM.

Install

The SDK uses your dreamscale login. On a machine without a browser, set an API key from Settings → API keys:

Get one action chunk

This connects to molmoact2-so101, sends one observation, and prints the actions. It does not move the robot.
Each model has its own observation helper and action format. See Models.
The with block closes the session. Open sessions bill until closed. If your process crashes, run dreamscale sessions list and dreamscale sessions stop <id>.

Drive a robot

Actions are model outputs, not safe commands. Before sending them to a robot, enforce joint, speed, and workspace limits locally, and keep a physical e-stop in reach.
Pick the loop that fits your code.

You own the loop: next_action

Call next_action() once per control tick. Dreamscale requests and buffers chunks in the background.

Dreamscale owns the loop: run

Pass two callbacks. run() keeps time, refills chunks, and calls act once per action.
An underrun means the next chunk arrived late, so the robot held its position.

Common options

Use await dreamscale.aconnect(...) in async code. See the SDK reference for every parameter.