- Send frames as JPEG, camera-major: every frame of the first camera, then every frame of the next camera.
- Within one camera, send frames oldest first. The last frame is the latest.
- Send
robot_stateas the state at the time of the latest frame. - Action row
kis meant for timet + k * dt, wheretis when you captured the latest frame. - A model that is not stateful takes one frame per camera on every request.
- A stateful model keeps the episode on the server. It takes one frame per camera on the first request of a session, then more on every later request.
session.opened message states the same facts at run time.
See Sessions over WebSocket.
abstract/dreamzero-astra:yam
A DreamZero world action model fine-tuned for the bimanual YAM. It keeps the episode’s context on the server and conditions on recent video.robot_state
stealth/picasso:yam
Picasso drives the bimanual YAM and keeps the episode’s context on the server. See pricing for its rates. Use this model id in chat completions, or in both the WebSocket’s?model= query and session.open.
robot_state
allenai/molmoact2:yam
Ai2’s MolmoAct2 for the bimanual YAM. It reads one frame per camera and keeps no state between requests.robot_state
microsoft/rho:yam
Microsoft’s Rho-YAM-Box. It predicts Cartesian end-effector targets, not joint commands. Abstract performs no inverse kinematics.
Positions are in metres, in the checkpoint’s coordinate frame.
A rotation6d is the first two columns of the rotation matrix, concatenated.
The two columns must be nonzero and not parallel.
The model computes 50 rows and returns the first 25.
robot_state
perceptron/isaac-0.5:yam
Perceptron’s Isaac 0.5 for the bimanual YAM. It reads one frame per camera and keeps no state between requests. It was trained on Ai2’s MolmoAct2-BimanualYAM recordings, so it expects the same overhead and wrist views as MolmoAct2.
The model computes 50 rows and returns the first 30.
Its joint scaling comes from one recorded session of that dataset.
Expect worse motion on a rig whose cameras or start pose differ from those recordings.
robot_state
physical-intelligence/pi0.5:yam
π0.5 fine-tuned for the bimanual YAM. It reads one frame per camera and keeps no state between requests. It was trained on Ai2’s MolmoAct2-BimanualYAM recordings, so it expects the same overhead and wrist views as MolmoAct2.
The weights are a community fine-tune of π0.5, not a release by Physical Intelligence.
They have not been evaluated on a robot.
Expect worse motion on a rig whose cameras or start pose differ from those recordings.
robot_state
What the server checks
invalid_image covers any frame or state value the model cannot use.
Its message names the problem.
See Errors and limits for every code.