diff --git a/studio/backend/core/inference/diffusion_families.py b/studio/backend/core/inference/diffusion_families.py index 68e7f2f406..25ae53c9f7 100644 --- a/studio/backend/core/inference/diffusion_families.py +++ b/studio/backend/core/inference/diffusion_families.py @@ -339,6 +339,14 @@ _FAMILIES: tuple[DiffusionFamily, ...] = ( # HunyuanImage-3.0, which stays excluded above: 2.1 has a real diffusers pipeline. DiffusionFamily( name = "hunyuanimage-2.1", + # Hosted checkpoints, verified bit-identical to on-the-fly quantize (the family's + # guider pipeline is not run-to-run deterministic, so same-seed LPIPS vs bf16 blends + # trajectory divergence with harness noise; per-case hard checks pass and the drift is + # compositional, reviewed visually). + prequant_repos = ( + ("int8", "unsloth/HunyuanImage-2.1-FP8"), + ("fp8", "unsloth/HunyuanImage-2.1-FP8"), + ), pipeline_class = "HunyuanImagePipeline", transformer_class = "HunyuanImageTransformer2DModel", base_repo = "hunyuanvideo-community/HunyuanImage-2.1-Diffusers", diff --git a/studio/backend/tests/test_diffusion_more_families.py b/studio/backend/tests/test_diffusion_more_families.py index b9515df65d..724cd660d2 100644 --- a/studio/backend/tests/test_diffusion_more_families.py +++ b/studio/backend/tests/test_diffusion_more_families.py @@ -191,6 +191,15 @@ def test_hunyuanimage21_generation_defaults(): ) == (50, 3.25) +def test_hunyuanimage21_prequant_wiring(): + # Hosted int8/fp8 checkpoints, verified bit-identical to on-the-fly quantize. + from core.inference.diffusion_families import family_prequant_repo + + fam = detect_family("hunyuanvideo-community/HunyuanImage-2.1-Diffusers") + for scheme in ("int8", "fp8"): + assert family_prequant_repo(fam, scheme) == "unsloth/HunyuanImage-2.1-FP8" + + def test_hunyuanimage21_bf16_component_table_present(): fam = detect_family("hunyuanvideo-community/HunyuanImage-2.1-Diffusers") sizes = family_bf16_components_gb(fam)