Instructions to use Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Wan2.2
How to use Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR with Wan2.2:
# No code snippets available yet for this library. # To use this model, check the repository files and the library's documentation. # Want to help? PRs adding snippets are welcome at: # https://github.com/huggingface/huggingface.js
- Notebooks
- Google Colab
- Kaggle
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image, export_to_video
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR", dtype=torch.bfloat16, device_map="cuda")
pipe.to("cuda")
prompt = "A man with short gray hair plays a red electric guitar."
image = load_image(
"https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png"
)
output = pipe(image=image, prompt=prompt).frames[0]
export_to_video(output, "output.mp4")VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning
Overview
Native visual reasoning, i.e., reasoning through visual generation, has recently emerged as a promising direction for studying visual intelligence beyond language. Yet progress remains bottlenecked by the lack of scalable training tasks, reliable feedback, and controlled comparisons across generative substrates. In this work, we introduce VBVR-Pro, a closed-loop testbed that makes native visual reasoning through generation trainable, verifiable, optimizable, and experimentally controllable. 1) Task scaling. VBVR-Pro turns visual reasoning into a controlled task space of 300 procedurally generated tasks. Models trained on VBVR-Pro show strong transfer beyond the proposed suite across six held-out visual reasoning benchmarks such as RISE-Video, MME-CoF-Pro, and BabyVision. Further analysis validates that these gains reflect visual reasoning rather than instruction-pattern fitting. 2) Verifiable rewards. VBVR-Pro provides verifiable reward scorers for task-grounded evaluation. Through a systematic study of leading MLLMs as judges, we identify recurring failure modes of the prevalent VLM-as-a-judge paradigm. In contrast, the proposed scorers are grounded on verifiable task-specific rules, achieve fine-grained alignment with human judgments. Importantly, they serve as reliable reward signals for large-scale multi-task reinforcement learning and demonstrate stronger post-RL performance across visual reasoning tasks. 3) Mechanism study. VBVR-Pro enables controlled modality studies across more than 30 image, video, and interleaved generators. Our analysis shows that video generation remains strongest for tasks requiring persistent spatiotemporal state tracking, while interleaved generation provides a compute-efficient alternative by externalizing intermediate visual states. Critically, ablations and probing confirm the presence of vision-native trajectories, that are a more crucial substrate than explicit linguistic chains of thought for visual reasoning. We release all data, models, scorers, and code to facilitate future research.
The models are presented in the paper VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning.
Models Zoo
| Model | Base Architecture | Other Remarks |
|---|---|---|
| Video Generation Models | ||
| VBVR-Pro-Wan2.2-TI2V-5B | Wan2.2-TI2V-5B | Complete model, supervised fine-tuning |
| VBVR-Pro-Wan2.2-TI2V-5B-RLVR | Wan2.2-TI2V-5B | Complete model, RL with verifiable rewards |
| VBVR-Pro-Wan2.2-TI2V-5B-RLVLM-Qwen3.6-27B-Reward | Wan2.2-TI2V-5B | Complete model, RL with Qwen3.6-27B VLM rewards |
Release Information
VBVR-Pro-Wan2.2-TI2V-5B-RLVR
This repository contains a complete Diffusers checkpoint for the VBVR-Pro
Wan2.2 TI2V-5B model optimized with reinforcement learning with verifiable
rewards (RLVR) using task-specific rule-based rewards. It is derived from
Wan-AI/Wan2.2-TI2V-5B-Diffusers
and is intended for research on image-conditioned video generation and visual
reasoning.
The repository includes the transformer, text encoder, tokenizer, VAE, and
scheduler. It also includes pipeline.py, a custom
image-to-video pipeline exposing all six inference configurations evaluated in
the VBVR-Pro paper.
VBVR-Pro Benchmark Results
The sampler is selected per call; the model weights do not change.
sampler |
Inference method | CPS coefficient | Paper overall score |
|---|---|---|---|
cps-0.1 |
Flow-CPS | 0.1 | 0.509 |
cps-0.3 |
Flow-CPS | 0.3 | 0.526 |
cps-0.7 |
Flow-CPS | 0.7 | 0.548 |
cps-0.9 |
Flow-CPS | 0.9 | 0.539 |
euler |
FlowMatch Euler ODE | — | 0.522 |
unipc |
UniPC ODE | — | 0.522 |
These are the aggregate VBVR-Pro-Bench results reported in Table 8 under the matched settings below. The model was trained with Flow-CPS coefficient 0.7. Reported scores are evaluation results, not guarantees for other prompts or runtime configurations.
Recommended evaluation settings
- Resolution: 512 × 512
- Frames: 81
- Output FPS: 16
- Inference steps: 30
- Guidance scale: 1.0
Quick Start
Custom sampler pipeline
Use Diffusers 0.37.1 or newer. Because this loads Python code from the model
repository, review pipeline.py, pass trust_remote_code=True, and pin a
reviewed revision in production.
import torch
from diffusers import AutoencoderKLWan, DiffusionPipeline
from diffusers.utils import export_to_video, load_image
model_id = "Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR"
# Wan's VAE is kept in float32 for stable decoding.
vae = AutoencoderKLWan.from_pretrained(
model_id,
subfolder="vae",
torch_dtype=torch.float32,
)
pipe = DiffusionPipeline.from_pretrained(
model_id,
custom_pipeline="pipeline",
trust_remote_code=True,
vae=vae,
torch_dtype=torch.bfloat16,
)
pipe.enable_model_cpu_offload()
image = load_image("input.png").convert("RGB")
frames = pipe(
image=image,
prompt="Move the marked object to the matching target.",
height=512,
width=512,
num_frames=81,
num_inference_steps=30,
guidance_scale=1.0,
sampler="cps-0.7", # cps-0.1, cps-0.3, cps-0.7, cps-0.9, euler, or unipc
generator=torch.Generator(device="cuda").manual_seed(0),
).frames[0]
export_to_video(frames, "output.mp4", fps=16)
The generic form sampler="cps", cps_eta=<value> accepts any finite
coefficient from 0 to 1. generator controls the initial latent and, by
default, the fresh Flow-CPS transition noise. Pass a separate
cps_generator when the two random streams must be controlled independently.
Loading the complete pipeline requires substantial CPU and accelerator memory. CPU offloading is recommended on smaller GPUs.
Standard Diffusers pipeline
The bundled scheduler remains UniPC and model_index.json is unchanged. Users
who only need the standard deterministic path can load the checkpoint without
remote custom code:
import torch
from diffusers import AutoencoderKLWan, WanImageToVideoPipeline
model_id = "Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR"
vae = AutoencoderKLWan.from_pretrained(
model_id,
subfolder="vae",
torch_dtype=torch.float32,
)
pipe = WanImageToVideoPipeline.from_pretrained(
model_id,
vae=vae,
torch_dtype=torch.bfloat16,
)
Use WanImageToVideoPipeline, not the text-to-video WanPipeline: the latter
does not accept the first-frame image argument in Diffusers 0.37.1.
Implementation and reproducibility notes
- Flow-CPS uses the training-time shifted
linspace(1, 0, T + 1)sigma grid and preserves the released scheduler'sflow_shift: 5.0. - CPS updates are evaluated in float32 and cast back to the transformer latent dtype. Euler and UniPC retain their native Diffusers latent precision and solver grids.
- The custom class subclasses
WanImageToVideoPipeline, preserving the official first-frame VAE conditioning and TI2V-5B expanded-timestep mask. - The release training/evaluation repository remains the source of truth for formal score provenance. Exact output bytes can vary with PyTorch, Diffusers, attention backend, dtype, and device.
Training Details
Summary
The model was optimized on VBVR-Pro image-to-video tasks using Flow-CPS rollouts and deterministic task-specific rule rewards. Training and evaluation targeted 512 × 512 videos with 81 frames.
Resources
- Release training code:
pufanyi/vbvr-rl - Training dataset:
Video-Reason/VBVR-Pro-RL, revisionca0aaffea93b07d269c6fe2fbfe533f1fdab9aa1
Limitations
- The model is a research artifact and may produce incorrect or visually inconsistent reasoning trajectories.
- Results are most directly comparable under the settings listed above.
- The model inherits limitations and potential biases from the Wan2.2 base model and its training data.
- Do not use generated outputs as the sole basis for high-stakes decisions.
License
The model is released under Apache License 2.0. See LICENSE. Please also
follow the terms and attribution guidance of the upstream Wan2.2 model.
Citation
@misc{xu2026vbvrproscalableverifiablesuite,
title={VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning},
author={Junxiang Xu and Ruisi Wang and Fanyi Pu and Maijunxian Wang and Ran Ji and Tongxi Zhou and Chenyang Gu and Jing Zuo and Hongcan Xiao and Yimeng Geng and Wanqi Yin and Wei Chen and Oscar Qian and Zhengan Yan and Ziqi Huang and Haiwen Diao and Liang Pan and Bo Li and Xiangyu Fan and Dezhi Luo and Fengyuan Yu and Zehong Zhao and Qingying Gao and Tinghui Zhu and Yilan Zhang and Jingqi Tong and Pinyuan Feng and Zhengze Jiang and Letian Wang and Ziyu Guo and Renrui Zhang and Jieneng Chen and Sonia Joseph and Constantin Venhoff and Saman Motamed and Mengyue Yang and Chandra Sripada and Alan Yuille and Philip Torr and Lvmin Zhang and Vikash Kumar and Daniel Khashabi and Nikolaus Kriegeskorte and Raphaël Millière and Vincent C. Müller and Anyi Rao and Quan Wang and Ziwei Liu and Dahua Lin and Lei Yang and Hokin Deng and Zhongang Cai},
year={2026},
eprint={2608.26105},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2608.26105},
}
- Downloads last month
- 24
Model tree for Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-RLVR
Base model
Wan-AI/Wan2.2-TI2V-5B-Diffusers