A FastVideo-format port of SII-GAIR + Sand.ai's daVinci-MagiHuman joint
audio-visual generative model. Single repo, four sibling subfolders, one umbrella
HF string per variant, all four bit-exact vs the official reference.
15B-parameter single-stream transformer that jointly denoises video + audio in
a unified token sequence. Generates a 5-second 256p clip with synchronized
audio in ~2 s on a single H100. See the
paper and the
official repo.
Variant matrix
Subfolder
Model
Inference modes
Steps
CFG
Output
DiT files
base/
base 15B
T2V, TI2V
32
CFG=2
480x256 mp4 (video + audio)
7
distill/
DMD-2 distilled 15B
T2V, TI2V
8
no CFG
480x256 mp4 (video + audio)
7
sr_540p/
base + SR 540p
T2V, TI2V
32 + 5
CFG=2 + SR cfg-trick
~896x512 mp4 (video + audio)
20
sr_1080p/
base + SR 1080p (block-sparse local-window attention on 32/40 SR DiT layers)
T2V, TI2V
32 + 5
CFG=2 + SR cfg-trick
~1920x1088 mp4 (video + audio)
15
T2V = text only. TI2V = text + reference image; the image is encoded
through the Wan VAE and stitched into the first video latent frame at every
denoise step (matches upstream evaluate_with_latent per-step overwrite).
All four DiTs share the same architecture (40 layers, hidden=5120, head_dim=128,
GQA num_query_groups=8); only the weights differ. SR-1080p additionally
restricts video→video attention to a local window of frame_receptive_field=11
on 32 of 40 SR DiT layers (matches upstream's SR2_1080 config override).
Quick start
Install FastVideo (commit c05c1048
or later in the will/magi branch contains all four variants):
1from fastvideo import VideoGenerator
23generator = VideoGenerator.from_pretrained(4"FastVideo/MagiHuman-Diffusers/base",5 num_gpus=1,6)7generator.generate_video(8 prompt="A warm afternoon scene: a person sits on a park bench reading a book, "9"surrounded by softly swaying trees.",10 output_path="output.mp4",11 save_video=True,12)13generator.shutdown()
1from fastvideo import VideoGenerator
2from fastvideo.pipelines.basic.magi_human.pipeline_configs import MagiHumanBaseI2VConfig
34generator = VideoGenerator.from_pretrained(5"FastVideo/MagiHuman-Diffusers/base",6 num_gpus=1,7 workload_type="i2v",8 override_pipeline_cls_name="MagiHumanI2VPipeline",9 pipeline_config=MagiHumanBaseI2VConfig(),10)11generator.generate_video(12 prompt="A cheerful saxophonist performs a short line in a small jazz club.",13 image_path="reference.jpg",14 output_path="output.mp4",15 save_video=True,16)17generator.shutdown()
Net effect: a user running all four variants downloads ~50 GB of variant
weights + a single ~25 GB shared cache, totaling ~75 GB instead of ~400 GB if
each variant bundled its own copies.
Block-sparse local-window attention for SR-1080p is implemented as a
3-block accumulator over vanilla SDPA (per-frame video→local-video +
all-video→audio+text + audio+text→all), which mathematically matches
upstream's
magi_attention.api.flex_flash_attn_func
contract for this 3-block layout. Bit-exact verified.
Citation
bibtex
1@article{davinci-magihuman-2026,
2 title = {Speed by Simplicity: A Single-Stream Architecture for Fast
3 Audio-Video Generative Foundation Model},
4 author = {SII-GAIR and Sand.ai},
5 journal= {arXiv preprint arXiv:2603.21986},
6 year = {2026}
7}
89@misc{fastvideo-magihuman-port,
10 title = {{daVinci-MagiHuman} for {FastVideo}},
11 author = {{FastVideo team}},
12 year = {2026},
13 howpublished = {\url{https://huggingface.co/FastVideo/MagiHuman-Diffusers}}
14}