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}
}
```