An open, real-time implementation of the Dreamer 4 world-model pipeline in JAX/Flax.
🌐 Website & Blog Post ·
🎮 Live Demo ·
⚡ Inference Code
Authors
Diego Marti Monso* ·
Francesco Sacco* ·
Edward Hu
REAL-TIME DEMO POWERED BY
Open Dreamer is a simple, performant, and easy-to-use JAX/Flax NNX
implementation of the Dreamer 4 world model — trained on Minecraft/VPT-style
gameplay and playable in real time. This repository holds the training
pipeline: a causal video tokenizer, an action-conditioned latent dynamics
model, and the tools to generate rollouts and measure quality.
This repo currently supports:
- Training a causal video tokenizer
- Tokenizing Minecraft/VPT-style MP4 datasets
- Training an action-conditioned latent dynamics model
- Generating rollouts and computing FVD
🎮 Try it now
The fastest way to experience Open Dreamer is the live, in-browser demo —
step into a generated Minecraft world and play it in real time, with a
Game ⟷ Dream toggle that hands the stream from the real game to the world
model frame by frame. No setup required; the real-time model runs in the cloud
on Reactor.
👉 Open the demo
The website also walks through how
the model works, with interactive figures and result galleries.
⚡ Run it yourself
To roll out the trained model locally on your own video and actions — generating
new frames from an MP4 and a matching action sequence — use the inference
repository:
👉 reactor-team/open-dreamer
The rest of this README covers training the model from scratch.
📋 Roadmap
⚙️ Requirements
- Python 3.11
uv
- CUDA 12-compatible JAX environment
- Minecraft/VPT-style ArrayRecord data; see dreamer/data/README.md
Install
pip install uv
uv sync
source .venv/bin/activate
The dependency lock targets CUDA 12 JAX. If your machine needs a different JAX
build, in