Masked Visual Actions
for Unified World Modeling

  1. Hadi Alzayer1,2
  2. Wenlong Huang1
  3. Haonan Chen1,3
  4. Christopher Luey1
  5. Lvmin Zhang1
  6. Maneesh Agrawala1
  7. Gordon Wetzstein1
  8. Li Fei-Fei1
  9. Yilun Du3
  10. Jiajun Wu1
  11. Jia-Bin Huang2
  1. 1Stanford University
  2. 2University of Maryland, College Park
  3. 3Harvard University

Every embodiment shown is unseen during training — each video generated from a single reference frame and a masked visual action.

TL;DR

How should we interact with video world models? We introduce masked visual actions, a simple representation that generalizes across unseen robots and objects. Reveal part of a video, and the model predicts how the scene unfolds.

Overview

Our video world model takes a reference frame and a masked visual action video, and outputs a video of the scene that follows that action. In the forward setting, the action is a rendering of the robot, and the model simulates the robot's effect on the scene. In the inverse setting, the action is a goal object motion, and the model synthesizes the robot motion that achieves it.

Overview figure describing masked visual actions and its applications
Forward modeling enables planning — selecting the best of N proposed trajectories — and policy evaluation, judging a policy without executing it in the real world. Inverse modeling pairs with an Inverse Dynamics Model to recover the robot actions that produce a desired object motion.

Forward Modeling

By conditioning on a rendering of the robot's actions, our video world model simulates the robot's interaction with the scene shown in the reference frame. We show that its simulated rollouts align with real-world execution (GT).

Reference
Masked visual action
Ours
Ground truth
Reference Reference

See our full 80 real-world demonstrations alongside the model simulation across four different tasks here.

Inverse Modeling

Despite only training on masked visual actions (of robots), an emergent capability of our model is taking masked visual actions of objects and generating the robot motion that satisfies the masked visual actions.

Reference frame
Reference frame
Masked visual action
Robot motion
Masked visual action
Robot motion
Masked visual action
Robot motion

Where can we get masked visual actions of objects?

One natural source is a human demonstration. We can extract a masked visual action from a person performing the task, and our model will generate the robot motion that matches it.

Human demonstration
Generated robot motion
Additional inverse modeling results

Here we show additoinal results from our model in the inverse modeling setting.

Reference
Masked visual action
Output
Reference Reference Reference Reference Reference

Why Masked Visual Actions?

Generalization! As we showed earlier, Visual Masked Actions are so generalizable, they can work for objects as well as diverse unseen robots.
To further illustrate the advantage of Masked Visual Actions, we finetune the same base model on visualizations of the robot Skeleton, and End-Effector (EEF) — on the same scene. All were trained on the same data from DROID. The real-world data we captured was using the same robot as droid but with custom unseen gripper. In BEHAVIOR, we use a completely unseen embodiment to all models.

DROID (Training domain)

As expected, all variants perform similarly on the training distribution.

GT
Masked visual action
Skeleton
EEF

Unseen robot gripper

Here we see that unlike our method, conditioning on the skeleton or EEF causes the model to transform the robot to match the embodiment seen during training, or would simply introduce another robot into the video. The top row shows each action visualization, and below it the resulting output.

GT
Masked visual action
Skeleton
EEF

Unseen embodiment

Similarly with using a bimanual robot, our method generalizes well to the unseen embodiment while the other conditioning signals completely collapse. The top row shows each action visualization, and below it the resulting output.

GT
Masked visual action
Skeleton
EEF

Comparison with Baselines

We compare our method conditioned on Masked Visual Actions against Ctrl-World[1] (both are trained on DROID), and also include Wan-Move[2] (trajectory conditioned video model), and Wan2.2 I2V[3] as a reference.

DROID

GT
Ours
Ctrl-World
Wan-Move
Wan-I2V

BEHAVIOR

BEHAVIOR uses a bimanual embodiment unseen during training for both our method and Ctrl-world. However, we find that our method generalizes more gracefully.

GT
Ours
Ctrl-World

Extreme Generalization

For fun, we push generalization to the extreme: conditioning on the masked visual action of an orangutan — an embodiment far outside anything seen during training. The model still completes the scene to follow the provided action.

Inputs
Reference
Reference
Masked visual action
Output
Inputs
Reference
Reference
Masked visual action
Output

Failure Cases

Our model can fail in cases where precise and subtle interaction is needed and may produce unnatural interactions in those cases. Additionally, the model may produce artifacts surrounding regions completely unseen in the reference frame, as the mug example is not showing the handle in the initial image.

Reference
Masked visual action
Ours
Ground truth
Reference Reference

References

  1. Guo et al. Ctrl-World: A Controllable Generative World Model for Robot Manipulation. ICLR 2026.
  2. Chu et al. Wan-Move: Motion-Controllable Video Generation via Latent Trajectory Guidance. arXiv:2512.08765, 2025.
  3. Wan Team et al. Wan: Open and Advanced Large-Scale Video Generative Models. arXiv:2503.20314, 2025.

BibTeX

@misc{alzayer2026maskedvisualactionsunified,
  title         = {Masked Visual Actions for Unified World Modeling},
  author        = {Hadi Alzayer and Wenlong Huang and Haonan Chen and
                   Christopher Luey and Lvmin Zhang and Maneesh Agrawala and
                   Gordon Wetzstein and Li Fei-Fei and Yilun Du and Jiajun Wu and
                   Jia-Bin Huang},
  year          = {2026},
  eprint        = {2607.19343},
  archivePrefix = {arXiv},
  primaryClass  = {cs.CV},
  url           = {https://arxiv.org/abs/2607.19343}
}