PAN 2 is a free, open 29B “world model” from MBZUAI’s Institute of Foundation Models (IFM), released on 10 November 2026 under Apache 2.0. You describe a scene and what happens in it, and PAN 2 renders a video of up to 20 seconds showing how the world reacts, step by step.
This guide explains what a world model is, how PAN 2 compares with MiniMax-H3, Cosmos 3 and LTX 2.5, what hardware it really needs, and how to run it with the official scripts or the new community ComfyUI node.
It also covers the structured prompt format that makes the difference between a sharp clip and a blurry mess.
- What: a 29.2B diffusion transformer that turns text (and an optional start image) into up to 20 s of video at 704 x 1248, 24 fps. It uses Qwen3.5-9B as its text encoder and the Wan 2.2 VAE.
- Licence: Apache 2.0 for PAN 2’s weights and code, so commercial use is allowed. The text encoder and VAE keep their own licences.
- Size: the official repo is about 86 GB (about 67 GB for the bf16 model). A community fp8 repack is 33.7 GB.
- ComfyUI: no official nodes yet. The community ComfyUI-PAN2 node runs the fp8 model with about 34 GB of system RAM using block swap.
- Speed: a small 448 x 256, 13-frame test clip at 16 steps took about 65 s on an RTX 5090 and 129 s on an RTX 4090.
- Tip: always use the structured prompt format. One-line prompts give “blown-out, mushy” clips.
New to ComfyUI? My ComfyUI beginner guide covers install, models, nodes and fixes in one place.
What PAN 2 Is (and What a World Model Does)
A normal text-to-video model tries to make a nice-looking clip. A world model tries to predict what happens next when someone acts: the cup tips, the water spills, the door swings open. The aim is cause and effect that stays consistent over time.
PAN 2 uses IFM’s Generative Latent Prediction (GLP) design, which has two parts:
- A planner LLM in front. It turns your goal into a sequence of actions written in plain language. IFM tested with GPT-6 Astra and Claude Opus, and you can use any capable LLM, including a local one.
- The 29B video model. It renders those actions as video in a compressed latent space, which the Wan 2.2 VAE then decodes into frames.
The planner matters a lot. In IFM’s tests, PAN 2 with no LLM in front completed 0% of full multi-step plans. With an LLM that reasons first and then writes the prompt, it completed 34%.
Robotics teams use world models to test plans before a real robot moves. If you are interested in that side, see our guide to Runway Praxis-1, an open model that turns such plans into robot-arm actions.
Specs at a Glance
| Item | PAN 2 |
|---|---|
| Released | 10 November 2026 by IFM at MBZUAI |
| Parameters | 29.2B (44 dual-stream joint-attention blocks, hidden size 4096) |
| Text encoder | Qwen3.5-9B (frozen), up to 1,536 caption tokens |
| VAE | Wan 2.2 VAE (48 channels, 16x spatial, 4x temporal compression) |
| Modes | Text to video and image to video |
| Output | 704 x 1248, 24 fps, up to 481 frames (about 20 s) |
| Default sampling | 50 steps, CFG 2.5, flow shift 9, bf16 |
| Weights | IFM/PAN2 on Hugging Face, diffusers layout |
| Also runs in | Diffusers and vLLM |
| Licence | Apache 2.0 (PAN 2 code and weights) |
Benchmarks vs MiniMax-H3, Cosmos 3 and LTX 2.5
All of these numbers come from IFM. No independent results exist yet, so treat them as maker claims.
Multi-step plans
IFM’s own test used 100 tasks, 200 prompts and 456 steps. “Full-plan completion” means every step in the plan happened on screen.
| Model | Open weights? | Step completion | Full-plan completion |
|---|---|---|---|
| PAN 2 | Yes | 75.10% | 34.00% |
| MiniMax-H3 | Yes | 75.12% | 32.50% |
| FLUX 3 | No | 72.44% | 26.77% |
| Seedance 2.5 | No | 68.95% | 24.49% |
| Cosmos 3 Super | Yes | 57.23% | 13.83% |
| LTX 2.5 | Yes | 55.77% | 13.00% |
Single actions and human preference
On single actions, MiniMax-H3 still edges PAN 2 (87.20% vs 84.48% overall). H3 was also preferred in IFM’s blind test with 13 reviewers: Elo 1620 for H3, 1595 for PAN 2 with GPT-6 Astra as planner, and 1559 with Claude Opus.
So PAN 2 is roughly level with H3 and well ahead of Cosmos 3 Super and LTX 2.5. Its edge is in long, multi-step plans, not in looks. If you mainly want beautiful clips, H3 is still the stronger choice; see our MiniMax H3 ComfyUI guide.
Public physics benchmarks
| Model | Physics-IQ (leaderboard setting) | RBench |
|---|---|---|
| PAN 2 | 49.38 | 57.04 |
| FLUX 3 | 51.11 | 57.96 |
| Cosmos 3 Super | 48.62 | 50.64 |
| MiniMax-H3 | 39.79 | 56.16 |
One caution: write-ups spotted that IFM’s blog post and model card give different scores for Cosmos 3 Super and LTX 2.5. The model card’s numbers are used above.
Hardware You Need
IFM gives no minimum VRAM. Here is what the file sizes and early tests tell us:
| Part | Size | Notes |
|---|---|---|
| PAN 2 transformer, bf16 | About 67 GB | Official weights; data-centre GPUs (H100/H200) or block swap |
| PAN 2 transformer, fp8 (community) | 33.7 GB | zombothe26/pan2-fp8; the node author reports the same frames as bf16 |
| Qwen3.5-9B text encoder | About 18 GB in bf16 (9B parameters x 2 bytes) | Only needed while encoding the prompt |
| Wan 2.2 VAE | Small | The same file Wan 2.2 workflows use |
With the community node’s block swap, the fp8 weights stay in system RAM (about 34 GB) and each of the 44 blocks moves to the GPU only while it runs. That makes a 24 GB or 32 GB card workable, but slow.
A realistic home setup is an RTX 4090 or 5090, 64 GB of system RAM (more is better), and about 60 GB of free fast SSD space for the fp8 model and text encoder. The activations at full resolution are the real limit, so start small, as shown below.
Run PAN 2 in ComfyUI
There are no official ComfyUI nodes yet. The community port UnlimitedEditing/ComfyUI-PAN2 appeared on 11 November. It is pure PyTorch with standard SDPA attention, so it needs no flash-attn or Triton and reportedly works on Windows.
Step 1: Install the node
cd ComfyUI/custom_nodes
git clone https://github.com/UnlimitedEditing/ComfyUI-PAN2
cd ComfyUI-PAN2
pip install -r requirements.txt # if the repo has one
On ComfyUI Portable, use the embedded Python instead: ..\..\..\python_embeded\python.exe -m pip install -r requirements.txt.
The text encoder needs a transformers version that knows the qwen3_5 architecture. If you see an “unrecognized model type” error, update it with pip install -U transformers in ComfyUI’s Python.
Step 2: Download the files to the right folders
| File | From | ComfyUI folder |
|---|---|---|
| PAN 2 fp8 (whole diffusers folder) | zombothe26/pan2-fp8 (33.7 GB) |
ComfyUI/models/diffusion_models/PAN2-fp8/ |
| Or PAN 2 bf16 transformer folder | IFM/PAN2, the transformer/ folder |
ComfyUI/models/diffusion_models/ in its own folder |
wan2.2_vae.safetensors |
Comfy-Org Wan 2.2 repack | ComfyUI/models/vae/ |
| Qwen3.5-9B (whole folder) | Qwen/Qwen3.5-9B |
ComfyUI/models/llm/Qwen3.5-9B/, or let the node download it from Hugging Face |
Download the fp8 folder with the Hugging Face CLI so the folder layout stays intact:
hf download zombothe26/pan2-fp8 --local-dir ComfyUI/models/diffusion_models/PAN2-fp8
hf download Qwen/Qwen3.5-9B --local-dir ComfyUI/models/llm/Qwen3.5-9B
If you already run Wan 2.2, you have the VAE. Our Wan 2.2 guide lists the official file.
Step 3: Build the workflow
The chain is short:
- PAN2 Model Loader: pick the PAN2-fp8 folder. Set
placementtoblocks_on_cpuif the model does not fit in VRAM (it switches to this automatically when needed). - PAN2 Prompt Builder: fill in
scene(required), plusevent,subject,lighting,viewpoint,styleandcamera. Thecamerafield has 16 official tags; 0 means a static camera. - PAN2 Text Encode (Qwen3.5): connect the builder’s output.
- PAN2 Sampler: connect the model and conditioning. For image to video, plug a
start_imageand the Wan 2.2vaeinto it. - VAE Decode (core node) with the Wan 2.2 VAE.
- Create Video at 24 fps, then Save Video.
Step 4: Settings
| Setting | First test | Full quality (official default) |
|---|---|---|
| Resolution | 448 x 256 | 704 x 1248 |
| Frames | 13 | 241 (10 s), up to 481 (20 s) |
| Steps | 16 | 50 |
| CFG | 2.5 | 2.5 |
| Shift | 9 | 9 |
Always run the small test first. The node author has not yet measured full-size, 50-step runs, and CFG runs as a batch of two with a long negative prompt, so memory use climbs quickly as resolution and length go up.
Frame counts follow the Wan 2.2 VAE rule of 4n + 1 (13, 49, 121, 241, 481), because the VAE compresses time by four.
Run It With the Official Scripts
On Linux with a big GPU (IFM’s setup guide uses an H200), the official repo is the reference route.
git clone https://github.com/ifm-ai/PAN2.git
cd PAN2
conda create -n pan python=3.14 -y && conda activate pan
pip install torch==2.12.1 torchvision==0.27.1 --index-url https://download.pytorch.org/whl/cu132
pip install --pre "flash-attn-4[cu13]==4.0.0b29" --no-build-isolation
pip install "quack-kernels[cu13]==0.6.4"
pip install -r requirements.txt
Download the weights:
export HF_HOME=/path/to/hf
hf download Qwen/Qwen3.5-9B
hf download Wan-AI/Wan2.2-TI2V-5B-Diffusers
hf download IFM/PAN2 --include "transformer/*" --local-dir /path/to/PAN2
Run inference:
bash inference/inference.sh /path/to/PAN2 ./outputs inference/prompts/examples.json
Change settings with environment variables: NUM_STEPS, FLOW_SHIFT, GUIDANCE_SCALE, VIDEO_LENGTH, SEED and NUM_GPUS. For example, NUM_STEPS=30 VIDEO_LENGTH=121 bash inference/inference.sh ... gives a quicker 5-second draft.
Clips land in outputs/t2v/ or outputs/i2v/ with a config JSON for each. Re-running skips clips that are already done.
How to Write PAN 2 Prompts
PAN 2 was trained on long, structured captions, and it shows. A one-line prompt with an empty negative gives washed-out, mushy video. Use the Prompt Builder in ComfyUI, or follow the same order by hand:
scene ;; event ;; subject ;; lighting ;; viewpoint ;; style
Example:
A small home kitchen with a wooden counter and a window ;;
(0.0-3.0s) a woman lifts a glass jug of orange juice; (3.0-6.0s) she pours it into a tall glass until it is nearly full; (6.0-9.0s) she slides the glass across the counter ;;
woman in her 30s, green apron, hair tied back ;;
soft morning daylight from the left ;;
eye level, medium shot ;;
photoreal, natural colours
Tips that help:
- Time each action. Times are in seconds, and the frame maths is (frames – 1) / 24. A 241-frame clip runs 0 to 10 s.
- One actor per action. Say who does what, so the model keeps track of people and objects.
- Let an LLM write it. IFM’s results jump when a reasoning LLM plans first. Ask your local model (for example through Ollama) to turn a goal into timed steps in this format.
- Keep a negative prompt. The official one is long and structured; the node fills it in for you.
What It Is Good For
- Planning and robotics research: preview whether a sequence of actions works before trying it for real.
- Storyboards with cause and effect: short scenes where things must happen in order.
- Training data: generating varied clips of everyday physical tasks.
- Studying world models: the full training code is open, which is rare.
For pure creative video, MiniMax-H3 or Wan 2.2 are faster and easier on home hardware.
Limits to Know
- Plans still fail often. About two in three multi-step plans skip at least one step.
- It needs a planner. Without an LLM in front, plan completion drops to 0%.
- Drift on long sequences. Each clip starts from at most one frame plus text, so appearance can change across chained clips.
- Heavy. Full-quality runs are built for data-centre GPUs. Home GPUs need fp8 plus block swap and patience.
- Safety filter tradeoff. IFM’s guardrail cut unsafe outputs from harmful requests from 33.9% to 1.5%, but also blocked 11.5% of harmless ones.
- Community node is new. Image to video is wired but lightly tested.
Troubleshooting
| Problem | Fix |
|---|---|
| Blurry, blown-out or mushy clips | Use the Prompt Builder with every field filled, and keep the default negative prompt |
| CUDA out of memory | Set placement to blocks_on_cpu, drop to 448 x 256 and fewer frames, close other GPU apps |
| “Unrecognized model type qwen3_5” | Update transformers in ComfyUI’s Python |
| Loader cannot find the model | Keep the whole diffusers folder (with its config files) inside models/diffusion_models/PAN2-fp8/; do not move single files out |
| Windows runs out of RAM | Block swap needs about 34 GB of free RAM for fp8; raise the page file or add RAM |
| Official script fails on flash-attn | The pinned build needs CUDA 13 and a recent GPU; use the ComfyUI node (SDPA) instead |
| Actions happen in the wrong order | Add explicit time ranges for each step, and let an LLM rewrite the plan |
FAQ
Is PAN 2 free for commercial use?
PAN 2’s weights and code are Apache 2.0, which allows commercial use. Check the licences of Qwen3.5-9B and the Wan 2.2 VAE too, since they come with the model.
Can I run PAN 2 on a 16 GB GPU?
Not comfortably. Even with fp8 and block swap, the full-size activations need a lot of memory. A 24 GB or 32 GB card with 64 GB of RAM is a realistic minimum for small clips.
Is PAN 2 better than MiniMax-H3?
Not for looks. IFM’s own tests show H3 slightly ahead on single actions and human preference, and level on step completion. PAN 2 is a little better at finishing whole multi-step plans.
Does PAN 2 make sound?
No. It outputs silent video. Add audio afterwards with a separate model.
Is there an official ComfyUI workflow?
Not yet. The community ComfyUI-PAN2 node is the only option today. Watch the ComfyUI changelog for native support.
What was PAN 1?
The first PAN, described in a paper in November 2025, introduced the GLP design. PAN 2 builds on it and ships with open weights and full training code under Apache 2.0.
Sources
- GitHub: ifm-ai/PAN2 (specs, install, inference, licence)
- CellCog: PAN 2 world model, benchmarks and limits (benchmark tables, repo size)
- ComfyUI Wiki: PAN 2 in ComfyUI (community node, test timings)
- GitHub: UnlimitedEditing/ComfyUI-PAN2 (nodes, folders, block swap)
- Emergent: MBZUAI releases PAN 2 (release date, two-stage design)




