# MagiHuman Generation MagiHuman is an advanced, omni-modality model that generates both high-quality video and lip-synced audio from a text prompt. Because MagiHuman is a very large model featuring a powerful DiT MoE backbone and a ~9B parameter T5Gemma text encoder, it natively supports **Tensor Parallelism (TP)** in vLLM-Omni to run efficiently across multi-GPU setups, reducing device memory bottlenecks. ## Setup ### Install MagiCompiler (recommended) MagiHuman relies on [MagiCompiler](https://github.com/SandAI-org/MagiCompiler) for custom-op registration used by the DiT attention kernels. While the pipeline can fall back to stub implementations, installing MagiCompiler is **strongly recommended** for correct behaviour. ```bash # Clone the repo git clone https://github.com/SandAI-org/MagiCompiler.git cd MagiCompiler # System dependencies (optional, for FX graph visualization; Debian/Ubuntu) sudo apt update && sudo apt install -y graphviz # Python dependencies pip install -r requirements.txt # Install MagiCompiler pip install . # end users (recommended) # pip install -e . # developers (editable install) ``` ### Hardware requirements Ensure your hardware has enough VRAM. For a standard node with 80GB GPUs, running with `--tensor-parallel-size 4` is recommended to shard both the MoE weights and the T5Gemma text encoder across 4 GPUs, reducing the per-GPU peak VRAM overhead significantly (by roughly ~13.5GB per GPU compared to single-device inference). Please refer to the [stage configuration documentation](https://docs.vllm.ai/projects/vllm-omni/en/latest/configuration/stage_configs/) for further details on allocating memory. ## Run Examples Get into the example folder: ```bash cd examples/offline_inference/magi_human ``` ### End-to-End Generation (Text to Video+Audio) Generate a video with synchronized speech natively generated by the model. ```bash python end2end.py \ --model /proj-tango-pvc/users/zhipeng.wang/workspace/models/daVinci-MagiHuman \ --prompt "A young woman with long, wavy golden blonde hair..." \ --tensor-parallel-size 4 \ --output output_magihuman.mp4 ``` ## Common Parameters | Parameter | Default | Description | |-----------|---------|-------------| | `--model` | *(Required)* | Local model path or HuggingFace ID | | `--prompt` | *(built-in demo prompt)* | Highly detailed text prompt dictating visual look and dialogue text | | `--tensor-parallel-size` | `4` | Tensor parallelism size (Number of GPUs) | | `--height` | `256` | Initial resolution height | | `--width` | `448` | Initial resolution width | | `--num-inference-steps` | `8` | Denoising steps | | `--seed` | `52` | Random seed | | `--output` | `output_magihuman.mp4` | Output video with audio path | ## Example materials ??? abstract "end2end.py" ``````py --8<-- "examples/offline_inference/magi_human/end2end.py" ``````