Model reference · open weights

SANA-WM_bidirectional

Video Efficient-Large-Model Image→video 1 build Open weights 0 dl/mo

SANA-WM_bidirectional is an open-weight video model from Efficient-Large-Model. SANA-WM_bidirectional (BF16) weighs 102 GB; the smallest configuration that runs it is RTX PRO 6000 Blackwell 96 GB.

  • SANA-WM_bidirectional is an open-source image-to-video diffusion transformer developed by Efficient-Large-Model.
  • It generates 720p, minute-scale videos with precise 6-DoF camera control using a 2.6B-parameter architecture.
  • The model is released under the Apache 2.0 license, though the bundled LTX-2 refiner and VAE inherit the LTX-2 upstream license.

Summary of the Efficient-Large-Model/SANA-WM_bidirectional model card, 2026-10-01

What it is

Released byEfficient-Large-Model
Released2026-05-18
VRAM102 GB for the weights

What it runs on

Memory and cards for SANA-WM_bidirectional (BF16)

102 GBweights, file size
89.4 GBbiggest part
537 MBruntime overhead
CardWeightsMemory
RTX 3060 12 GB … H100 80 GBdoes not fit
RTX PRO 6000 Blackwell 96 GBtight (encoders offloaded)93.8 GB
DGX Spark (GB10) 128 GB unifiedtight107 GB
H200 141 GBfits138 GB
B200 180 GBfits176 GB

From the model card

What Efficient-Large-Model says about SANA-WM_bidirectional

Read the model card

SANA-WM is an efficient open-source world model trained natively for one-minute generation. The bidirectional checkpoint released here is a 2.6B-parameter image-to-video diffusion transformer that synthesises 720p, minute-scale videos with precise 6-DoF camera control, paired with the LTX-2 sink-bidirectional Euler refiner for high-fidelity decoding.

Four core designs drive the architecture:

  1. Hybrid Linear Attention — frame-wise Gated DeltaNet combined with softmax attention every Nth block for memory-efficient long-context modelling.
  2. Dual-Branch Camera Control — independent main and camera branches enable precise per-frame trajectory adherence.
  3. Two-Stage Generation Pipeline — a long-video refiner stitched on top of Stage-1 latents improves quality and temporal consistency.
  4. Robust Annotation Pipeline — metric-scale 6-DoF camera poses extracted from public video corpora yield spatiotemporally consistent action supervision.

Paper:

@article{zhu2026sanawm,
  title   = {{SANA-WM}: Efficient Minute-Scale World Modeling with Hybrid Linear Diffusion Transformer},
  author  = {Zhu, Haoyi and Liu, Haozhe and Zhao, Yuyang and Ye, Tian and Chen, Junsong and Yu, Jincheng and He, Tong and Han, Song and Xie, Enze},
  journal = {arXiv preprint arXiv:2605.15178},
  year    = {2026},
}

Repository layout

ComponentPath in repoSize
Sana DiT (Stage 1)dit/sana_wm_1600m_720p.safetensors10 GB
LTX-2 VAE (diffusers)vae/2 GB
LTX-2 refiner (Stage 2)refiner/refiner.safetensors41 GB
Gemma text encoder for the refinerrefiner/text_encoder/46 GB
Inference configconfig.yaml—

The Sana text encoder (gemma-2-2b-it) is not bundled here — it is fetched on demand from the public Hugging Face mirror.

Usage

python inference_video_scripts/inference_sana_wm.py \
  --image      asset/sana_wm/demo_0.png \
  --prompt     asset/sana_wm/demo_0.txt \
  --action     "w-80,jw-40,w-40,lw-60,w-100" \
  --translation_speed 0.055 \
  --rotation_speed_deg 1.2 \
  --num_frames 321 \
  --output_dir results/demo

Weights are fetched from this repository on first use. Pass --no_refiner to skip the LTX-2 refiner and decode Stage-1 latents with the Sana VAE instead. To run fully offline, override any of --config / --model_path / --refiner_checkpoint / --refiner_gemma_root with local paths.

Inputs

ArgumentFormat
--imageRGB image (any PIL-readable format) — used as the first frame.
--promptUTF-8 text file containing the conditioning prompt.
--cameraNumPy .npy of shape (F, 4, 4) — per-frame camera-to-world matrices.
--actionWASD/IJKL DSL, e.g. "w-80,jw-40,w-40,lw-60,w-100". We roll it out to a (F+1, 4, 4) trajectory. Mutually exclusive with --camera.
--intrinsicsOptional. .npy of shape (3, 3), (F, 3, 3), or (4,). If omitted, we estimate intrinsics from --image with Pi3X and abort if the resulting FOV is outside [25°, 120°].

The output frame size is fixed at 704 x 1280; input images are aspect-preserving resized + center-cropped to that resolution.

License

Released under the Apache 2.0 license. The bundled LTX-2 refiner and VAE inherit the LTX-2 upstream license.

Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.

How it works

How video models work

Prompt / imagestart pointTemporal diffusionframes over timeVideoMP4 clipA video model generates a sequence of coherent frames from your prompt or a starting image.

Running it yourself

Run it on a rented GPU

Rent a machine by the hour. ComfyUI is installed on it. Open ComfyUI through the tunnel and load the workflow from the model's card on Hugging Face; choose this model's file in its loader.

# on your rented machine (the ssh line is on its page in the console)
# get REPO FILE FOLDER: one file into /workspace/models/FOLDER, where ComfyUI loads it from
get() { hf download "$1" "$2" --local-dir /workspace/hf-files && mkdir -p "/workspace/models/$3" && mv "/workspace/hf-files/$2" "/workspace/models/$3/$4"; }

# the model (12.2 GB)
get Efficient-Large-Model/SANA-WM_bidirectional dit/sana_wm_1600m_720p.safetensors diffusion_models
get Efficient-Large-Model/SANA-WM_bidirectional vae/diffusion_pytorch_model.safetensors vae

start-comfyui
Renting a GPU: connect, tunnels, ComfyUI
# on your computer, in a second terminal: ComfyUI in your browser at http://localhost:8188
# HOST and PORT are your machine's, from its page in the console
ssh -L 8188:localhost:8188 dev@HOST -p PORT
© 2026 AxForge · EU-hosted AI infrastructure Pricing Docs Trust Privacy Terms