[ICLR 2026] "VideoReasonBench: Can MLLMs Perform Vision-Centric Complex Video Reasoning?", Yuanxin Liu, Kun Ouyang, Haoning Wu, Yi Liu, Lin Sui, Xinhao Li, Yan Zhong, Y. Charles, Xinyu Zhou, Xu Sun
See the code
VideoReasonBench: Can MLLMs Perform Vision-Centric Complex Video Reasoning?
[2026-01] πππ VideoReasonBench is accepted by ICLR 2026!
[2025-12] πππ Excited to see Seed1.8 adopt VideoReasonBench for evaluating video reasoning! Huge congratulations to the Seed team on the impressive 30+ point gain over Seed1.5-VL.
![]() |
|---|
| Examples from VideoReasonBench and three existing VideoQA benchmarks. Responses are generated by Gemini-2.5-Flash in both "Thinking" and "No Thinking" modes. |
![]() |
|---|
| Performance of Gemini-2.5-Flash with varying thinking budgets on five benchmarks. |
Complex Reasoning
Thinking-Reliant
Vision-Centric Reasoning

Each video features a latent state and a sequence of operations. The latent state is revealed either at the beginning or the end of the video. Throughout the rest of the video, the latent state remains invisible while the operations drive state transitions. There are six types of video demonstrations:
The questions assess video reasoning skills across three levels:
Installation
pip install google-genai==1.12.0
pip install openai==1.64.0
pip install transformers
Setup Keys
Set the environment variables GEMINI_API_KEY, OPENAI_API_KEY and OPENAI_API_BASE.
wget https://huggingface.co/datasets/lyx97/reasoning_videos/resolve/main/videos.zip
unzip videos.zip
bash eval_gemini.sh # evaluate gemini series models
bash eval_openai.sh # evaluate openai models
bash eval_qwen.sh # evaluate qwen2.5-vl models
An example of evaluation result can be found here.
Installation
cd vlmevalkit
pip install -e .
Setup Keys
Place the required keys in vlmevalkit/.env or directly set them as the environment variable.
Setup the model and dataset configuration in vlmevalkit/configs/{your_config}.json. For example:
{
"model": {
"Qwen2.5-VL-72B-Instruct": {
"class": "Qwen2VLChat",
"model_path": "Qwen/Qwen2.5-VL-72B-Instruct",
"min_pixels": 50176,
"max_pixels": 200704,
"max_new_tokens": 4096
}
},
"data": {
"VideoReasoningBench_64frame": {
"class": "VideoReasoningBench",
"dataset": "VideoReasoningBench",
"nframe": 64
}
}
}
torchrun --nproc-per-node=8 run.py --judge gpt-4o-1120 --config configs/video_reasoning_bench_qwen2.5-vl-7b.json --reuse # 7B-scale model
AUTO_SPLIT=1 torchrun --nproc-per-node=1 run.py --judge gpt-4o-1120 --config configs/video_reasoning_bench_qwen2.5-vl-72b.json # 72B-scale model
An example of evaluation result can be found here.


@article{liu2025videoreasonbench,
title = {VideoReasonBench: Can MLLMs Perform Vision-Centric Complex Video Reasoning?},
author = {Yuanxin Liu, Kun Ouyang, Haoning Wu, Yi Liu, Lin Sui, Xinhao Li, Yan Zhong, Y. Charles, Xinyu Zhou, Xu Sun},
year = {2025},
journal = {arXiv preprint arXiv: 2505.23359}
}
5 commits
Python
99.0%
[ICLR 2026] "VideoReasonBench: Can MLLMs Perform Vision-Centric Complex Video Reasoning?", Yuanxin Liu, Kun Ouyang, Haoning Wu, Yi Liu, Lin Sui, Xinhao Li, Yan Zhong, Y. Charles, Xinyu Zhou, Xu Sun
See the code
VideoReasonBench: Can MLLMs Perform Vision-Centric Complex Video Reasoning?
[2026-01] πππ VideoReasonBench is accepted by ICLR 2026!
[2025-12] πππ Excited to see Seed1.8 adopt VideoReasonBench for evaluating video reasoning! Huge congratulations to the Seed team on the impressive 30+ point gain over Seed1.5-VL.
![]() |
|---|
| Examples from VideoReasonBench and three existing VideoQA benchmarks. Responses are generated by Gemini-2.5-Flash in both "Thinking" and "No Thinking" modes. |
![]() |
|---|
| Performance of Gemini-2.5-Flash with varying thinking budgets on five benchmarks. |
Complex Reasoning
Thinking-Reliant
Vision-Centric Reasoning

Each video features a latent state and a sequence of operations. The latent state is revealed either at the beginning or the end of the video. Throughout the rest of the video, the latent state remains invisible while the operations drive state transitions. There are six types of video demonstrations:
The questions assess video reasoning skills across three levels:
Installation
pip install google-genai==1.12.0
pip install openai==1.64.0
pip install transformers
Setup Keys
Set the environment variables GEMINI_API_KEY, OPENAI_API_KEY and OPENAI_API_BASE.
wget https://huggingface.co/datasets/lyx97/reasoning_videos/resolve/main/videos.zip
unzip videos.zip
bash eval_gemini.sh # evaluate gemini series models
bash eval_openai.sh # evaluate openai models
bash eval_qwen.sh # evaluate qwen2.5-vl models
An example of evaluation result can be found here.
Installation
cd vlmevalkit
pip install -e .
Setup Keys
Place the required keys in vlmevalkit/.env or directly set them as the environment variable.
Setup the model and dataset configuration in vlmevalkit/configs/{your_config}.json. For example:
{
"model": {
"Qwen2.5-VL-72B-Instruct": {
"class": "Qwen2VLChat",
"model_path": "Qwen/Qwen2.5-VL-72B-Instruct",
"min_pixels": 50176,
"max_pixels": 200704,
"max_new_tokens": 4096
}
},
"data": {
"VideoReasoningBench_64frame": {
"class": "VideoReasoningBench",
"dataset": "VideoReasoningBench",
"nframe": 64
}
}
}
torchrun --nproc-per-node=8 run.py --judge gpt-4o-1120 --config configs/video_reasoning_bench_qwen2.5-vl-7b.json --reuse # 7B-scale model
AUTO_SPLIT=1 torchrun --nproc-per-node=1 run.py --judge gpt-4o-1120 --config configs/video_reasoning_bench_qwen2.5-vl-72b.json # 72B-scale model
An example of evaluation result can be found here.


@article{liu2025videoreasonbench,
title = {VideoReasonBench: Can MLLMs Perform Vision-Centric Complex Video Reasoning?},
author = {Yuanxin Liu, Kun Ouyang, Haoning Wu, Yi Liu, Lin Sui, Xinhao Li, Yan Zhong, Y. Charles, Xinyu Zhou, Xu Sun},
year = {2025},
journal = {arXiv preprint arXiv: 2505.23359}
}
5 commits
Python
99.0%