- Drop misleading "T2V" framing — base MagiHuman is a joint audio-visual generator. Rename MagiHumanT2VConfig→MagiHumanBaseConfig, MagiHumanDistillT2VConfig→MagiHumanDistillConfig, presets magi_human_base_t2v→magi_human_base, magi_human_distill_t2v→ magi_human_distill. Update comments / docstrings / example output filename. Keep workload_type="t2v" string (framework enum has no T2AV variant yet — same placeholder Stable Audio uses for T2A). - Pipeline parity test: tighten atol/rtol from 0.5/0.5 to 0.35/0.05. atol absorbs the observed worst-element drift (~0.31 on signal abs_mean ~2.4); the tight rtol still flags gross structural bugs. - Wan VAE parity: import FastVideo's AutoencoderKLWan from fastvideo.models.vaes.wanvae instead of diffusers. The test now actually validates the class MagiHumanBaseConfig.vae_config resolves to in production. - Pipeline parity scheduler init: split per-side so upstream mirrors MagiEvaluator's single-shift pattern (fresh FlowUniPCMultistepScheduler + shift only in set_timesteps) and FastVideo mirrors MagiHumanDenoisingStage's double-shift pattern (constructor + set_timesteps both with shift). Surfaces a real production divergence between FastVideo's magi denoise loop and the official one for N>1 steps.
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()