Instructions to use ZhuYuhan/VideoJev-4B with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Transformers
How to use ZhuYuhan/VideoJev-4B with Transformers:
# Use a pipeline as a high-level helper from transformers import pipeline pipe = pipeline("feature-extraction", model="ZhuYuhan/VideoJev-4B", trust_remote_code=True)# pip install -U transformers accelerate # Load model directly from transformers import AutoModel model = AutoModel.from_pretrained("ZhuYuhan/VideoJev-4B", trust_remote_code=True, device_map="auto") - Notebooks
- Google Colab
- Kaggle
VideoJev-4B
A video System One model based on Qwen/Qwen3.5-4B, using direct candidate scoring for temporal grounding and multiple-choice video QA.
Paper · Homepage · Code · Usage guide
Benchmark Results
Quick start
Tested with Python 3.12, PyTorch 2.8 / CUDA 12.8, and an H200. Install a matching PyTorch build first.
pip install transformers==5.14.1 accelerate safetensors numpy pillow av==18.1.0 \
flash-linear-attention==0.4.2 fla-core==0.4.2
pip install flash-attn causal-conv1d --no-build-isolation
Run grounding and QA on Eating spaghetti (10 seconds), at 2 FPS.
import json
import torch
from huggingface_hub import hf_hub_download
from transformers import AutoModel, AutoProcessor
video = hf_hub_download(
repo_id="ZhuYuhan/VideoJev-Demo", filename="eating_spaghetti.mp4",
repo_type="dataset", revision="7e2b9685bca592c3b929268f6fcf82c4ad74b267",
)
repo = "ZhuYuhan/VideoJev-4B"
processor = AutoProcessor.from_pretrained(repo, trust_remote_code=True)
model = AutoModel.from_pretrained(
repo, trust_remote_code=True, dtype=torch.bfloat16,
device_map={"": "cuda:0"}, attn_implementation="flash_attention_2",
)
model.prepare_for_inference()
questions = [
{"id": "grounding-1", "task": "grounding",
"query": "The woman in green eats pasta."},
{"id": "qa-1", "task": "choice",
"query": "What is the woman in green eating?",
"options": ["A. Pasta.", "B. Rice.", "C. Soup."]},
]
results = model.predict_video(
processor, video, questions,
fps=2.0, max_frames=2048, context=8192,
)
print(json.dumps(results, indent=2))
Output
Actual output from the video and code above:
[
{
"id": "grounding-1",
"task": "grounding",
"probabilities": [
0.005761092994362116,
0.010865824297070503,
0.026081746444106102,
0.9046059250831604,
0.9879851937294006,
0.9887627959251404,
0.9896195530891418,
0.9849089980125427,
0.833530068397522,
0.33037981390953064
],
"interval": [
3.0,
10.0
]
},
{
"id": "qa-1",
"task": "choice",
"probabilities": [
0.9999161958694458,
5.755242091254331e-05,
2.617507561808452e-05
],
"answer_index": 0,
"answer": "A. Pasta."
}
]
interval is in seconds; answer_index is zero-based. probabilities contains independent sigmoid scores for grounding and softmax scores over QA options.
Grounding defaults to threshold=0.25; pass threshold=0.4 to predict_video or predict_features to override it for one call.
See the usage guide for task-specific settings and output details.
Citation
@misc{zhu2026videojevmodelvideounderstanding,
title={VideoJev: System One Model for Video Understanding and Interaction},
author={Yuhan Zhu and Xiangyu Zeng and Qingyi Si and Chenxu Yang and Yifei Li and Luozheng Qin and Junhao Zhou and Dingyu Yao and Jun Zhang and Chuanyu Qin and Zhiqiu Zhang and Yuandong Yang and Yuqi Xu and Tianyu Zhang and Hongcheng Guo and Jiaqi Wang and Nan Duan and Limin Wang},
year={2026},
eprint={2610.18615},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2610.18615},
}
- Downloads last month
- 328

