Instructions to use Video-Reason/VBVR-Pro-LTX2.3 with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use Video-Reason/VBVR-Pro-LTX2.3 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-LTX2.3", 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") - 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-LTX2.3", 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 |
|---|---|---|
| Image Generation Models | ||
| VBVR-Pro-BAGEL | BAGEL-7B-MoT | Complete model |
| VBVR-Pro-FLUX2-dev | FLUX.2-dev | Complete model, Diffusers format |
| VBVR-Pro-FLUX2-dev-diffsynth | FLUX.2-dev | LoRA model, DiffSynth format |
| VBVR-Pro-Qwen-Image-Edit | Qwen-Image-Edit-2511 | Complete model, Diffusers format |
| VBVR-Pro-Qwen-Image-Edit-diffsynth | Qwen-Image-Edit-2511 | LoRA model, DiffSynth format |
| Interleaved Image Generation Models | ||
| VBVR-Pro-ThinkMorph | ThinkMorph-7B | Complete model |
| VBVR-Pro-SenseNova-U1 | SenseNova-U1-8B-MoT | Complete model |
| Video Generation Models | ||
| VBVR-Pro-LTX2.3 | LTX-Video-2.3 | Complete model, Diffusers format |
| VBVR-Pro-LTX2.3-diffsynth | LTX-Video-2.3 | LoRA model, DiffSynth format |
| VBVR-Pro-Wan2.1-I2V-14B | Wan2.1-I2V-14B-720P | Complete model, Diffusers format |
| VBVR-Pro-Wan2.1-I2V-14B-diffsynth | Wan2.1-I2V-14B-720P | LoRA model, DiffSynth format |
| VBVR-Pro-Wan2.2-I2V-A14B | Wan2.2-I2V-A14B | Complete model, Diffusers format |
| VBVR-Pro-Wan2.2-I2V-A14B-diffsynth | Wan2.2-I2V-A14B | LoRA model, DiffSynth format |
| VBVR-Pro-Wan2.2-TI2V-5B | Wan2.2-TI2V-5B | Complete model, Diffusers format |
| VBVR-Pro-Wan2.2-TI2V-5B-diffsynth | Wan2.2-TI2V-5B | LoRA model, DiffSynth format |
Release Information
VBVR-Pro fine-tuned LTX-2.3 for instruction-based, image-conditioned audio-video generation. It was trained on the VBVR-Dataset.
This is the merged model: the rank-32 LoRA has already been fused into the LTX transformer weights. Load it directly with diffusers; no adapter needs to be loaded separately.
| Format | Repository |
|---|---|
| Merged / Diffusers (this repo) | VBVR-Pro-LTX2.3 |
| DiffSynth LoRA | VBVR-Pro-LTX2.3-diffsynth |
In this release, we present all models presented in paper VBVR-Pro-Trained-Models, VBVR-Pro-Dataset-Video, VBVR-Pro-Dataset-Image, VBVR-Pro-Bench, VBVR-Pro-Code and VBVR-Bench-Leaderboard.
VBVR-Pro Benchmark Results
| Models | Overall | In-Domain by Category | Out-of-Domain by Category | ||||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| Avg. | Abst. | Know. | Perc. | Spat. | Trans. | Avg. | Abst. | Know. | Perc. | Spat. | Trans. | ||
| Image Generation Models | |||||||||||||
| Proprietary Models | |||||||||||||
| Qwen-Image-2.0 | 0.313 | 0.248 | 0.269 | 0.196 | 0.225 | 0.170 | 0.132 | 0.378 | 0.341 | 0.235 | 0.391 | 0.384 | 0.080 |
| Seedream-5.0-Pro | 0.557 | 0.485 | 0.518 | 0.312 | 0.509 | 0.401 | 0.217 | 0.629 | 0.507 | 0.455 | 0.661 | 0.559 | 0.202 |
| Open-source Models | |||||||||||||
| BAGEL-7B-MoT | 0.089 | 0.066 | 0.039 | 0.085 | 0.067 | 0.046 | 0.027 | 0.111 | 0.201 | 0.031 | 0.073 | 0.028 | 0.121 |
| FLUX.2-dev | 0.157 | 0.108 | 0.088 | 0.109 | 0.072 | 0.100 | 0.066 | 0.206 | 0.197 | 0.165 | 0.184 | 0.241 | 0.077 |
| Qwen-Image-Edit | 0.134 | 0.108 | 0.092 | 0.082 | 0.100 | 0.109 | 0.056 | 0.159 | 0.176 | 0.063 | 0.141 | 0.182 | 0.082 |
| Strong Baselines | |||||||||||||
| VBVR-Pro-BAGEL | 0.172 | 0.168 | 0.199 | 0.105 | 0.110 | 0.213 | 0.055 | 0.176 | 0.254 | 0.104 | 0.148 | 0.015 | 0.145 |
| VBVR-Pro-FLUX.2 | 0.407 | 0.484 | 0.483 | 0.323 | 0.367 | 0.449 | 0.336 | 0.330 | 0.361 | 0.272 | 0.255 | 0.454 | 0.128 |
| VBVR-Pro-Qwen-Image | 0.322 | 0.332 | 0.298 | 0.217 | 0.193 | 0.431 | 0.222 | 0.311 | 0.341 | 0.239 | 0.233 | 0.413 | 0.181 |
| Interleaved Image Generation Models | |||||||||||||
| Proprietary Models | |||||||||||||
| GPT-Image-2 | 0.507 | 0.428 | 0.456 | 0.318 | 0.428 | 0.206 | 0.300 | 0.587 | 0.398 | 0.413 | 0.633 | 0.480 | 0.303 |
| Nano Banana Pro | 0.564 | 0.480 | 0.518 | 0.422 | 0.512 | 0.285 | 0.174 | 0.648 | 0.553 | 0.499 | 0.657 | 0.585 | 0.220 |
| Open-source Models | |||||||||||||
| ThinkMorph-7B | 0.154 | 0.113 | 0.100 | 0.082 | 0.101 | 0.148 | 0.031 | 0.195 | 0.176 | 0.166 | 0.163 | 0.253 | 0.103 |
| VBVR-SenseNova-U1 | 0.408 | 0.469 | 0.356 | 0.313 | 0.373 | 0.386 | 0.477 | 0.347 | 0.291 | 0.317 | 0.275 | 0.480 | 0.238 |
| SenseNova-U1-8B-MoT | 0.565 | 0.533 | 0.501 | 0.395 | 0.544 | 0.355 | 0.349 | 0.597 | 0.448 | 0.495 | 0.533 | 0.717 | 0.401 |
| Strong Baselines | |||||||||||||
| VBVR-Pro-ThinkMorph | 0.373 | 0.402 | 0.403 | 0.344 | 0.238 | 0.454 | 0.184 | 0.344 | 0.367 | 0.224 | 0.238 | 0.535 | 0.257 |
| VBVR-Pro-SenseNova-U1 | 0.638 | 0.811 | 0.648 | 0.695 | 0.621 | 0.770 | 0.541 | 0.464 | 0.480 | 0.328 | 0.344 | 0.558 | 0.408 |
| Video Generation Models | |||||||||||||
| Proprietary Models | |||||||||||||
| Veo 3.1 | 0.309 | 0.312 | 0.275 | 0.299 | 0.252 | 0.267 | 0.157 | 0.305 | 0.305 | 0.233 | 0.252 | 0.312 | 0.219 |
| Kling V3 | 0.392 | 0.356 | 0.213 | 0.326 | 0.320 | 0.355 | 0.229 | 0.427 | 0.294 | 0.564 | 0.375 | 0.242 | 0.412 |
| SeedDance 2.0 | 0.499 | 0.451 | 0.338 | 0.361 | 0.353 | 0.468 | 0.308 | 0.547 | 0.369 | 0.511 | 0.478 | 0.538 | 0.532 |
| Open-source Models | |||||||||||||
| HunyuanVideo-I2V | 0.054 | 0.054 | 0.023 | 0.064 | 0.015 | 0.084 | 0.032 | 0.053 | 0.088 | 0.014 | 0.028 | 0.062 | 0.055 |
| CogVideoX1.5-5B-I2V | 0.085 | 0.100 | 0.061 | 0.118 | 0.069 | 0.092 | 0.060 | 0.070 | 0.125 | 0.038 | 0.051 | 0.040 | 0.024 |
| Wan2.1-I2V-14B | 0.100 | 0.105 | 0.052 | 0.125 | 0.091 | 0.102 | 0.052 | 0.095 | 0.112 | 0.073 | 0.071 | 0.123 | 0.044 |
| Wan2.2-TI2V-5B | 0.094 | 0.066 | 0.029 | 0.073 | 0.050 | 0.083 | 0.031 | 0.122 | 0.156 | 0.052 | 0.106 | 0.063 | 0.099 |
| Wan2.2-I2V-14B-720P | 0.182 | 0.157 | 0.082 | 0.131 | 0.110 | 0.161 | 0.156 | 0.207 | 0.224 | 0.139 | 0.140 | 0.195 | 0.273 |
| LTX2.3-I2AV | 0.112 | 0.106 | 0.062 | 0.109 | 0.070 | 0.133 | 0.055 | 0.119 | 0.161 | 0.135 | 0.086 | 0.091 | 0.050 |
| VBVR-Wan2.2 | 0.517 | 0.548 | 0.237 | 0.499 | 0.334 | 0.566 | 0.591 | 0.486 | 0.310 | 0.343 | 0.345 | 0.732 | 0.684 |
| Strong Baselines | |||||||||||||
| VBVR-Pro-LTX2.3 | 0.425 | 0.527 | 0.409 | 0.510 | 0.346 | 0.460 | 0.390 | 0.324 | 0.381 | 0.108 | 0.201 | 0.477 | 0.386 |
| VBVR-Pro-Wan2.1-I2V-14B | 0.562 | 0.730 | 0.617 | 0.580 | 0.452 | 0.676 | 0.623 | 0.395 | 0.410 | 0.305 | 0.230 | 0.617 | 0.439 |
| VBVR-Pro-Wan2.2-TI2V-5B | 0.470 | 0.641 | 0.528 | 0.556 | 0.373 | 0.565 | 0.557 | 0.300 | 0.333 | 0.127 | 0.161 | 0.505 | 0.409 |
| VBVR-Pro-Wan2.2-I2V-14B | 0.670 | 0.808 | 0.632 | 0.685 | 0.556 | 0.751 | 0.636 | 0.532 | 0.479 | 0.418 | 0.350 | 0.679 | 0.690 |
Quick Start
Method 1: Standalone Diffusers inference
1. Install Diffusers
pip install -U diffusers transformers accelerate pillow imageio imageio-ffmpeg
2. Run example.py
The included example.py loads the merged checkpoint directly
with Diffusers, enables model CPU offloading, and writes synchronized audio and
video to an MP4 file.
python example.py \
--model_path Video-Reason/VBVR-Pro-LTX2.3 \
--image input.png \
--prompt "The machine starts and makes a quiet mechanical hum." \
--num_frames 49 --fps 24 \
--output output.mp4
Method 2: Unified VBVR-Pro inference
Clone Video-Reason/VBVR-Pro and create its unified inference environment:
git clone https://github.com/Video-Reason/VBVR-Pro.git
cd VBVR-Pro/
uv sync --extra cu124 # or one of [cu118|cu121|cu124|cu126|cu128|cu129]
source .venv/bin/activate
Then run the unified inference script:
python example.py \
--model_path Video-Reason/VBVR-Pro-LTX2.3 \
--image_paths input.png \
--prompt "The machine starts and makes a quiet mechanical hum." \
--num_frames 49 --fps 24 \
--output output.mp4
Citation
@article{vbvr2025,
title={VBVR: A Very Big Video Reasoning Suite},
year={2025},
}
- Downloads last month
- 7