Skip to main content
Your Python client runs on a computer connected to your robot or simulator. Reactor runs the policy on cloud GPUs. Your client sends camera images, a task, and any required robot state; Reactor returns predicted actions. Your local controller validates and executes them. No local model weights or inference GPU are required.

Connection and data

  1. Select a model and provide your API key. Register message handlers before connecting so early replies are retained.
  2. Connect and wait for READY before publishing tracks or sending commands. Session setup can take time while model capacity and the network connection become ready.
  3. Keep the required camera tracks publishing, and send the task and measured state. Capture related measurements together: video and commands arrive separately.
  4. Receive and validate an action chunk. Your local controller decides which rows to execute and when. Follow the model’s protocol to obtain the next prediction.
  5. Close the session when finished.
Action arrival is not the robot’s control clock. Account for capture, network, inference, and execution delay when deciding whether an action is still usable. A model reset does not reset or stop the robot. Each model’s integration guide defines its execution and recovery rules.

Python SDK and cookbook helpers

The quickstarts use the Python SDK and the reactor_robotics helper directory in Reactor’s public cookbook. These helpers provide camera publishing and message queues. Each quickstart includes installation; installing the SDK alone does not install the helpers. You can use the helpers or the SDK directly. At the SDK layer, on_message receives a dictionary with type and data. This abbreviated Cosmos reply shows the first row of a 32-row chunk:
For Cosmos, action is shaped (32, 8): seven joint targets in radians and one gripper value per row. step is its prediction counter. Other models have different fields, dimensions, and counter semantics; use the selected model’s reference. ReactorSession.next_message(...) returns the inner data dictionary. The examples convert its action values to NumPy arrays; model-specific helpers can return their own objects. See the helper reference for return values and the Python SDK reference for callbacks, commands, and errors. Neither the SDK nor the helpers execute actions on your robot.

If the first run fails

For support, retain the model slug, SDK/client versions, session ID if available, failure stage, and error text. Never include an API key. See billing for session costs and support for help. Choose a model and follow its quickstart.