Downloads · 30 days
19
58% of all-time downloads
Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLVR
VBVR-Pro-Wan2.2-TI2V-5B-SDE-RLVR is a image-to-video model from Video-Reason. Use it for the image-to-video task on the model card, and read the license before you ship it in a product. It is set up for diffusers. The card lists the license as apache-2.0.
Downloads · 30 days
19
58% of all-time downloads
All-time downloads
33
Public
Parameters
5B
22.8 GB on disk
Likes
1
Trending 1
Click a slice to open those files.
.safetensors22.8 GB · 100%
How the weights are stored.
BF165B · 100%
From the Hugging Face model README
VBVR-Pro is a closed-loop testbed for training, verifying, and comparing native visual reasoning through generation. It provides 300 procedurally generated tasks, task-specific verifiable reward scorers, and controlled comparisons across image, video, and interleaved generators. The benchmark is designed to study visual reasoning trajectories directly and includes both in-domain and out-of-domain evaluations.
The models and benchmark are presented in VBVR-Pro: A Scalable and Verifiable Suite for Native Visual Reasoning.
This repository contains a complete Diffusers checkpoint for the VBVR-Pro Wan2.2 TI2V-5B model optimized with reinforcement learning using task-specific verifiable rewards. Training used DanceGRPO rectified-flow SDE rollouts with noise coefficient $\eta=0.3$.
The model is derived from
Video-Reason/VBVR-Pro-Wan2.2-TI2V-5B
and is intended for research on image-conditioned video generation and native
visual reasoning.
The repository includes the transformer, text encoder, tokenizer, VAE, and
scheduler. It also includes pipeline.py, a custom
image-to-video pipeline providing deterministic Euler and UniPC inference as
well as Flow-CPS inference.
The same released model weights were evaluated under each inference setting below; no sampler-specific weights are used.
| Inference method | Coefficient | Overall | In-domain | Out-of-domain |
|---|---|---|---|---|
| DanceGRPO SDE | 0.1 | 0.5008 | 0.6576 | 0.3439 |
| DanceGRPO SDE | 0.3 | 0.4873 | 0.6432 | 0.3315 |
| DanceGRPO SDE | 0.5 | 0.4524 | 0.5977 | 0.3070 |
| FlowMatch Euler ODE | — | 0.5038 | 0.6677 | 0.3399 |
All rows use the matched VBVR-Pro evaluation contract: 500 samples, 512 × 512 resolution, 81 frames, 16 FPS, 30 inference steps, guidance scale 1.0, and seed 0. Reported scores are evaluation results, not guarantees for other prompts or runtime configurations.
Use Diffusers 0.37.1 or newer. Because this example 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 = "pufanyi/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL"
# 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="euler",
generator=torch.Generator(device="cuda").manual_seed(0),
).frames[0]
export_to_video(frames, "output.mp4", fps=16)
The bundled custom pipeline accepts euler, unipc, and the Flow-CPS
settings cps-0.1, cps-0.3, cps-0.7, and cps-0.9. 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.
The custom Diffusers pipeline above does not implement the DanceGRPO RF-SDE
update. To exactly reproduce the SDE rows, download the checkpoint to a local
directory and use src.cli.eval_i2v_sde from the release training code:
hf download pufanyi/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL \
--local-dir models/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL
python -m src.cli.eval_i2v_sde \
--eval_json eval.json \
--model_path models/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL \
--output_dir outputs \
--eta 0.1 \
--height 512 \
--width 512 \
--num_frames 81 \
--num_inference_steps 30 \
--guidance_scale 1.0 \
--fps 16 \
--seed 0
For eight-GPU data-parallel generation, replace python with
torchrun --standalone --nproc_per_node=8.
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 = "pufanyi/VBVR-Pro-Wan2.2-TI2V-5B-SDE-RL"
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.
src.cli.eval_i2v_sde. The bundled custom Diffusers pipeline separately
exposes Flow-CPS, Euler, and UniPC inference.WanImageToVideoPipeline, preserving the
official first-frame VAE conditioning and TI2V-5B expanded-timestep mask.The model was optimized on VBVR-Pro image-to-video tasks using DanceGRPO SDE rollouts with $\eta=0.3$ and deterministic task-specific rule rewards. Training and evaluation targeted 512 × 512 videos with 81 frames.
pufanyi/vbvr-rlVideo-Reason/VBVR-Pro-RL, revision ca0aaffea93b07d269c6fe2fbfe533f1fdab9aa1Video-Reason/VBVR-Pro-BenchThe model is released under Apache License 2.0. See LICENSE. Please also
follow the terms and attribution guidance of the upstream Wan2.2 model.
@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},
}