Skip to main content
Send a synthetic observation to reactor/xwam and inspect one action chunk.

Install the reference client

New to Reactor? How the API works explains the session, camera streams, commands, and action messages used below. You need Python 3.12, uv, a Reactor API key, and Reactor’s public cookbook. The client code is public; your Reactor account still needs access to the selected hosted model. No local model weights or GPU are required for this example.
Run the example below from robotics/sim/notebooks/. This environment installs the Python SDK (reactor-sdk, imported as reactor_sdk) and the reactor_robotics helper directory in Reactor’s public cookbook. The helpers provide camera publishing and message queues; they are separate from the SDK. Keep your API key in the environment. On Linux, the published glibc wheel requires glibc 2.34 or newer. The default endpoint is https://api.reactor.inc; REACTOR_API_URL overrides it. Examples select a model by slug, not a frozen release; check its release notes when the deployed contract changes. If setup or connection fails, see first-run troubleshooting.

Request a chunk

Run the cookbook example from the current robotics/sim/notebooks/ directory:
This example uses XwamClient, a cookbook helper that handles X-WAM requests and converts action replies to NumPy arrays.
Expect actions: (32, 14) followed by 14 values for the first step. These are end-effector and gripper deltas. The synthetic observations check connectivity and reply shape; do not execute their outputs on hardware. Before each request, the client updates the frames and waits at least 200 ms for delivery. Printed request-to-reply timing excludes that wait and is not total observation-to-action latency. Next, run RoboTwin or use the integration guide.