Within the bounded Wan+LTX-2 scope: - Wan2.2-A14B MoE now GENERATES on a single 80GB GPU via CPU offload (TorchWanDiT offload_group): the two 14B experts live on CPU and only the active one is swapped onto the GPU at the boundary- timestep transition (a single swap, not per-step). GPU-verified: 60GB peak (vs 79GB OOM), produced wan22_a14b_lion.mp4 (17x480x832, std 54.7, motion 8.36). Single-expert Wan stays resident. - LTX-2 base (single-stage) port: build_ltx2_base_card + build_ltx2_base_program reuse the LTX-2 adapters at FULL latent res with a request-driven many-step flow-match (LTX2DenoiseLoop full_res/ request_steps/base_flow_sigmas; distilled base/refine path preserved via False defaults). The SAME single-stage card serves LTX-2.3-Distilled (also single-stage: no spatial_upsampler) — dispatched by the new has_spatial_upsampler discriminator in _select_builders. v2_basic_ltx2.py added; VideoGenerator gains shutdown() for API parity. - Fixes: from_config 'os' scoping (shadowed module import); LTX-2 upsampler per_channel_statistics source (the AE's .decoder, not the top-level module). Verification status: A14B offload, the upsampler, and the arch-dispatch refactor were GPU-verified earlier this session. LTX-2 base/2.3 are CPU-verified (cards/programs build, dispatch routes, schedule correct); their GPU smoke tests were pending when the box was rescheduled aarch64->x86 mid-session, which broke the aarch64 venv (numpy/torch unrunnable on x86) — GPU re-verify blocked on the env.
Basic Video Generation Tutorial
The VideoGenerator class provides the primary Python interface for doing offline video generation, which is interacting with a diffusion pipeline without using a separate inference api server.
Requirements
- At least a single NVIDIA GPU with CUDA 12.4.
- Python 3.10-3.12
Installation
If you have not installed FastVideo, please following these instructions first.
Usage
The first script in this example shows the most basic usage of FastVideo. If you are new to Python and FastVideo, you should start here.
# if you have not cloned the directory:
git clone https://github.com/hao-ai-lab/FastVideo.git && cd FastVideo
python examples/inference/basic/basic.py
For an example on Apple silicon:
python examples/inference/basic/basic_mps.py
For an example running DMD+VSA inference:
python examples/inference/basic/basic_dmd.py
For the typed config/request path added during the inference API refactor:
python examples/inference/basic/basic_dmd_new_api.py
Basic Walkthrough
All you need to generate videos using multi-gpus from state-of-the-art diffusion pipelines is the following few lines!
from fastvideo import VideoGenerator
def main():
generator = VideoGenerator.from_pretrained(
"Wan-AI/Wan2.1-T2V-1.3B-Diffusers",
num_gpus=1,
)
prompt = ("A curious raccoon peers through a vibrant field of yellow sunflowers, its eyes "
"wide with interest. The playful yet serene atmosphere is complemented by soft "
"natural light filtering through the petals. Mid-shot, warm and cheerful tones.")
video = generator.generate_video(prompt)
if __name__ == "__main__":
main()