Kandinsky-2
支持俄语/中文等多语言文本提示的文生图扩散模型,含扩散先验、图像融合、ControlNet 等丰富功能
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
支持俄语/中文等多语言文本提示的文生图扩散模型,含扩散先验、图像融合、ControlNet 等丰富功能
加载项目详情…
本应用为开源项目,仅供学习研究,请遵守其开源协议。
想象一下,你用一句俄语"кот в космосе"(太空中的猫)就能生成一张照片级猫咪图——这就是 Kandinsky 2 带给开源社区的独特体验。这款由俄罗斯 Sberbank 银行 AI 团队打造的文生图模型,最大的亮点不是英文提示词效果有多惊艳,而是它真正理解俄语、中文在内的多语言文本,这是许多主流英文模型做不到的。
2022年底 Kandinsky 2.0 一经发布,就登上了俄语区 AI 社区的热搜。俄罗斯工程师们终于不用再把俄语翻译成蹩脚英语喂给 Stable Diffusion,而是可以直接用自己的母语创作。更重要的是,模型在设计理念上借鉴了 DALL-E 2 的「扩散先验」(Diffusion Prior)架构,开创了一条区别于 Stable Diffusion 的技术路线。

图1:Kandinsky 2.2 架构总览 — 展示了从文本到图像的完整两阶段生成管线。
Kandinsky 2 的核心技术路线,是在 latent diffusion 基础上引入了一个扩散图像先验(Diffusion Image Prior)。原理是:先把文字编码成向量,再用另一个扩散模型把这个文本向量「画」成图像向量(image embedding),最后用 latent diffusion 把这个图像向量还原成真正的像素。
这种两阶段设计有三重优势:第一,文本到图像的映射是可学习的,图像-文本对齐更精准;第二,图像向量空间是连续的,可以在里面对多张图像做数学运算——比如将两张图的向量加权相加再解码,实现「图像融合」(Image Fusion);第三,文本编码器可支持任意语言,天然支持多语言。
Kandinsky 2.1 的具体配置:文本编码器 XLM-Roberta-Large-Vit-L-14 约 560M 参数,扩散先验约 1B,CLIP 图像编码器 ViT-L/14 约 427M,Latent Diffusion U-Net 约 1.22B,MoVQ 编码器/解码器约 67M,整体约 3B 参数。

图2:Kandinsky 2.1 架构详图 — 文本经过 XLM-RoBERTa 编码,通过扩散先验映射到 CLIP 图像嵌入空间,再由 latent diffusion U-Net 在潜空间去噪,最后由 MoVQ 解码为图像。
2023年发布的 Kandinsky 2.2 最核心的变化有两个。
升级为 CLIP-ViT-bigG 图像编码器:从 ViT-L/14 升级到 ViT-bigG-14-laion2B-39B-b160k,参数从 427M 暴增到 1.8B,生成图像的美学质量显著提升。
引入 ControlNet 深度图控制:用户额外提供一张深度图,模型在生成时严格遵循其结构轮廓,适合建筑可视化、产品设计稿渲染等场景。

图3:Kandinsky 2.2 支持的六种生成模式 — text2img、img2img、inpainting、outpainting、图像融合、ControlNet 深度控制。
Kandinsky 2 提供了六种核心生成模式:
text2img(文生图):Kandinsky 2.2 支持最高 1024×768 分辨率,提示词支持俄语和英语混写。
img2img(图生图):给定初始图像和文本提示词,在保留原图构图的基础上重新绘制,适合草图转照片或风格迁移。
inpainting(局部重绘):只重绘遮罩覆盖的区域,其他部分保持不变,常用于修复 AI 生成图像的缺陷。
outpainting(图像扩展):在已有图像外围继续扩展生成新内容,将一幅小画「放大」并保持风格一致性。
图像融合(Image Fusion):这是 Kandinsky 系列的独门绝技。接受多张图像和文本提示词的加权组合——比如 25%「红猫」+25%「爱因斯坦」+25%「太空」+25%「宇航员」,在潜空间混合向量表示生成全新图像。
ControlNet 深度图控制:用户提供深度图,模型严格遵循结构轮廓,边缘精确度高。

图4:示例输出 — 提示词为"爱因斯坦在太空中围绕对数公式图",模型理解了两者关系并生成了创意图像。
Kandinsky 2 未提供 Docker 支持,部署需要手动配置。安装:pip install "git+https://github.com/ai-forever/Kandinsky-2.git"。模型权重托管在 HuggingFace(kandinsky-community/kandinsky-2-2-prior 和 kandinsky-2-2-decoder),首次推理时自动下载,总计约 15GB。
硬件需求:必须使用 NVIDIA GPU。2.1 最低约 8GB 显存(FP16),2.2 建议 10GB+。CPU 推理速度极慢,无实用价值。内存建议 16GB+,硬盘 20GB+。
分辨率选择:512×512 适合快速测试;768×768 是 2.1 推荐分辨率;2.2 最高支持 1024×768。

图5:示例输出 — 提示词为"A teddy bear на красной площади"(红场上的泰迪熊),成功在俄语提示词下生成准确图像。
Kandinsky 2 代码结构清晰,主要模块如下:
kandinsky2/model/ 包含完整 diffusion model 实现(unet.py、gaussian_diffusion.py、respace.py、samplers.py 等);kandinsky2/vqgan/ 实现 MoVQ 编码器和解码器;kandinsky2/text_encoders.py 封装 XLM-RoBERTa 和 CLIP 接口;kandinsky2/prior.py 是扩散先验核心。
notebooks/ 提供 9 个 Jupyter Notebook,涵盖 text2img、img2img、inpainting、图像融合、LoRA 微调、ControlNet 等所有功能的完整示例,非常适合学习。
整个项目没有复杂工程框架依赖,直接通过 Python API 调用,代码可读性良好。训练部分使用 pytorch-lightning。
图像质量与 SDXL 有差距:作为 2022-2023 年模型,Kandinsky 2.2 在写实人像、复杂手部等高难度场景缺陷明显,社区认为它更适合艺术风格和概念性图像。
非英语语言实质价值有限:虽然支持多语言,但俄语以外语种(尤其是中文)质量未经过充分优化,更像是「能跑」而非「理解准确」。
社区活跃度下降:2023 年 2.2 发布后,版本迭代速度放缓,Sberbank 后续主推云端服务 fusionbrain.ai,开源版本维护相对有限。

图6:Inpainting 局部重绘示例 — 使用遮罩重绘图像中的指定区域。
Kandinsky 系列是最早一批在多语言场景下验证 DALL-E 2 架构可行性的开源项目,为后来多语言文生图研究提供了重要参考。
Kandinsky 团队在 2023 年底发布了 Kandinsky 3.0,将 U-Net 骨干扩大 2 倍,文本编码器扩大 10 倍,图像质量有了质的飞跃。但 2.x 代码库至今仍被广泛使用——架构更轻量、对硬件要求更低,适合在消费级显卡上运行。
对于不想自己部署的用户,可通过 HuggingFace Spaces、Replicate API、fusionbrain.ai 等渠道直接体验。
总体而言,Kandinsky 2 是一个技术有创新、功能覆盖全面、代码可读性高的多语言文生图开源工具,特别适合对俄语文生图有需求的用户,或对 DALL-E 2 架构感兴趣的学习者和开发者。