Video Generation Models are General-Purpose Vision Learners
GenCeption
Summary: Use a pre-trained video DiT model as a backbone for its rich spatiotemporal feature priors, and then post-train it on various vision tasks which are encoded in a unified task format that makes as few changes as possible from the DiT
Comparing the three recent GDM papers on solving vision pretraining

- For Vision Banana, they wanted the model to still be able to generate images normally, hence, instruction tuning and framing the tasks as image generation.
- In contrast, for GenCeption, multi-task post-training lets them have one-step forward inference passes, but they lose the ability to generalize to complex text task inputs, or to generate videos. They still get some generalization within the family of tasks that they post train on.
- The other video one is zero-shot prompting so it’s more of a demonstration that video generation model priors are good
Methods
Turning the pretrained DiT into a (single-step) feature encoder:
- Instead of noisy video latents, they use the input video latents
- t = 0 conditioning (matching the fact that it’s already a clean video, t=1 would be noise)
- they negate the output? so that it predicts \(x_0 - \epsilon\) instead of \(\epsilon - x_0\)? It seems like an engineering hack.
Similar to how LLMs treat everything as text, they treat most dense vision tasks as an RGB output and use L2 pixel loss

- Have to do some goofy shit to project 6-channel outputs into 3 channels, and for single-channel outputs, they are replicated across the RGB.
- Predicting in continuous pixel space lets them best leverage the pre-trained model’s priors
- need to standardize the data carefully
sparse tasks come from the output of the learnable tokens (query embeddings)
- spatial location in 3D RoPE is learned (temporal position is calculated somehow)
- MLP to the final K-dim output per learned token is also learned
Synthetic Data from Simulation (RenderPeople, CMU Motion Dataset, Blender)
- as a bonus, gives them the ground truth for their like keypoint tasks and stuff for free
Experiments
WAN 2.1
All the standard benchmarks
Ablations
Joint vs Specialist training:

- worse for the sparse output task –> try to modify the arch as little as possible
VideoMAE and V-JEPA suck as backbones, and they can’t take text-conditioning?
Emegent Behaviors:
good on real videos (only trained on synthetic) multiple objects (only trained on single object) animals (only trained on humans)