File size: 16,575 Bytes
ea1766e 7464465 0b8f8d4 ea1766e 79ffdb7 e04bb6d ea1766e 58ef839 ea1766e 58ef839 98469f4 58ef839 ea1766e 98469f4 ea1766e 58ef839 ea1766e 58ef839 ea1766e 958dcb9 ea1766e 3064cf2 ea1766e 58ef839 e04bb6d 7464465 58ef839 f2b4f7f 3064cf2 cf269e6 0b8f8d4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 | ---
library_name: s2pd
license: mit
pipeline_tag: image-to-video
tags:
- video-generation
- diffusion
- safetensors
- evaluation
---
# Serial-to-Parallel Diffusion
[Project Page](https://jefequien.github.io/S2PD/) · [Code](https://github.com/jefequien/S2PD)
## DiT-B
Pixel-space models trained from scratch.
| Dataset | Bidirectional | cDF | BC | S2PD |
| :--- | :---: | :---: | :---: | :---: |
| Conway | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/conway) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/conway) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/conway) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/conway) |
| Chess | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/chess) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/chess) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/chess) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/chess) |
| 2048 | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/2048) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/2048) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/2048) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/2048) |
| Fifteen Puzzle | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/fifteen_puzzle) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/fifteen_puzzle) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/fifteen_puzzle) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/fifteen_puzzle) |
| Tetris | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/tetris) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/tetris) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/tetris) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/tetris) |
| Snake | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/snake) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/snake) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/snake) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/snake) |
| Rubik’s Cube 3D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/rubiks_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/rubiks_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/rubiks_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/rubiks_3d) |
| Double Pendulum | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/double_pendulum) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/double_pendulum) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/double_pendulum) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/double_pendulum) |
| Three Body | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/three_body) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/three_body) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/three_body) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/three_body) |
| Colliding Balls 2D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/colliding_balls) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/colliding_balls) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/colliding_balls) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/colliding_balls) |
| Colliding Balls 3D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/colliding_balls_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/colliding_balls_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/colliding_balls_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/colliding_balls_3d) |
| Pong | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/dit-b-pixel/pong) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/dit-b-pixel/pong) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/dit-b-pixel/pong) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/dit-b-pixel/pong) |
## Wan-5B-LoRA
Adapters requiring the [Wan-5B backbone](https://huggingface.co/Wan-AI/Wan2.2-TI2V-5B-Diffusers).
| Dataset | Bidirectional | cDF | BC | S2PD |
| :--- | :---: | :---: | :---: | :---: |
| Kubric MOVi-A | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/wan-5b-lora/kubric_movi_a) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/wan-5b-lora/kubric_movi_a) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/wan-5b-lora/kubric_movi_a) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/wan-5b-lora/kubric_movi_a) |
| Kubric MOVi-C | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/wan-5b-lora/kubric_movi_c) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/wan-5b-lora/kubric_movi_c) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/wan-5b-lora/kubric_movi_c) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/wan-5b-lora/kubric_movi_c) |
| MPMWorlds | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/wan-5b-lora/mpm_worlds) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/wan-5b-lora/mpm_worlds) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/wan-5b-lora/mpm_worlds) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/wan-5b-lora/mpm_worlds) |
| Rubik’s Cube Real | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BD/wan-5b-lora/rubiks_real) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/CDF/wan-5b-lora/rubiks_real) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/BC/wan-5b-lora/rubiks_real) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/S2PD/wan-5b-lora/rubiks_real) |
<details>
<summary>Block size ablations (DiT-B)</summary>
Pin-8 and Pin-64 train with their named block size and full-video blocks, weighted 80/20.
| Dataset | Pin-8 | Pin-64 |
| :--- | :---: | :---: |
| Conway | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/conway) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/conway) |
| Chess | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/chess) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/chess) |
| 2048 | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/2048) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/2048) |
| Fifteen Puzzle | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/fifteen_puzzle) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/fifteen_puzzle) |
| Tetris | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/tetris) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/tetris) |
| Snake | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/snake) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/snake) |
| Rubik’s Cube 3D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/rubiks_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/rubiks_3d) |
| Double Pendulum | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/double_pendulum) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/double_pendulum) |
| Three Body | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/three_body) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/three_body) |
| Colliding Balls 2D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/colliding_balls) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/colliding_balls) |
| Colliding Balls 3D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/colliding_balls_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/colliding_balls_3d) |
| Pong | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/pong) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/block-size/pin-64/dit-b-pixel/pong) |
</details>
<details>
<summary>Token order ablations (DiT-B, Pin-8)</summary>
| Dataset | Raster | Zigzag | Hilbert |
| :--- | :---: | :---: | :---: |
| Conway | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/conway) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/conway) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/conway) |
| Chess | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/chess) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/chess) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/chess) |
| 2048 | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/2048) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/2048) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/2048) |
| Fifteen Puzzle | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/fifteen_puzzle) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/fifteen_puzzle) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/fifteen_puzzle) |
| Tetris | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/tetris) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/tetris) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/tetris) |
| Snake | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/snake) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/snake) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/snake) |
| Rubik’s Cube 3D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/rubiks_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/rubiks_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/rubiks_3d) |
| Double Pendulum | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/double_pendulum) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/double_pendulum) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/double_pendulum) |
| Three Body | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/three_body) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/three_body) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/three_body) |
| Colliding Balls 2D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/colliding_balls) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/colliding_balls) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/colliding_balls) |
| Colliding Balls 3D | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/colliding_balls_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/colliding_balls_3d) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/colliding_balls_3d) |
| Pong | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/raster/dit-b-pixel/pong) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/zigzag/dit-b-pixel/pong) | [ckpt](https://huggingface.co/jefequien/S2PD/tree/main/checkpoints/ablations/token-order/hilbert/dit-b-pixel/pong) |
</details>
Download and usage instructions are in the [code repository](https://github.com/jefequien/S2PD).
## Datasets
- [Kubric MOVi-A](https://huggingface.co/jefequien/S2PD/tree/main/data/kubric_movi_a): 9,703 training and 250 validation clips.
- [Kubric MOVi-C](https://huggingface.co/jefequien/S2PD/tree/main/data/kubric_movi_c): 9,737 training and 250 validation clips.
- [Rubik’s Cube Real](https://huggingface.co/jefequien/S2PD/tree/main/data/rubiks_real): 5,000 training and 512 validation clips.
- [Chess](https://huggingface.co/jefequien/S2PD/tree/main/data/chess): 1 million training and 10,000 validation games.
## Licenses
Original weights, adapters, Rubik’s Cube Real footage, and training curves: [MIT](./LICENSE).
[Lichess games](https://database.lichess.org/): [CC0](./LICENSE-CHESS-CC0-1.0.txt). The [mirrored Wan backbone, VAE, UMT5 encoder, and tokenizer](./pretrained/wan-2.2-ti2v-5b): [Apache 2.0](./LICENSE-WAN-APACHE-2.0.txt).
S2PD Kubric renders: [CC BY-SA 4.0](./data/kubric_movi_a/LICENSE.txt); see the dataset cards for upstream attribution.
## Citation
If you use S2PD in your research, please cite:
```bibtex
@misc{hu2026s2pd,
title = {{S2PD}: Serial-to-Parallel Diffusion for Physically and Logically Consistent Video Generation},
author = {Hu, Jeffrey and Olmeda Reino, Daniel and Tewari, Ayush},
year = {2026},
eprint = {2610.06847},
archivePrefix = {arXiv},
primaryClass = {cs.CV},
url = {https://arxiv.org/abs/2610.06847}
}
``` |