# Compatibility Matrix This page summarizes common model + optimization combinations. For the canonical, code-level list of model IDs recognized by `VideoGenerator.from_pretrained(...)`, see the registrations in `fastvideo/registry.py` (`register_configs(...)` entries). :::note The full STA integration in `fastvideo/` is archived from `main` and kept in `sta_do_not_delete`: https://github.com/hao-ai-lab/FastVideo/tree/sta_do_not_delete We do this because we believe VSA is strictly better than STA for the actively maintained `main` inference path. ::: ## Registered Model IDs Every Hugging Face model ID registered in `fastvideo/registry.py` on `main` (commit `8d89f30d`), grouped by family. Any ID below can be passed to `VideoGenerator.from_pretrained(...)`; FastVideo resolves the matching pipeline and sampling defaults. The **Family** column is a documentation grouping: it follows each registration's declared `model_family`, except `black-forest-labs/FLUX.1-dev`, which declares none and is listed under `flux` for readability. The **Workloads** column shows each registration's declared `workload_types`; `—` means the entry is registered without a UI workload option but is still loadable by ID. The **Example** column links a runnable script in `examples/inference/basic/` where one exists. | Family | HuggingFace Model ID | Workloads | Example | |--------|----------------------|-----------|---------| | cosmos | `nvidia/Cosmos-Predict2-2B-Video2World` | T2V | — | | cosmos25 | `KyleShao/Cosmos-Predict2.5-2B-Diffusers` | T2V | [basic_cosmos2_5_t2w.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_cosmos2_5_t2w.py) | | cosmos25 | `nvidia/Cosmos-Predict2.5-14B` | T2V | [basic_cosmos2_5_t2w.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_cosmos2_5_t2w.py) | | flux | `black-forest-labs/FLUX.1-dev` | T2I | [basic_flux_dev.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_flux_dev.py) | | flux2 | `black-forest-labs/FLUX.2-klein-4B`
`black-forest-labs/FLUX.2-klein-9B` | T2I | [basic_flux2_klein.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_flux2_klein.py) | | flux2 | `black-forest-labs/FLUX.2-dev` | T2I | [basic_flux2.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_flux2.py) | | gen3c | `FastVideo/GEN3C-Cosmos-7B-Diffusers` | T2V | [basic_gen3c.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_gen3c.py) | | hunyuan | `hunyuanvideo-community/HunyuanVideo` | T2V | — | | hunyuan | `FastVideo/FastHunyuan-diffusers` | T2V | — | | hunyuan15 | `hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_t2v` | T2V | [basic_hy15.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_hy15.py) | | hunyuan15 | `hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-480p_i2v_step_distilled` | I2V | [basic_hy15.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_hy15.py) | | hunyuan15 | `hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_t2v` | T2V | [basic_hy15.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_hy15.py) | | hunyuan15 | `hunyuanvideo-community/HunyuanVideo-1.5-Diffusers-720p_i2v_distilled` | I2V | [basic_hy15.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_hy15.py) | | hunyuan15 | `weizhou03/HunyuanVideo-1.5-Diffusers-1080p`
`weizhou03/HunyuanVideo-1.5-Diffusers-1080p-2SR` | — | [basic_hy15_1080p.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_hy15_1080p.py) | | hyworld | `FastVideo/HY-WorldPlay-Bidirectional-Diffusers` | — | [basic_hyworld.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_hyworld.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-T2V-Lite-sft-5s-Diffusers` | T2V | [basic_kandinsky5_t2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_t2v.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-T2V-Pro-sft-5s-Diffusers` | T2V | [basic_kandinsky5_t2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_t2v.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-T2V-Lite-distilled16steps-5s-Diffusers` | T2V | [basic_kandinsky5_t2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_t2v.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-T2V-Pro-distilled-5s-Diffusers` | T2V | [basic_kandinsky5_t2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_t2v.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-I2V-Lite-5s-Diffusers` | I2V | [basic_kandinsky5_i2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_i2v.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-I2V-Pro-sft-5s-Diffusers` | I2V | [basic_kandinsky5_i2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_i2v.py) | | kandinsky5 | `kandinskylab/Kandinsky-5.0-I2V-Pro-distilled-5s-Diffusers` | I2V | [basic_kandinsky5_i2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky5_i2v.py) | | kandinsky6 | `kandinskylab/Kandinsky-6.0-Pro-5s-Diffusers`
`kandinskylab/Kandinsky-6.0-Pro-sft-5s-Diffusers`
`kandinskylab/Kandinsky-6.0-Lite-5s-Diffusers` | T2V, I2V | [basic_kandinsky6_ti2va.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky6_ti2va.py) | | kandinsky6 | `kandinskylab/Kandinsky-6.0-Pro-distill-5s-Diffusers`
`kandinskylab/Kandinsky-6.0-Lite-distill-5s-Diffusers` | T2V, I2V | [basic_kandinsky6_ti2va.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky6_ti2va.py) | | kandinsky6_sr | `kandinskylab/Kandinsky-6.0-VSR-5s-Diffusers`
`kandinskylab/Kandinsky-6.0-VSR-distilled2steps-5s-Diffusers` | — | [basic_kandinsky6_sr.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_kandinsky6_sr.py) | | lingbot_video | `FastVideo/LingBot-Video-MoE-30B-A3B-Diffusers` | T2V | [basic_lingbot_video.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_lingbot_video.py) | | lingbot_video | `FastVideo/LingBot-Video-Dense-1.3B-Diffusers` | T2V | [basic_lingbot_video.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_lingbot_video.py) | | lingbotworld | `FastVideo/LingBot-World-Base-Cam-Diffusers` | I2V | [basic_lingbotworld_base_cam.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_lingbotworld_base_cam.py) | | lingbotworld2 | `robbyant/lingbot-world-v2-14b-causal-fast` | I2V | [basic_lingbotworld2_causal_fast.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_lingbotworld2_causal_fast.py) | | lingbotworld_fast | `FastVideo/LingBot-World-Fast-Diffusers` | I2V | [basic_lingbotworld_fast.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_lingbotworld_fast.py) | | ltx2 | `FastVideo/LTX2-Distilled-Diffusers`
`FastVideo/LTX2.3-Distilled-Diffusers`
`FastVideo/LTX-2.3-Distilled-Diffusers` | T2V | [basic_ltx2_distilled.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2_distilled.py) | | ltx2 | `FastVideo/LTX-2.5-Distilled-Diffusers` | T2V, I2V | [T2AV](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2_5_t2av.py)
[I2AV](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2_5_i2av.py) | | ltx2 | `FastVideo/LTX-2.5-Dev-Diffusers` | T2V, I2V | [T2AV](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2_5_t2av.py)
[I2AV](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2_5_i2av.py) | | ltx2 | `Lightricks/LTX-2.3`
`FastVideo/LTX2.3-base`
`FastVideo/LTX2.3-Diffusers` | T2V | [basic_ltx2.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2.py) | | ltx2 | `Lightricks/LTX-2`
`FastVideo/LTX2-base`
`FastVideo/LTX2-Diffusers` | T2V | [basic_ltx2.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_ltx2.py) | | mmaudio | `FastVideo/MMAudio-large-44k-v2-Diffusers` | V2A, T2A | [basic_mmaudio.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_mmaudio.py) | | matrixgame | `FastVideo/Matrix-Game-2.0-Base-Distilled-Diffusers`
`FastVideo/Matrix-Game-2.0-GTA-Distilled-Diffusers`
`FastVideo/Matrix-Game-2.0-TempleRun-Distilled-Diffusers`
`FastVideo/Matrix-Game-2.0-Base-Diffusers`
`FastVideo/Matrix-Game-2.0-GTA-Diffusers`
`FastVideo/Matrix-Game-2.0-TempleRun-Diffusers`
`mignonjia/mg_longtuning_distilled_zelda`
`mignonjia/mg_sf_distilled_zelda_1k_steps`
`mignonjia/mg_sf_distilled_zelda`
`mignonjia/mg_causal_zelda`
`mignonjia/mg_bidirectional_zelda` | I2V | [basic_matrixgame2.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_matrixgame2.py) | | matrixgame | `FastVideo/Matrix-Game-3.0-Base-Distilled-Diffusers` | I2V | [basic_matrixgame3.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_matrixgame3.py) | | minimax_h3 | `MiniMaxAI/MiniMax-H3` | T2V, I2V | [T2VA](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_minimax_h3_t2v.py)
[FL2VA](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_minimax_h3_fl2va.py)
[Ref2VA](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_minimax_h3_ref2va.py) | | sd35 | `stabilityai/stable-diffusion-3.5-medium` | T2I | [basic_sd35_t2i.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_sd35_t2i.py) | | stable_audio | `FastVideo/stable-audio-open-1.0-Diffusers` | T2V | [basic_stable_audio.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_stable_audio.py) | | stable_audio | `FastVideo/stable-audio-open-small-Diffusers` | T2V | [basic_stable_audio_small.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_stable_audio_small.py) | | wan | `Wan-AI/Wan2.1-T2V-1.3B-Diffusers` | T2V | [basic.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic.py) | | wan | `Wan-AI/Wan2.1-T2V-14B-Diffusers`
`FastVideo/Wan2.1-VSA-T2V-14B-720P-Diffusers` | T2V | — | | wan | `Wan-AI/Wan2.1-I2V-14B-480P-Diffusers` | I2V | — | | wan | `Wan-AI/Wan2.1-I2V-14B-720P-Diffusers` | I2V | — | | wan | `Wan-AI/Wan2.2-Animate-14B-Diffusers` | I2V | [basic_wan_animate.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_wan_animate.py) | | wan | `weizhou03/Wan2.1-Fun-1.3B-InP-Diffusers` | I2V | — | | wan | `IRMChen/Wan2.1-Fun-1.3B-Control-Diffusers` | — | [basic_wan2_2_Fun.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_wan2_2_Fun.py) | | wan | `FastVideo/FastWan2.1-T2V-1.3B-Diffusers`
`FastVideo/FastWan2.1-T2V-14B-480P-Diffusers` | T2V | [basic_dmd.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_dmd.py) | | wan | `Wan-AI/Wan2.2-TI2V-5B-Diffusers` | T2V, I2V | [basic_wan2_2_ti2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_wan2_2_ti2v.py) | | wan | `FastVideo/FastWan2.2-TI2V-5B-FullAttn-Diffusers`
`FastVideo/FastWan2.2-TI2V-5B-Diffusers` | T2V, I2V | [basic_dmd.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_dmd.py) | | wan | `decart-ai/Lucy-Edit-Dev`
`decart-ai/Lucy-Edit-1.1-Dev` | — | [basic_lucy_edit.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_lucy_edit.py) | | wan | `FastVideo/Wan2.2-S2V-14B-Diffusers` | I2V | [basic_wan_s2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_wan_s2v.py) | | wan | `Wan-AI/Wan2.2-T2V-A14B-Diffusers` | T2V | [basic_wan2_2.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_wan2_2.py) | | wan | `Wan-AI/Wan2.2-I2V-A14B-Diffusers` | I2V | [basic_wan2_2_i2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_wan2_2_i2v.py) | | wan | `wlsaidhi/SFWan2.1-T2V-1.3B-Diffusers` | T2V | [basic_self_forcing_causal.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_self_forcing_causal.py) | | wan | `rand0nmr/SFWan2.2-T2V-A14B-Diffusers` | T2V | [basic_self_forcing_causal_wan2_2_t2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_self_forcing_causal_wan2_2_t2v.py) | | wan | `FastVideo/SFWan2.2-I2V-A14B-Preview-Diffusers` | I2V | [basic_self_forcing_causal_wan2_2_i2v.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_self_forcing_causal_wan2_2_i2v.py) | **Note (stable_audio)**: the Stable Audio Open pipelines generate audio (`StableAudioT2AConfig` / `StableAudioOpenSmallConfig`); they are registered under the generic T2V workload option in the registry. **Note (MMAudio)**: the registered Hugging Face model ID is reserved but not yet public. Follow the [MMAudio inference guide](https://github.com/hao-ai-lab/FastVideo/blob/main/fastvideo/pipelines/basic/mmaudio/README.md) to convert the official weights locally and set `MMAUDIO_MODEL_PATH`. **Note (Cosmos Predict2.5 distilled)**: the released 2B Text2World student is supported through local checkpoint conversion, but no public converted model ID is registered yet. Follow the validation guide in `tests/local_tests/cosmos25/README.md`, then pass the converted directory to `basic_cosmos2_5_distilled_t2w.py --model`. The public DFD Video2World student is also supported through local DCP conversion. It uses exactly one conditioning image, 4 steps, 81 frames at 704x1280 and 24 FPS. Use `basic_cosmos2_5_dfd_i2w.py`; a public converted model ID is not registered yet. **Note (MiniMax H3)**: T2VA, FL2VA, and Ref2VA all generate video with stereo audio. Use the Ref2VA example when passing ordered image, video, or audio references. Distilled Ref2VA PDD students (eight transformer forwards, with reference videos as sparse VSA regions) run through [basic_fasth3_omniref_pdd.py](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_fasth3_omniref_pdd.py); see [FastH3 distilled checkpoint schedules](fasth3-distilled.md#ref2va-pdd-students). **Note (Kandinsky 6)**: the `kandinsky6` IDs (Pro 30.1B and Lite 3.2B, each base and distilled) generate video with audio from text, optionally plus an image (see the [T2IVA guide](kandinsky6.md)); the `kandinsky6_sr` IDs upscale an existing video (see the [Video SR guide](kandinsky6_sr.md)). **Note (LTX-2.5)**: T2V and I2V produce synchronized video and audio. The official `Lightricks/LTX-2.5` repository uses gated, split component files, so it must first be converted to FastVideo's component layout. See the [LTX-2.5 inference guide](ltx2_5.md). **Note (Wan-VACE)**: not currently supported — no VACE pipeline or registered model ID exists on `main` ([#1435](https://github.com/hao-ai-lab/FastVideo/issues/1435)). The closest supported path is the Wan2.1-Fun control pipeline (`IRMChen/Wan2.1-Fun-1.3B-Control-Diffusers`). The symbols used have the following meanings: - ✅ = Full compatibility - ❌ = No compatibility - ⭕ = Does not apply to this model ## Models x Optimization The `HuggingFace Model ID` can be passed directly to `from_pretrained()`. FastVideo then uses model-specific default settings for pipeline initialization and sampling. Registered models absent from this table have not been validated against these optimizations: absence means **untested**, not incompatible. | Model Name | HuggingFace Model ID | Resolutions | TeaCache | Sliding Tile Attn (Legacy Branch) | Sage Attn | VSA | |------------|---------------------|-------------|----------|-------------------|-----------|-----| | FastWan2.1 T2V 1.3B | `FastVideo/FastWan2.1-T2V-1.3B-Diffusers` | 480P | ⭕ | ⭕ | ⭕ | ✅ | | FastWan2.2 TI2V 5B Full Attn | `FastVideo/FastWan2.2-TI2V-5B-FullAttn-Diffusers` | 720P | ⭕ | ⭕ | ⭕ | ✅ | | Wan2.2 TI2V 5B | `Wan-AI/Wan2.2-TI2V-5B-Diffusers` | 720P | ⭕ | ⭕ | ✅ | ⭕ | | Lucy Edit Dev 5B*** | `decart-ai/Lucy-Edit-Dev` | 480P | ⭕ | ⭕ | ⭕ | ⭕ | | Wan2.2 S2V 14B**** | `FastVideo/Wan2.2-S2V-14B-Diffusers` | 480P | ⭕ | ⭕ | ⭕ | ⭕ | | Wan2.2 T2V A14B | `Wan-AI/Wan2.2-T2V-A14B-Diffusers` | 480P
720P | ❌ | ❌ | ✅ | ⭕ | | Wan2.2 I2V A14B | `Wan-AI/Wan2.2-I2V-A14B-Diffusers` | 480P
720P | ❌ | ❌ | ✅ | ⭕ | | Wan2.2 Animate 14B | `Wan-AI/Wan2.2-Animate-14B-Diffusers` | 720P | ⭕ | ⭕ | ⭕ | ⭕ | | HunyuanVideo | `hunyuanvideo-community/HunyuanVideo` | 720px1280p
544px960p | ❌ | ✅ | ✅ | ⭕ | | FastHunyuan | `FastVideo/FastHunyuan-diffusers` | 720px1280p
544px960p | ❌ | ✅ | ✅ | ⭕ | | Wan2.1 T2V 1.3B | `Wan-AI/Wan2.1-T2V-1.3B-Diffusers` | 480P | ✅ | ✅ | ✅ | ⭕ | | Wan2.1 T2V 14B | `Wan-AI/Wan2.1-T2V-14B-Diffusers` | 480P, 720P | ✅ | ✅ | ✅ | ⭕ | | Wan2.1 I2V 480P | `Wan-AI/Wan2.1-I2V-14B-480P-Diffusers` | 480P | ✅ | ✅ | ✅ | ⭕ | | Wan2.1 I2V 720P | `Wan-AI/Wan2.1-I2V-14B-720P-Diffusers` | 720P | ✅ | ✅ | ✅ | ⭕ | | Matrix Game 2.0 Base Distilled | `FastVideo/Matrix-Game-2.0-Base-Distilled-Diffusers` | 352x640 | ⭕ | ⭕ | ⭕ | ⭕ | | Matrix Game 2.0 GTA Distilled | `FastVideo/Matrix-Game-2.0-GTA-Distilled-Diffusers` | 352x640 | ⭕ | ⭕ | ⭕ | ⭕ | | Matrix Game 2.0 TempleRun Distilled | `FastVideo/Matrix-Game-2.0-TempleRun-Distilled-Diffusers` | 352x640 | ⭕ | ⭕ | ⭕ | ⭕ | | Matrix Game 3.0 Base Distilled | `FastVideo/Matrix-Game-3.0-Base-Distilled-Diffusers` | 720x1280 | ⭕ | ⭕ | ⭕ | ⭕ | | GEN3C Cosmos 7B | `FastVideo/GEN3C-Cosmos-7B-Diffusers` | 704px1280p | ❌ | ❌ | ❌ | ⭕ | ## Apple Silicon native runtime | Release path | Model | Mode | Validated hardware | Status | | --- | --- | --- | --- | --- | | MLX FastMetal T2V 1.3B | [`FastVideo/FastMetal-1.3B-QAD`](https://huggingface.co/FastVideo/FastMetal-1.3B-QAD) | 480x832, 81 frames, 3-step DMD, INT8 DiT + TAEHV decode | Apple M4 Max, 16 GB+ unified memory | Released | | MLX FastMetal T2V 5B | [`FastVideo/FastMetal-5B-QAD`](https://huggingface.co/FastVideo/FastMetal-5B-QAD) | 480p / 720p, 81 frames, 3-step DMD, INT8 DiT + TAEHV decode; optional `--fast`, `--fast-spatial`, `--refine`. The checked-in example is T2V. CUDA Wan2.2 TI2V 5B is the image-capable path. | Apple M4 Max, 16 GB+ unified memory | Released | | MLX FastMetal T2V 14B | [`FastVideo/FastMetal-14B-QAD`](https://huggingface.co/FastVideo/FastMetal-14B-QAD) | 480p / 720p, 81 frames, 3-step DMD, INT8 DiT + TAEHV decode | Apple M4 Max, 36 GB+ unified memory | Released | | MLX FastH3 V1 T2VA | [`FastVideo/FastVideo-Minimax-FastH3-Preview-v0.2`](https://huggingface.co/FastVideo/FastVideo-Minimax-FastH3-Preview-v0.2) + locally converted DiT | 480p / 720p, 124 frames, 4-step DMD2, INT8/INT6/INT4 **weight-only** DiT, native video + audio VAE; optional temporal RIFE fast mode; optional spatial fast mode; optional VSA (tile 64/256, exempt/compete) on `--include-vsa` checkpoints | Apple M4 Max, 36 GB unified memory | Source runtime; T2VA only | | MLX FastH3 V2 T2VA | [`FastVideo/FastVideo-FastH3-8-Step-V2`](https://huggingface.co/FastVideo/FastVideo-FastH3-8-Step-V2) + locally converted DiT | 480p / 720p, 124 frames, 8-step DMD2, INT8 **weight-only** DiT with `--include-vsa`, trained VSA 0.8 / tile 64, native video + audio VAE; AdaLN cache from `fastvideo_inference.json` | Apple M4 Max, 36 GB unified memory | Source runtime; T2VA only | | MLX FastH3 OmniRef Ref2VA | [`FastVideo/FastVideo-FastH3-Omni-8-Step-V1`](https://huggingface.co/FastVideo/FastVideo-FastH3-Omni-8-Step-V1) + base MiniMax-H3 snapshot + locally converted `transformer_ref` | Ordered image/video/audio references, 124 frames at 480p / 720p, the export's fused-block PDD ladder, INT8/INT6/INT4 **weight-only** DiT with `--include-vsa`, native video + audio VAE encoders for the references | Apple M4 Max, 36 GB unified memory | Source runtime | Apple Silicon uses the native MLX runtime. FastMetal-QAD is the packaged Wan release. FastH3 V1 and FastH3 V2 use a source checkout and local DiT conversion. CUDA FastWan-QAD (`FastVideo/FastWan-QAD-1.3B`, `FastVideo/FastWan-QAD-FP8-1.3B`) is the NVIDIA release. See the [MLX install guide](../getting_started/installation/mlx.md) (and, for reference-conditioned OmniRef, the [MLX OmniRef page](fasth3_omniref_mlx.md)) and the [FastMetal-QAD blog](https://haoailab.com/blogs/fastmetal/). **Note**: Wan2.2 TI2V 5B has some quality issues when performing I2V generation. We are working on fixing this issue. ***Lucy Edit Dev uses a non-commercial model license. FastVideo support is focused on inference integration for video editing workflows. ****Wan2.2 S2V is audio-driven: it takes a reference image plus a speech/audio track and animates the subject in sync with it. The official checkpoint ships in native Wan format; `scripts/checkpoint_conversion/wan_s2v_to_diffusers.py` repackages it into the Diffusers layout this repo id refers to (bundling the `wav2vec2-large-xlsr-53-english` audio encoder). `num_frames` follows the usual `4k+1` contract (default 81): one clip generates 84 frames and shows 81, and longer requests chain clips that carry the previous 73 frames forward as motion context, as the official runner does. The source audio is muxed into the saved MP4. Sequence parallelism is not yet wired up for this pipeline. `Sliding Tile Attn (Legacy Branch)` entries refer to the archived `sta_do_not_delete` branch workflow, not active `main` inference wiring. ## Canonical Supported IDs The authoritative source for model-ID recognition is `fastvideo/registry.py`. If a model ID is registered there, FastVideo can resolve default pipeline and sampling configuration for it. **Note (GEN3C)**: The official `nvidia/GEN3C-Cosmos-7B` repo provides a raw `model.pt` checkpoint. Use a Diffusers-format repo (for example, `FastVideo/GEN3C-Cosmos-7B-Diffusers`) or convert locally with `scripts/checkpoint_conversion/convert_gen3c_to_fastvideo.py`. ## FastH3 OmniRef on consumer devices OmniRef (Ref2VA) runs the same NVFP4 stack on one consumer Blackwell device - RTX 5090, RTX PRO 6000 and DGX Spark - with a packed NVFP4 export, FP4 sparse attention with the dense prefix rows split off, and the pre-packed NVFP4 decoder. An RTX 4090 runs the closest sm_89 equivalent (FP8 linears, bf16 VSA). Per-device profiles, recipes and the environment are in [FastH3 OmniRef inference](fasth3_omniref.md). There is no MLX Ref2VA path yet: the Apple Silicon rows above are T2V/FL2VA. ## Hardware and OS Per the installation guides: - **NVIDIA GPU (x86_64)** — CUDA 12.6 or 13.0; see the [GPU install guide](../getting_started/installation/gpu.md). - **NVIDIA DGX Spark (GB10, aarch64)** — CUDA 13, from-source kernel build; see the [DGX Spark install guide](../getting_started/installation/spark.md). Two Sparks over QSFP use Ray sequence parallel; see [Pair two NVIDIA DGX Sparks](../getting_started/installation/spark_pair.md). - **Apple silicon** — macOS 14 or newer; MLX runtime for FastMetal-QAD, FastH3 V1, and FastH3 V2. See the [MLX install guide](../getting_started/installation/mlx.md). The older [`basic_mps.py`](https://github.com/hao-ai-lab/FastVideo/blob/main/examples/inference/basic/basic_mps.py) demo is PyTorch MPS only. Optimization-specific hardware constraints (e.g. STA requiring Hopper) are listed under [Special requirements](#special-requirements). For the platform overview, including AMD ROCm and the distinction between RTX, data center CUDA GPUs, DGX Spark and MLX, see [Hardware and runtimes](../getting_started/hardware.md). ## Special requirements ### Sliding Tile Attention - Full STA pipeline usage is on the archived branch: https://github.com/hao-ai-lab/FastVideo/tree/sta_do_not_delete - STA currently requires Hopper GPUs (H100s). ### Matrix Game 2.0 - Image-to-video game world models with keyboard/mouse control input - Three variants available: Base (universal), GTA, and TempleRun - Each variant has different keyboard dimensions for control inputs