本仓库包含我们关于混元图像 2.1 的 PyTorch 模型定义、预训练权重,以及推理/采样代码。更多可视化示例请访问我们的项目主页。
我们提出了混元图像 2.1(HunyuanImage-2.1),这是一个能够生成 2K(2048 × 2048)分辨率图像的高效文本到图像模型。通过利用大规模数据集和涉及多个专家模型的结构化标注,我们显著增强了文本-图像对齐能力。该模型采用高表达性的 VAE,具有(32 × 32)的空间压缩比,大幅降低了计算成本。
我们的架构包含两个阶段:
此外,我们开发了 PromptEnhancer 模块来进一步提升模型性能,并采用 MeanFlow 蒸馏进行高效推理。混元图像 2.1 展现了强大的语义对齐和跨场景泛化能力,提升了文本与图像之间的一致性,增强了对场景细节、人物姿态和表情的控制,并能够生成具有不同描述的多个物体。
结构化标注在短、中、长和超长级别提供分层语义信息,显著增强了模型对复杂语义的响应能力。创新性地引入了 OCR 专家模型和 IP RAG 来解决通用 VLM 标注器在密集文本和世界知识描述方面的不足,而双向验证策略确保了标注的准确性。
核心组件:
两阶段后训练与强化学习:监督微调(SFT)和强化学习(RL)在两个后训练阶段中顺序应用。我们引入了奖励分布对齐算法,创新性地将高质量图像作为选定样本,确保稳定和改进的强化学习结果。
我们提出了一种基于 MeanFlow 的新型蒸馏方法,解决了标准均值流训练固有的不稳定性和低效率的关键挑战。这种方法能够仅用少量采样步骤生成高质量图像。据我们所知,这是 MeanFlow 在工业级模型上的首次成功应用。
为了提升生成图像的质量和细节,我们引入了提示词增强模型。该模型能够自动丰富用户提供的文本提示,添加丰富的描述性细节。
SSAE(结构化语义对齐评估)是一种基于先进多模态大语言模型(MLLMs)的图文对齐智能评测指标。我们在 12 个类别中共提取了 3500 个关键要点,然后利用多模态大语言模型,基于图像的视觉内容,将生成的图像与这些关键要点进行比对,自动完成评估与打分。平均图像准确率(Mean Image Accuracy)表示以图像为单位在所有关键要点上的平均得分,而全局准确率(Global Accuracy) 则直接对所有关键要点的平均得分进行计算。
| 模型 | 开源 | 平均图像准确率 | 全局准确率 | 主体 | 次要主体 | 场景 | 其他 | ||||||||
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 名词 | 关键属性 | 其他属性 | 动作 | 名词 | 属性 | 动作 | 名词 | 属性 | 镜头 | 风格 | 构图 | ||||
| FLUX-dev | ✅ | 0.7122 | 0.6995 | 0.7965 | 0.7824 | 0.5993 | 0.5777 | 0.7950 | 0.6826 | 0.6923 | 0.8453 | 0.8094 | 0.6452 | 0.7096 | 0.6190 |
| Seedream-3.0 | ❌ | 0.8827 | 0.8792 | 0.9490 | 0.9311 | 0.8242 | 0.8177 | 0.9747 | 0.9103 | 0.8400 | 0.9489 | 0.8848 | 0.7582 | 0.8726 | 0.7619 |
| Qwen-Image | ✅ | 0.8854 | 0.8828 | 0.9502 | 0.9231 | 0.8351 | 0.8161 | 0.9938 | 0.9043 | 0.8846 | 0.9613 | 0.8978 | 0.7634 | 0.8548 | 0.8095 |
| GPT-Image | ❌ | 0.8952 | 0.8929 | 0.9448 | 0.9289 | 0.8655 | 0.8445 | 0.9494 | 0.9283 | 0.8800 | 0.9432 | 0.9017 | 0.7253 | 0.8582 | 0.7143 |
| HunyuanImage 2.1 | ✅ | 0.8888 | 0.8832 | 0.9339 | 0.9341 | 0.8363 | 0.8342 | 0.9627 | 0.8870 | 0.9615 | 0.9448 | 0.9254 | 0.7527 | 0.8689 | 0.7619 |
从 SSAE 的评估结果上看,我们的模型在语义对齐上目前达到了开源模型上最优的效果,并且非常接近闭源商业模型 (GPT-Image) 的效果。
硬件和操作系统要求:
注意: 上述内存要求是在启用模型 CPU offloading 的情况下测量的。如果您的 GPU 有足够的显存,可以禁用 CPU offloading 以提高推理速度。
git clone https://github.com/Tencent-Hunyuan/HunyuanImage-2.1.git
cd HunyuanImage-2.1
pip install -r requirements.txt pip install flash-attn==2.7.3 --no-build-isolation
模型的下载与说明请参考这里。
HunyuanImage-2.1 仅支持 2K 分辨率图像生成(如 1:1 时为 2048x2048,16:9 时为 2560x1536 等)。 使用其1K分辨率生成图像可能会带来画质下降与瑕疵。 此外,我们建议使用完整的生成流程以获得更高画质(即启用提示词增强和精修功能)。
import torch
from hyimage.diffusion.pipelines.hunyuanimage_pipeline import HunyuanImagePipeline
# 支持的 model_name:hunyuanimage-v2.1, hunyuanimage-v2.1-distilled
model_name = "hunyuanimage-v2.1"
pipe = HunyuanImagePipeline.from_pretrained(model_name=model_name, torch_dtype='bf16')
pipe = pipe.to("cuda")
prompt = "A cute, cartoon-style anthropomorphic penguin plush toy with fluffy fur, standing in a painting studio, wearing a red knitted scarf and a red beret with the word “Tencent” on it, holding a paintbrush with a focused expression as it paints an oil painting of the Mona Lisa, rendered in a photorealistic photographic style."
image = pipe(
prompt=prompt,
# HunyuanImage-2.1 支持的分辨率与宽高比示例:
# 16:9 -> width=2560, height=1536
# 4:3 -> width=2304, height=1792
# 1:1 -> width=2048, height=2048
# 3:4 -> width=1792, height=2304
# 9:16 -> width=1536, height=2560
# 建议使用上述长宽组合以获得最佳效果。
width=2048,
height=2048,
use_reprompt=True, # 启用提示词增强
use_refiner=True, # 启用精修模型, 以获得更高画质
# 对于蒸馏版模型,建议使用 8 步以加快推理速度;
# 对于非蒸馏版模型,建议使用 50 步以获得更高画质
num_inference_steps=8 if "distilled" in model_name else 50,
guidance_scale=3.5,
shift=5,
seed=649151,
)
image.save("generated_image.png")
如果本项目对你的研究或应用有帮助,请引用:
@misc{HunyuanImage-2.1, title={HunyuanImage 2.1: An Efficient Diffusion Model for High-Resolution (2K) Text-to-Image Generation}, author={Tencent Hunyuan Team}, year={2025}, howpublished={\url{https://github.com/Tencent-Hunyuan/HunyuanImage-2.1}}, }
感谢以下开源项目与社区为开放研究和探索所做的贡献:Qwen、 FLUX、diffusers 与 HuggingFace。