Views
No views yet



generate_custom_trajectory.py for generating customized camera trajectory.1export T2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
2export T2V_REWRITE_MODEL_NAME="<your_model_name>"
3export I2V_REWRITE_BASE_URL="<your_vllm_server_base_url>"
4export I2V_REWRITE_MODEL_NAME="<your_model_name>"
5
6PROMPT='A paved pathway leads towards a stone arch bridge spanning a calm body of water. Lush green trees and foliage line the path and the far bank of the water. A traditional-style pavilion with a tiered, reddish-brown roof sits on the far shore. The water reflects the surrounding greenery and the sky. The scene is bathed in soft, natural light, creating a tranquil and serene atmosphere. The pathway is composed of large, rectangular stones, and the bridge is constructed of light gray stone. The overall composition emphasizes the peaceful and harmonious nature of the landscape.'
7
8IMAGE_PATH=./assets/img/test.png # Now we only provide the i2v model, so the path cannot be None
9SEED=1
10ASPECT_RATIO=16:9
11RESOLUTION=480p # Now we only provide the 480p model
12OUTPUT_PATH=./outputs/
13MODEL_PATH= # Path to pretrained hunyuanvideo-1.5 model
14AR_ACTION_MODEL_PATH= # Path to our HY-World 1.5 autoregressive checkpoints
15BI_ACTION_MODEL_PATH= # Path to our HY-World 1.5 bidirectional checkpoints
16AR_DISTILL_ACTION_MODEL_PATH= # Path to our HY-World 1.5 autoregressive distilled checkpoints
17POSE_JSON_PATH=./assets/pose/test_forward_32_latents.json # Path to the customized camera trajectory
18NUM_FRAMES=125
19
20# Configuration for faster inference
21# For AR inference, the maximum number recommended is 4. For bidirectional models, it can be set to 8.
22N_INFERENCE_GPU=4 # Parallel inference GPU count.
23
24# Configuration for better quality
25REWRITE=false # Enable prompt rewriting. Please ensure rewrite vLLM server is deployed and configured.
26ENABLE_SR=false # Enable super resolution. When the NUM_FRAMES == 121, you can set it to true
27
28# inference with bidirectional model
29torchrun --nproc_per_node=$N_INFERENCE_GPU generate.py \
30 --prompt "$PROMPT" \
31 --image_path $IMAGE_PATH \
32 --resolution $RESOLUTION \
33 --aspect_ratio $ASPECT_RATIO \
34 --video_length $NUM_FRAMES \
35 --seed $SEED \
36 --rewrite $REWRITE \
37 --sr $ENABLE_SR --save_pre_sr_video \
38 --pose_json_path $POSE_JSON_PATH \
39 --output_path $OUTPUT_PATH \
40 --model_path $MODEL_PATH \
41 --action_ckpt $BI_ACTION_MODEL_PATH \
42 --few_step false \
43 --model_type 'bi'
44
45# inference with autoregressive model
46#torchrun --nproc_per_node=$N_INFERENCE_GPU generate.py \
47# --prompt "$PROMPT" \
48# --image_path $IMAGE_PATH \
49# --resolution $RESOLUTION \
50# --aspect_ratio $ASPECT_RATIO \
51# --video_length $NUM_FRAMES \
52# --seed $SEED \
53# --rewrite $REWRITE \
54# --sr $ENABLE_SR --save_pre_sr_video \
55# --pose_json_path $POSE_JSON_PATH \
56# --output_path $OUTPUT_PATH \
57# --model_path $MODEL_PATH \
58# --action_ckpt $AR_ACTION_MODEL_PATH \
59# --few_step false \
60# --model_type 'ar'
61
62# inference with autoregressive distilled model
63#torchrun --nproc_per_node=$N_INFERENCE_GPU generate.py \
64# --prompt "$PROMPT" \
65# --image_path $IMAGE_PATH \
66# --resolution $RESOLUTION \
67# --aspect_ratio $ASPECT_RATIO \
68# --video_length $NUM_FRAMES \
69# --seed $SEED \
70# --rewrite $REWRITE \
71# --sr $ENABLE_SR --save_pre_sr_video \
72# --pose_json_path $POSE_JSON_PATH \
73# --output_path $OUTPUT_PATH \
74# --model_path $MODEL_PATH \
75# --action_ckpt $AR_DISTILL_ACTION_MODEL_PATH \
76# --few_step true \
77# --num_inference_steps 4 \
78# --model_type 'ar'| Model | Real-time | Short-term | Long-term | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|
| PSNR ⬆ | SSIM ⬆ | LPIPS ⬇ | $R_{dist}$ ⬇ | $T_{dist}$ ⬇ | PSNR ⬆ | SSIM ⬆ | LPIPS ⬇ | $R_{dist}$ ⬇ | $T_{dist}$ ⬇ | ||
| CameraCtrl | ❌ | 17.93 | 0.569 | 0.298 | 0.037 | 0.341 | 10.09 | 0.241 | 0.549 | 0.733 | 1.117 |
| SEVA | ❌ | 19.84 | 0.598 | 0.313 | 0.047 | 0.223 | 10.51 | 0.301 | 0.517 | 0.721 | 1.893 |
| ViewCrafter | ❌ | 19.91 | 0.617 | 0.327 | 0.029 | 0.543 | 9.32 | 0.271 | 0.661 | 1.573 | 3.051 |
| Gen3C | ❌ | 21.68 | 0.635 | 0.278 | 0.024 | 0.477 | 15.37 | 0.431 | 0.483 | 0.357 | 0.979 |
| VMem | ❌ | 19.97 | 0.587 | 0.316 | 0.048 | 0.219 | 12.77 | 0.335 | 0.542 | 0.748 | 1.547 |
| Matrix-Game-2.0 | ✅ | 17.26 | 0.505 | 0.383 | 0.287 | 0.843 | 9.57 | 0.205 | 0.631 | 2.125 | 2.742 |
| GameCraft | ❌ | 21.05 | 0.639 | 0.341 | 0.151 | 0.617 | 10.09 | 0.287 | 0.614 | 2.497 | 3.291 |
| Ours (w/o Context Forcing) | ❌ | 21.27 | 0.669 | 0.261 | 0.033 | 0.157 | 16.27 | 0.425 | 0.495 | 0.611 | 0.991 |
| Ours (full) | ✅ | 21.92 | 0.702 | 0.247 | 0.031 | 0.121 | 18.94 | 0.585 | 0.371 | 0.332 | 0.797 |

1@article{hyworld2025,
2 title={HY-World 1.5: A Systematic Framework for Interactive World Modeling with Real-Time Latency and Geometric Consistency},
3 author={Team HunyuanWorld},
4 journal={arXiv preprint},
5 year={2025}
6}
7
8@article{worldplay2025,
9 title={WorldPlay: Towards Long-Term Geometric Consistency for Real-Time Interactive World Model},
10 author={Wenqiang Sun and Haiyu Zhang and Haoyuan Wang and Junta Wu and Zehan Wang and Zhenwei Wang and Yunhong Wang and Jun Zhang and Tengfei Wang and Chunchao Guo},
11 year={2025},
12 journal={arXiv preprint}
13}
14
15@inproceedings{wang2025compass,
16 title={WorldCompass: Reinforcement Learning for Long-Horizon World Models},
17 author={Zehan Wang and Tengfei Wang and Haiyu Zhang and Wenqiang Sun and Junta Wu and Haoyuan Wang and Zhenwei Wang and Hengshuang Zhao and Chunchao Guo and Zhou Zhao},
18 journal = {arXiv preprint},
19 year = 2025
20}