Paper · 2025-12-07 · cs.RO, cs.AI, cs.CV
VideoVLA: Video Generators Can Be Generalizable Robot Manipulators
VideoVLA starts from the pretrained CogVideoX-5B video diffusion transformer and denoises future video latents and a 6-step, 7-D action chunk jointly, conditioned on an instruction and the current image. Author-reported SIMPLER average over 12 tasks: 63.0 vs 62.6 for CogACT. Novel-object and new-skill generalisation: 65.2 and 48.6 vs 42.4 and 20.4.
Vision-language-action modelVideo generationDiffusion modelsAction chunkingrobot-manipulationvideo-generationdiffusion-transformervision-language-action
arXivPDFCodeMarkdown14 min read
AI-compiled by claude-haiku-5-5 on 2026-10-25, not yet reviewed by a human. Every claim cites its source; check it when a detail matters.
In plain words
Most robot policies that read a camera image and a sentence, then output motor commands, start from a model trained to understand pictures and text. VideoVLA starts from a different kind of model: one trained to generate video, which has already learned how scenes change over time.
The model is trained to predict two things at once. One is the next few robot actions. The other is a short video of what the scene should look like after those actions. Both come out of the same step-by-step denoising process, so each prediction can inform the other. The authors report that imagined futures that look right tend to go with successful actions, and that the model handles objects and skills it saw little of in training.
The main cost is speed. A large video model is slow to run, and the authors report about 3 Hz control on their real-robot setup.
TL;DR
- Adapts a pretrained video diffusion transformer (CogVideoX-5B) into a vision-language-action policy §3.2 §4.1.
- One denoising model jointly outputs future video latents and a 6-step action chunk; the first 3 actions are executed §3.4 §4.1.
- Author-reported gains on SIMPLER (Google and WidowX), on novel objects and on cross-embodiment skills, with small trial counts per task tab. 1 tab. 2 tab. 3 app. A.
- The official MIT-licensed repository holds only the inference script and the model/loss code; training code and optimizer settings are not in it.
Problem
Generalisation in robot manipulation to new tasks, objects and settings is limited when the policy is built on large pretrained image-and-text understanding models [abstract]. The authors argue that pretrained video generators, which model how the world evolves, are a better starting point §1. The method needs a video backbone that can be conditioned on the current image and on text §3.2.
Method
Problem formulation §3.1
Inputs are a text instruction and the current observation. Outputs are:
- an action chunk of K actions, each a 7-D vector: three wrist-rotation dimensions, three wrist-translation dimensions, and a binary gripper value (0 closed, 1 open) §3.1;
- a video clip of N future frames, predicted in latent form §3.1.
The action chunk and the video may run at different frequencies, so one action can cover several frames. After the chunk runs, the model is queried again on the new observation until the task ends §3.1.
Encoders §3.3
- Text. A T5 encoder maps the instruction to a fixed 226-token sequence §3.3.
- Video. The 3D causal VAE from CogVideoX encodes the clip. Because of the causal design, the first latent encodes only the first frame, which is the current observation. At inference only the observation is encoded; in training the whole clip is encoded §3.3.
Joint denoising backbone §3.2 §3.4
- A DiT-style network (Diffusion Transformer) takes one token sequence built by concatenating the text tokens, the flattened current-observation latent, the flattened future latents and the action tokens. Each latent is flattened in raster order §3.4.
- The backbone is initialised from pretrained CogVideoX §3.4.
- Future latents and actions get Gaussian noise under the DDPM schedule. The model is trained to denoise both with the DDPM diffusion loss §3.4.
- The diffusion timestep enters through adaptive LayerNorm, as in DiT §3.4.
- Attention is bidirectional by default: action tokens and video tokens can attend to each other app. B.
The method section contains no numbered equations and no algorithm box. The objective is stated in words §3.4. The paper's DDPM and DiT references are cited there; the exact loss form is taken from the code (see Paper vs code).
# VideoVLA training step [§3.3] [§3.4] [code: loss.py#L136-L212]
# Input: clip frames (B, N, 3, H, W), action chunk (B, K, 7), instruction
# Output: scalar loss
def training_step(frames, actions, instruction):
# Encode the clip with the causal 3D VAE [§3.3]
latents = vae_encode(frames) # (B, n, C, h, w), C = 16
# Encode the instruction with T5, 226 tokens [§3.3]
text_tokens = t5_encode(instruction) # (B, 226, 4096)
# Draw one diffusion step per sample, shared by video and actions [§4.3]
step = sample_timestep(batch_size) # 1000 discrete steps
# Noise both the video latents and the actions [§3.4]
video_noise = randn_like(latents)
action_noise = randn_like(actions)
noisy_video = add_noise(latents, video_noise, step)
noisy_actions = add_noise(actions, action_noise, step)
# Code keeps latent 1 as a clean conditioning input (channel concat)
# and denoises all n latents; the paper says j >= 2 only [§3.4]
video_pred, action_pred = dit(
text_tokens, noisy_video, noisy_actions, latents[:, :1], step
)
# Denoising loss on both modalities, each with weight 1
# [code: config_use/action_config/videovla_config.yaml#L144-L145]
video_loss = denoise_loss(video_pred, latents)
action_loss = denoise_loss(action_pred, actions)
return video_loss + action_loss# VideoVLA inference: one action chunk per call [§3.1] [§3.3] [§4.1]
# Input: current observation image, instruction
# Output: the first 3 of 6 predicted actions
def act(observation, instruction):
# Encode only the current observation [§3.3]
first_latent = vae_encode(observation)[:1]
text_tokens = t5_encode(instruction)
# Start video latents and actions from Gaussian noise
# [code: sample_video_action.py#L165-L167]
video_noise = randn(n, C, h, w)
action_noise = randn(6, 7)
# Denoise video and actions jointly; the repo config uses 50 steps
# [code: config_use/action_config/videovla_config.yaml#L160]
video, actions = joint_sampler(
text_tokens, first_latent, video_noise, action_noise
)
# The repo script saves only the video; the action output is unused
# [code: sample_video_action.py#L251-L255]
# Only the first 3 actions are executed, then the model is queried again
# [§4.1]
return actions[:3]Hyperparameters
| Name | Value | Where | Notes |
|---|---|---|---|
| Backbone | CogVideoX-5B, pretrained | §4.1 | Config: 42 layers, hidden 3072, 48 heads videovla_config.yaml |
| Text encoder | T5, 226 tokens | §3.3 | Config loads t5-v1_1-xxl, width 4096 videovla_config.yaml videovla_config.yaml |
| Video VAE | 3D causal VAE from CogVideoX, 16 latent channels | §3.3 | videovla_config.yaml |
| Temporal compression | 4 frames per latent | §4.3 | Config value 4 videovla_config.yaml |
| Predicted frames, simulation | 13 latents = 49 frames | §4.1 | Config num_frames: 49 videovla_config.yaml |
| Predicted frames, real robot | 4 latents = 13 frames | §4.1 app. D | Inference config sets 13 inference.yaml |
| Action chunk length K | 6 | §4.1 app. D | Config action_length: 6 videovla_config.yaml |
| Executed actions | first 3 of 6 | §4.1 | Not in repo; execution loop is not released |
| Action dimension | 7 | §3.1 | Config action_hidden_size: 7 videovla_config.yaml |
| Image resolution | 256 × 256 | not stated in paper | Inference script resizes to 256 × 256 sample_video_action.py |
| Latent grid | 32 × 32 per frame | not stated in paper | Config values videovla_config.yaml; patch size 2 videovla_config.yaml |
| Diffusion steps (training) | 1000 discrete levels, zero-terminal-SNR DDPM discretisation | §3.4 (DDPM only) | videovla_config.yaml videovla_config.yaml |
| Training step sampling | uniform | not stated in paper | videovla_config.yaml |
| Video loss weight | 1 | not stated in paper | videovla_config.yaml |
| Action loss weight | 1 | not stated in paper | videovla_config.yaml |
| Optimizer | AdamW | §4.1 | Training script not in repo |
| Learning rate | 1e-5 | §4.1 | Training script not in repo |
| Weight decay | 1e-4 | §4.1 | Training script not in repo |
| Pretraining length | 100K iterations, batch 256 | §4.1 | 32 AMD MI300X GPUs §4.1 |
| Fine-tuning length | 15K iterations | §4.1 | Real-robot fine-tuning §4.1 |
| Pretraining data | 22.5M frames from an OXE subset | §4 | OXE has 1M+ trajectories, 60 datasets, 22 embodiments §4 |
| Real-robot data | 5,824 samples, 3 tasks | §4 | Teleoperated Realman, 7-DoF arm and gripper §4 |
| Inference sampler | 50 denoising steps, "DDIM" | §4.1 | Config: DPM-Solver++ (2M)-style update, 50 steps sampling.py videovla_config.yaml |
| Inference speed | ~1.1 s per chunk, 10 steps, H100 | app. D | Author-reported; ~3 Hz effective control |
| Guidance | DynamicCFG, scale 6, exp 5 | not stated in paper | videovla_config.yaml |
| Text dropout for guidance | 0.1 | not stated in paper | videovla_config.yaml |
| First-frame noise augmentation | log-normal σ, mean −3, std 0.5 | not stated in paper | diffusion_video.py |
| Conditioning-image dropout | 0.05 | not stated in paper | videovla_config.yaml diffusion_video.py |
| Robot-ID embedding | added to action tokens | not stated in paper | dit_video_concat_withact.py dit_video_concat_withact.py |
Results
Author-reported throughout. Averages are over the tasks listed in each table. Each cell is a success rate in %. Where a cell has two values, it is "Visual Matching / Variant Aggregation" (VM / VA) tab. 1.
Table 1. SIMPLER in-domain evaluation tab. 1. Setup: trained on OXE only; WidowX (VM, 4 tasks, 24 trials each) and Google robot (VM and VA, 4 tasks) app. A. Bold and underline from the paper are omitted.
| Method | Put Spoon | Put Carrot | Stack Block | Put Eggplant | WidowX avg | Coke Can | Move Near | Open/Close Drawer | Open & Place | Google avg (VM/VA) | All 12 |
|---|---|---|---|---|---|---|---|---|---|---|---|
| RT-1-X | 0.0 | 4.2 | 0.0 | 0.0 | 1.1 | 56.7 / 49.0 | 31.7 / 32.3 | 59.7 / 29.4 | 22.2 / 11.1 | 42.7 / 30.5 | 24.8 |
| RT-2-X | - | - | - | - | - | 78.7 / 82.3 | 77.9 / 79.2 | 25.0 / 35.3 | 3.7 / 20.6 | 46.3 / 54.4 | - |
| Octo-Base | 15.8 | 12.5 | 0.0 | 41.7 | 17.5 | 17.0 / 0.6 | 4.2 / 3.1 | 22.7 / 1.1 | 0.0 / 0.0 | 11.0 / 1.2 | 9.9 |
| Octo-Small | 41.7 | 8.2 | 0.0 | 56.7 | 26.7 | - | - | - | - | - | - |
| OpenVLA | 4.2 | 0.0 | 0.0 | 12.5 | 4.2 | 18.0 / 60.8 | 56.3 / 67.7 | 63.0 / 28.8 | 0.0 / 0.5 | 34.3 / 39.4 | 26.0 |
| SpatialVLA | 20.8 | 20.8 | 25.0 | 70.8 | 34.4 | 81.0 / 89.5 | 69.6 / 71.7 | 59.3 / 36.2 | 8.3 / 12.2 | 54.6 / 52.4 | 47.1 |
| π0 | 29.2 | 62.5 | 29.2 | 91.6 | 53.1 | 84.0 / 71.4 | 55.8 / 57.9 | 34.3 / 26.5 | 31.5 / 18.0 | 53.5 / 43.4 | 50.0 |
| CogACT | 71.7 | 50.8 | 15.0 | 67.5 | 51.3 | 91.3 / 89.6 | 85.0 / 80.8 | 71.8 / 28.3 | 52.7 / 47.1 | 75.2 / 61.4 | 62.6 |
| VideoVLA (this paper) | 75.0 | 20.8 | 45.8 | 70.8 | 53.1 | 92.3 / 89.8 | 82.9 / 73.3 | 66.2 / 28.8 | 50.9 / 59.3 | 73.1 / 62.8 | 63.0 |
The paper reports the highest overall average, 63.0 vs 62.6 for CogACT. On WidowX Put Carrot, VideoVLA scores 20.8 against 62.5 for π0 and 50.8 for CogACT tab. 1.
Table 2. Novel objects, SIMPLER, Google robot (Pick Up, 10 objects) tab. 2 §4.1. Trials: 25 per object app. A.
| Method | Green Cube | Carrot | Eggplant | Wrench | Strawberry | Plum | Tennis Ball | Cleaner Bottle | Toy Airplane | Flashlight | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OpenVLA | 12.0 | 24.0 | 12.0 | 0.0 | 0.0 | 4.0 | 0.0 | 4.0 | 4.0 | 4.0 | 6.4 |
| SpatialVLA | 76.0 | 52.0 | 84.0 | 32.0 | 60.0 | 56.0 | 32.0 | 56.0 | 32.0 | 28.0 | 50.8 |
| π0 | 48.0 | 60.0 | 44.0 | 16.0 | 12.0 | 44.0 | 24.0 | 16.0 | 0.0 | 24.0 | 28.8 |
| CogACT | 84.0 | 72.0 | 64.0 | 16.0 | 32.0 | 44.0 | 20.0 | 32.0 | 20.0 | 40.0 | 42.4 |
| VideoVLA (this paper) | 96.0 | 84.0 | 88.0 | 40.0 | 72.0 | 80.0 | 68.0 | 44.0 | 28.0 | 52.0 | 65.2 |
Table 3. New skills, SIMPLER, Google robot tab. 3 §4.1. Skills come from the WidowX training data and are absent from the Google robot data. Trials: 20 per skill app. A.
| Method | Put Spoon on Towel | Put Carrot on Plate | Stack Green on Yellow | Take Out of Apple | Flip Cup | Pour Coke Can | Slide to {L,R,U,B} | Avg. |
|---|---|---|---|---|---|---|---|---|
| OpenVLA | 0.0 | 12.5 | 0.0 | 26.7 | 0.0 | 4.0 | 0.0 | 6.2 |
| SpatialVLA | 6.3 | 31.3 | 0.0 | 31.3 | 20.0 | 40.0 | 4.0 | 18.9 |
| π0 | 18.8 | 18.8 | 0.0 | 66.7 | 8.0 | 12.0 | 4.0 | 18.3 |
| CogACT | 20.8 | 41.7 | 5.0 | 43.8 | 4.0 | 20.0 | 8.0 | 20.4 |
| VideoVLA (this paper) | 56.3 | 58.3 | 20.0 | 93.8 | 20.0 | 52.0 | 40.0 | 48.6 |
The text reports 28.2 points over CogACT on average §4.1.
Table 4. Real-world in-domain, Realman robot tab. 4. All models are pretrained on OXE and fine-tuned on the authors' 5,824-sample dataset. Place reports both stages tab. 4 caption. Trials: Pick Up 24, Stack 48, Place 24 app. A.
| Method | Banana | Lemon | Avocado | Pick avg | Cup | Bowl | Stack avg | Pick Up | Place | Place avg | Task avg |
|---|---|---|---|---|---|---|---|---|---|---|---|
| OpenVLA | 12.5 | 0.0 | 12.5 | 8.3 | 12.5 | 0.0 | 6.3 | 29.2 | 0.0 | 14.6 | 9.7 |
| SpatialVLA | 37.5 | 25.0 | 50.0 | 37.5 | 25.0 | 16.7 | 20.8 | 20.8 | 0.0 | 10.4 | 22.9 |
| π0 | 62.5 | 62.5 | 75.0 | 66.7 | 58.3 | 50.0 | 54.2 | 45.8 | 16.7 | 31.3 | 50.7 |
| CogACT | 75.0 | 62.5 | 87.5 | 75.0 | 83.3 | 45.8 | 64.6 | 54.2 | 16.7 | 35.5 | 58.4 |
| VideoVLA (this paper) | 62.5 | 75.0 | 75.0 | 70.8 | 75.0 | 58.3 | 66.7 | 87.5 | 25.0 | 56.3 | 64.6 |
Table 5. Real-world novel objects, Realman robot tab. 5. Task: pick up the novel object and place it on a coloured plate; colours White, Blue and Yellow. Trials: 12 per object app. A.
| Method | Blue Ball | Clear Tape | Toy Duck | Eraser | Screwdriver | Mango | Cable | Mouse | Peach | Pen | B-1 | B-2 | B-3 | Avg. |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| OpenVLA | 50.0 | 0.0 | 8.3 | 25.0 | 0.0 | 0.0 | 0.0 | 0.0 | 8.3 | 8.3 | 0.0 | 8.3 | 16.7 | 9.6 |
| SpatialVLA | 58.3 | 0.0 | 8.3 | 33.3 | 0.0 | 0.0 | 0.0 | 0.0 | 16.7 | 8.3 | 8.3 | 25.0 | 25.0 | 14.1 |
| π0 | 66.7 | 0.0 | 0.0 | 16.7 | 33.3 | 0.0 | 25.0 | 0.0 | 8.3 | 16.7 | 41.7 | 50.0 | 25.0 | 21.8 |
| CogACT | 91.7 | 0.0 | 16.7 | 58.3 | 50.0 | 8.3 | 16.7 | 0.0 | 0.0 | 8.3 | 8.3 | 58.3 | 33.3 | 26.9 |
| VideoVLA (this paper) | 83.3 | 75.0 | 75.0 | 58.3 | 58.3 | 41.7 | 41.7 | 33.3 | 25.0 | 16.7 | 41.7 | 66.7 | 41.7 | 50.6 |
Table 6. Real-world cross-embodiment skills, Realman robot tab. 6. Skills seen only on the WidowX robot. Trials: 16 per skill app. A.
| Method | Move Block | Move Fruit | Grab Fruit | Topple Bottle | Take Out Block | Wipe Table | Avg. |
|---|---|---|---|---|---|---|---|
| OpenVLA | 18.8 | 12.5 | 18.8 | 0.0 | 0.0 | 0.0 | 8.3 |
| SpatialVLA | 18.8 | 25.0 | 31.3 | 6.3 | 0.0 | 0.0 | 13.5 |
| π0 | 43.8 | 31.3 | 62.5 | 12.5 | 12.5 | 8.3 | 28.5 |
| CogACT | 56.3 | 50.0 | 68.8 | 18.8 | 0.0 | 16.7 | 35.1 |
| VideoVLA (this paper) | 81.3 | 68.8 | 75.0 | 43.8 | 37.5 | 41.7 | 58.0 |
Ablations (SIMPLER, Google robot, Visual Matching; 3 tasks unless noted).
| Setting | Coke Can | Move Near | Open/Close | Avg. | Source |
|---|---|---|---|---|---|
| Backbone: OpenSora-1.1 | 67.7 | 57.1 | 25.9 | 50.2 | tab. 7 |
| Backbone: CogVideoX-5B from scratch | 18.6 | 10.8 | 9.2 | 12.6 | tab. 7 |
| Backbone: CogVideoX-5B (default) | 92.3 | 82.9 | 66.2 | 80.4 | tab. 7 |
| Future frames: 13 | 88.7 | 75.4 | 61.6 | 75.2 | tab. 8 |
| Future frames: 25 | 90.0 | 79.2 | 63.0 | 77.4 | tab. 8 |
| Future frames: 49 (default) | 92.3 | 82.9 | 66.2 | 80.4 | tab. 8 |
| Dual prediction: default | 92.3 | 82.9 | 66.2 | 80.4 | tab. 9 |
| Dual prediction: no video loss | 35.6 | 29.1 | 16.2 | 27.0 | tab. 9 |
| Dual prediction: action only | 33.3 | 25.8 | 17.6 | 25.5 | tab. 9 |
| Attention: causal mask | 89.3 | 76.2 | 61.1 | 75.5 | tab. 13 app. B |
| Schedule: async training, sync inference | 87.3 | 74.1 | 60.2 | 73.8 | tab. 14 app. B |
| Schedule: async training, async inference | 84.7 | 70.8 | 57.4 | 71.0 | tab. 14 app. B |
The generalisation columns of the dual-prediction ablation are 65.2 / 48.6 for the default, 12.7 / 4.4 for no video loss, and 11.3 / 2.1 for action only tab. 9.
Imagination vs execution tab. 10 §4.4. Visual imagination is judged by humans. Success requires following the instruction and having no salient geometric distortion. Novel objects: 84.0 imagined, 65.2 executed. New skills: 63.4 imagined, 48.6 executed.
Motion similarity §4.4 fig. 2. The authors compare SIFT and SAM-PT trajectories of the imagined and executed videos with Hungarian matching and cosine similarity. The paper reports that higher similarity goes with higher success. Plot values are not tabulated in the text.
Trials per task app. A, tables 11 and 12. SIMPLER Google VM: 300, 240, 216, 108 trials; VA: 825, 600, 378, 189. WidowX: 24 per task. Real robot: Pick Up 24, Stack 48, Place 24. At 24 trials, one success is 4.2 points, so the small gaps in the tables (for example 63.0 vs 62.6) are within noise.
Paper vs code
Checked at commit 05b5cca7d4ec32e786b7e10dcbfbf5926637b293 of
VideoVLA-Project/VideoVLA (MIT), linked from the project page
[https://videovla-nips2025.github.io/]. The repo has no training script, so
training settings can only be checked against the config and loss.
- Sampler and steps. Paper: "DDIM sampling with 50 denoising steps" §4.1.
Code: the sampler class is
VPSDEDPMPP2MSampler_withact, a DPM-Solver++ (2M) style multistep update, with 50 steps sampling.py videovla_config.yaml. The limitations section says 10 DDIM steps give ~1.1 s per chunk app. D. The repo ships no 10-step setting. - Guidance. The paper does not mention classifier-free guidance. The config uses DynamicCFG with scale 6 and a 10% text-dropout rate videovla_config.yaml videovla_config.yaml guiders.py.
- First latent. Paper: the current-observation latent V1 is a clean
conditioning token and only future latents j ≥ 2 are denoised §3.4.
Code: the first-frame image is noised with a log-normal sigma before encoding
diffusion_video.py diffusion_video.py,
channel-concatenated to the noisy video (in_channels 32 = 16 + 16)
dit_video_concat_withact.py, dropped to zeros with 5%
probability diffusion_video.py, and the loss covers all
latents because
fixed_frames: 0and the loss has no masking loss.py videovla_config.yaml. - Loss form. Paper: "DDPM's diffusion loss" §3.4. Code: the sgm denoiser with zero-terminal-SNR DDPM discretisation; the loss compares denoiser output to the clean target with weight 1/(1 − ᾱ), for video and actions alike loss.py videovla_config.yaml.
- Robot-ID embedding. Not in the paper. The DiT adds a learned robot-ID
embedding to the action tokens dit_video_concat_withact.py dit_video_concat_withact.py.
The inference script sets robot_ids to
action_dim, i.e. 7 sample_video_action.py. Therobot_ids: 1value in the inference config is not read by the code inference.yaml. - Action output. The paper says the model predicts the 6-step chunk and that the first 3 are executed §4.1. The inference script computes the action samples but saves only the video sample_video_action.py sample_video_action.py. No action decoding, de-normalisation, gripper thresholding or execution loop is in the repo.
- Optimizer and schedule. Paper: AdamW, lr 1e-5, weight decay 1e-4, 100K pretraining and 15K fine-tuning iterations, batch 256 §4.1. Code: no training script; the learning rate and weight decay are CLI arguments arguments_withact.py. Not verifiable from the repo.
- Consistent. Action chunk length 6 and action dimension 7 videovla_config.yaml videovla_config.yaml; T5 with 226 tokens videovla_config.yaml; 13 frames for real-robot inference inference.yaml; bidirectional, non-decoder transformer videovla_config.yaml (attention masks not traced line by line); synchronous shared timestep for video and actions loss.py.
Pitfalls
- Sampler default. Using the repo's 50-step default is not the 10-step setting behind the reported 1.1 s per chunk app. D. Expect higher latency with the default (not measured here).
- Latent 1 handling. The paper treats latent 1 as a clean observation token §3.4. The code denoises it and conditions through channel concatenation of a noised first frame. An implementation that follows the paper will not match the code's behaviour.
- Undocumented noise augmentation. The first-frame noise (log-normal sigma, mean −3, std 0.5) and the 5% conditioning dropout are not in the paper diffusion_video.py videovla_config.yaml.
- Action outputs. No gripper binarisation, normalisation or decoding is in the repo, so the binary gripper dimension §3.1 has to be implemented by you.
- Robot-ID. The inference script's robot_ids value differs from the config value, and the config field is ignored sample_video_action.py.
- Trial counts. The real-world novel-object table has 13 columns (10 named objects plus B-1 to B-3) while the text says 12 objects §4.2 tab. 5. Treat the table headers and text as ambiguous. Small trial counts (12 to 48) make differences of a few points unreliable app. A.
- Human-judged imagination. Visual imagination success is human-rated, not automated §4.4.
- Speed. The authors report ~3 Hz effective control on an H100 app. D. Training used 32 AMD MI300X GPUs with batch 256 §4.1. Inference memory for a 5B backbone is not stated.
- Backbone quality matters. Training from scratch drops to 12.6 average tab. 7. The pretrained video prior is load-bearing.
- Frame vs action frequency. Frames and actions may run at different rates §3.1. The paper gives no mapping between them beyond the frame counts §4.1.
- Table and figure numbers follow source order in the LaTeX. Floats may shift them in the rendered PDF.
Lineage
- Builds on: CogVideoX-5B video generator and its 3D causal VAE and T5 text encoder §3.3 §4.1. The DiT architecture §3.4. DDPM §3.4. Open X-Embodiment pretraining data, card at [/papers/2310.08864] §4. SIMPLER evaluation environment §4.1.
- Compared against: OpenVLA [/papers/2406.09246], SpatialVLA, π0, CogACT, Octo, RT-1-X and RT-2-X tab. 1.
- Superseded by: not known from the paper or the repo.
Source and license
Adapted from “VideoVLA: Video Generators Can Be Generalizable Robot Manipulators” by Yichao Shen, Fangyun Wei, Zhiying Du, Yaobo Liang, Yan Lu, Jiaolong Yang, Nanning Zheng, Baining Guo (arXiv:2512.06963), used under CC BY 4.0. Changes: condensed and restructured for implementation, with tables, equations and algorithms taken from the paper and its code, each cited to its source. Not affiliated with or endorsed by the authors. Code citations refer to https://github.com/VideoVLA-Project/VideoVLA at commit 05b5cca7d4ec (MIT). Any quoted code is shown under that license.