← Open Source
kwsong0113

diffusion-forcing-transformer

[ICML 2025] Official PyTorch Implementation of "History-Guided Video Diffusion".

Model DevelopmentArchitecturePython
Open on GitHub
Momentum
+0stars in 24 hours0.0%
709
Stars
41
Forks
+0
This week
2
Contributors
Created 2025-02-11 · Updated 2026-10-06 · #14719 today
Top developers
kwsong0113buoyancy99

kwsong0113/diffusion-forcing-transformer is ranked 14,719 with 709 stars.

Same-category comparison

kwsong0113/diffusion-forcing-transformer is ranked 14,719 among these 8 peers; facebookresearch/QuaterNet is ranked 14,717.

Same-category comparison
NameRankMetrics
MarioSieg/magnetron14,713
Language:
C
Stars:
709
Forks:
39
Description:
A zero-dependency ML framework in C with a modern Python API for full control over execution and memory.
Zhendong-Wang/Diffusion-GAN14,714
Language:
Python
Stars:
709
Forks:
75
Description:
Official PyTorch implementation for paper: Diffusion-GAN: Training GANs with Diffusion.
chainer/chainer-chemistry14,715
Language:
Python
Stars:
709
Forks:
132
Description:
Chainer Chemistry: A Library for Deep Learning in Biology and Chemistry.
facebookresearch/QuaterNet14,717
Language:
Jupyter Notebook
Stars:
709
Forks:
85
Description:
Proposes neural networks that can generate animation of virtual characters for different actions.
pymc-devs/pymc414,721
Language:
Jupyter Notebook
Stars:
709
Forks:
112
Description:
(Deprecated) Experimental PyMC interface for TensorFlow Probability. Official work on this project has been discontinued.
wohlert/semi-supervised-pytorch14,724
Language:
Python
Stars:
709
Forks:
121
Description:
Implementations of various VAE-based semi-supervised and generative models in PyTorch.
GoodStartLabs/AI_Diplomacy14,728
Language:
Python
Stars:
708
Forks:
99
Description:
Frontier Models playing the board game Diplomacy.
nv-tlabs/ChronoEdit14,734
Language:
Python
Stars:
708
Forks:
42
Description:
[ICLR 2026] ChronoEdit: Towards Temporal Reasoning for Image Editing and World Simulation.
Key parameters and specifications
Key parameters and specifications
ParameterValue
LanguagePython
CategoryModel Development
SubcategoryArchitecture
KeywordsDiffusion, Video production
Stars709
Forks41
Contributors2
Created date2025-02-11
Updated date2026-10-06
Stars in 1 day0
Stars in 7 days0
Rank14,719
Previous rank14,564
Rank change-155
7-day stars rank14,619
Previous 7-day stars rank14,628
7-day stars rank change9
Total stars rank14,749
Previous total stars rank14,724
Total stars rank change-25
CountryUSA
README summary

Diffusion Forcing Transformer with History Guidance ICML 2025 Paper | Website | HuggingFace Demo | Pretrained Models This is the official repository for the paper **_History-Guided Video Diffusion_**. We introduce the **Diffusion Forcing Tranformer (DFoT)**, a novel video diffusion model that designed to generate videos conditioned on an arbitrary number of context frames. Additionally, we present **History Guidance (HG)**, a family of guidance methods uniquely enabled by DFoT. These methods significantly enhance video generation quality, temporal consistency, and motion dynamics, while also

unlocking new capabilities such as compositional video generation and the stable rollout of extremely long videos. 🔥 News **2025-05**: DFoT is accepted to **ICML 2025**. **2025-02**: Diffusion Forcing Transformer is released. 🤗 Try generating videos with DFoT in your browser! We provide an _interactive_ demo on HuggingFace Spaces, where you can generate videos with DFoT and History Guidance. On the RealEstate10K dataset, you can generate: Any Number of Images → Short 2-second Video Single Image → Long 10-second Video Single

Image → Extremely Long Video (like the teaser above! ) Please check it out and have fun generating videos with DFoT! 📖 Detailed Development Wiki If you just want quickly try our model in python, you can skip this section and proceed to the "Quick Start" section. Otherwise, we provide a comprehensive wiki for developers who want to extend the DFoT framework. It offers a detailed guide on thse topics: code structure command line options datasets structure checkpointing and loading training and evaluating

DFoT or baseline models every command to reproduce the paper's result 🚀 Quick Start Setup 1. Create a conda environment and install dependencies: 2. Connect to Weights & Biases: We use Weights & Biases for logging. Sign up if you don't have an account, and *modify in to your user/organization name*. Generating Videos with Pretrained Models Simply run one of the commands below to generate videos with a pretrained DFoT model. They will automatically download a tiny subset of the RealEstate10K dataset

and a pretrained DFoT model. Single Image to Long Video (200 Frames, takes ~10 mins): **NOTE**: if you encounter CUDA out-of-memory errors (due to limited VRAM), try setting . Single Image to Short Video (8 Frames, takes **Note**: Minecraft training requires additionally preprocessing videos into latents (see here). 📝 Acknowledgements This repo is using Boyuan Chen's research template repo. By its license, we just ask you to keep the above sentence and links in and the file to credit the

author. 📌 Citation If our work is useful for your research, please consider giving us a star and citing our paper:

Frequently asked questions

How many stars and forks are recorded?

kwsong0113/diffusion-forcing-transformer has 709 stars and 41 forks.

What is the repository rank?

kwsong0113/diffusion-forcing-transformer is ranked 14,719.

What language and category are recorded?

kwsong0113/diffusion-forcing-transformer has 709 stars, uses Python and belongs to Model Development.

Which repository is closest in rank?

kwsong0113/diffusion-forcing-transformer is compared with facebookresearch/QuaterNet, ranked 14,717 with 709 stars.

README

Diffusion Forcing Transformer with History Guidance

[Kiwhan Song*1](https://kiwhan.dev/)
·
[Boyuan Chen*1](https://boyuan.space/)
·
[Max Simchowitz2](https://msimchowitz.github.io/)
·
[Yilun Du3](https://yilundu.github.io/)
·
[Russ Tedrake1](https://groups.csail.mit.edu/locomotion/russt.html)
·
[Vincent Sitzmann1](https://www.vincentsitzmann.com/)
  

*Equal contribution 1MIT 2CMU 3Harvard

ICML 2025

Paper | Website | HuggingFace Demo | Pretrained Models

This is the official repository for the paper History-Guided Video Diffusion. We introduce the Diffusion Forcing Tranformer (DFoT), a novel video diffusion model that designed to generate videos conditioned on an arbitrary number of context frames. Additionally, we present History Guidance (HG), a family of guidance methods uniquely enabled by DFoT. These methods significantly enhance video generation quality, temporal consistency, and motion dynamics, while also unlocking new capabilities such as compositional video generation and the stable rollout of extremely long videos.

🔥 News

🤗 Try generating videos with DFoT in your browser!

We provide an interactive demo on HuggingFace Spaces, where you can generate videos with DFoT and History Guidance. On the RealEstate10K dataset, you can generate:

  • Any Number of Images → Short 2-second Video
  • Single Image → Long 10-second Video
  • Single Image → Extremely Long Video (like the teaser above!)

Please check it out and have fun generating videos with DFoT!

📖 Detailed Development Wiki

If you just want quickly try our model in python, you can skip this section and proceed to the "Quick Start" section. Otherwise, we provide a comprehensive wiki for developers who want to extend the DFoT framework. It offers a detailed guide on thse topics:

  • code structure
  • command line options
  • datasets structure
  • checkpointing and loading
  • training and evaluating DFoT or baseline models
  • every command to reproduce the paper's result

🚀 Quick Start

Setup

1. Create a conda environment and install dependencies:

conda create python=3.10 -n dfot
conda activate dfot
pip install -r requirements.txt

2. Connect to Weights & Biases:

We use Weights & Biases for logging. Sign up if you don't have an account, and modify wandb.entity in config.yaml to your user/organization name.

Generating Videos with Pretrained Models

Simply run one of the commands below to generate videos with a pretrained DFoT model. They will automatically download a tiny subset of the RealEstate10K dataset and a pretrained DFoT model.

1. Single Image to Long Video (200 Frames, takes ~10 mins):

NOTE: if you encounter CUDA out-of-memory errors (due to limited VRAM), try setting algorithm.tasks.interpolation.max_batch_size=1.

python -m main +name=single_image_to_long dataset=realestate10k_mini algorithm=dfot_video_pose experiment=video_generation @diffusion/continuous load=pretrained:DFoT_RE10K.ckpt 'experiment.tasks=[validation]' experiment.validation.data.shuffle=True dataset.context_length=1 dataset.frame_skip=1 dataset.n_frames=200 algorithm.tasks.prediction.keyframe_density=0.0625 algorithm.tasks.interpolation.max_batch_size=4 experiment.validation.batch_size=1 algorithm.tasks.prediction.history_guidance.name=stabilized_vanilla +algorithm.tasks.prediction.history_guidance.guidance_scale=4.0 +algorithm.tasks.prediction.history_guidance.stabilization_level=0.02  algorithm.tasks.interpolation.history_guidance.name=vanilla +algorithm.tasks.interpolation.history_guidance.guidance_scale=1.5

2. Single Image to Short Video (8 Frames, takes <1 min):

python -m main +name=single_image_to_short dataset=realestate10k_mini algorithm=dfot_video_pose experiment=video_generation @diffusion/continuous load=pretrained:DFoT_RE10K.ckpt 'experiment.tasks=[validation]' experiment.validation.data.shuffle=True dataset.context_length=1 dataset.frame_skip=20 dataset.n_frames=8 experiment.validation.batch_size=1 algorithm.tasks.prediction.history_guidance.name=vanilla +algorithm.tasks.prediction.history_guidance.guidance_scale=4.0

3. Interpolating Two Distant Images into Short Video (8 Frames, takes <1 min):

python -m main +name=two_images_to_interpolated dataset=realestate10k_mini algorithm=dfot_video_pose experiment=video_generation @diffusion/continuous load=pretrained:DFoT_RE10K.ckpt 'experiment.tasks=[validation]' experiment.validation.data.shuffle=True dataset.frame_skip=20 dataset.n_frames=8 experiment.validation.batch_size=1 algorithm.tasks.prediction.enabled=False algorithm.tasks.interpolation.enabled=True algorithm.tasks.interpolation.history_guidance.name=vanilla +algorithm.tasks.interpolation.history_guidance.guidance_scale=4.0

4. Generating Videos on Other Datasets

Please refer to our wiki for more details.

Training

Training a DFoT model requires a large, full dataset. The commands below will automatically download the necessary data, but please note that this process may take a while (~few hours). We also provide specifications for the GPUs required for training. If you are training with fewer GPUs or using a smaller ⁠experiment.training.batch_size, we recommend proportionally reducing ⁠experiment.training.lr. You training will produce a wandb link which ends with a wandb run id. To load or resume your trained model, simply append load={the_wandb_run_id} and resume={the_wandb_run_id} to the training / inferencecommand.

1. RealEstate10K (12 x 80GB VRAM GPUs)

python -m main +name=RE10k dataset=realestate10k algorithm=dfot_video_pose experiment=video_generation @diffusion/continuous

2. Kinetics-600 (12 x 80GB VRAM GPUs)

python -m main +name=K600 dataset=kinetics_600 algorithm=dfot_video experiment=video_generation @DiT/XL

3. Minecraft (12 x 80GB VRAM GPUs)

Note: Minecraft training requires additionally preprocessing videos into latents (see here).

python -m main +name=MCRAFT dataset=minecraft algorithm=dfot_video experiment=video_generation @diffusion/continuous @DiT/B

📝 Acknowledgements

This repo is using Boyuan Chen's research template repo. By its license, we just ask you to keep the above sentence and links in README.md and the LICENSE file to credit the author.

📌 Citation

If our work is useful for your research, please consider giving us a star and citing our paper:

@misc{song2025historyguidedvideodiffusion,
  title={History-Guided Video Diffusion}, 
  author={Kiwhan Song and Boyuan Chen and Max Simchowitz and Yilun Du and Russ Tedrake and Vincent Sitzmann},
  year={2025},
  eprint={2502.06764},
  archivePrefix={arXiv},
  primaryClass={cs.LG},
  url={https://arxiv.org/abs/2502.06764}, 
}
Nearby in the ranking
Similar items