

FLUX.2 Klein 9B 工作流:本地部署与 ComfyUI 完整教程
在 ComfyUI 本地运行 FLUX.2 Klein 9B:需要下载哪些模型文件、显存要求多少、4 步蒸馏参数怎么设,文生图与图像编辑两套工作流的节点搭法,常见报错与低显存优化方法,以及什么情况下改用托管的 FLUX.2 更合适。
结论先说:本地运行 FLUX.2 Klein 9B 最快的方式是 ComfyUI,只需要三个文件:Black Forest Labs 发布的 FP8 扩散模型、Qwen3 8B 文本编码器和 FLUX.2 VAE。 追求速度就用蒸馏版,4 步、CFG 1.0;想要更多样的结果或打算训练 LoRA,就用 Base 版,20 到 50 步、CFG 约 4 到 5。9B 权重采用 FLUX Non-Commercial License(非商业许可),如果要把模型本身放进付费产品,务必先看清许可条款。
如果你不想自己管理 GPU、驱动和模型文件,APIMart 上托管的 FLUX.2 Pro、Flex 和 Max 可以通过一个 API 完成同样的文生图和参考图编辑任务。需要说明的是,APIMart 并不提供 Klein;本文讲的是在你自己的机器上运行 Klein,并说明在哪些场景下托管的 FLUX.2 更省事。
核心要点
- FLUX.2 Klein 由 Black Forest Labs 于 2026 年 1 月 15 日发布,分 4B 和 9B 两种规模,每种都有 4 步蒸馏版和未蒸馏的 Base 版(BFL 官方公告)。
- 根据 Hugging Face 模型卡,Klein 9B 由 9B 流模型和 8B Qwen3 文本编码器组成,全精度运行约需 29GB 显存。
- 蒸馏版 9B 用 4 步、guidance 1.0;Base 9B 模型卡示例用 50 步、guidance 4.0,ComfyUI 的 9B 文生图模板用 20 步、CFG 5。
- 两个 9B 版本都采用 FLUX Non-Commercial License,两个 4B 版本则是 Apache 2.0。
- 按 BFL 针对 RTX 显卡给出的数据,FP8 权重最多可减少 40% 显存占用,NVFP4 最多可减少 55%。
- 同一个 Klein 模型就能完成文生图、单参考图编辑和多参考图编辑;在 ComfyUI 中,编辑工作流只是在同一张图里加上
ReferenceLatent节点。
FLUX.2 Klein 速览
| Klein 9B(蒸馏版) | Klein Base 9B | Klein 4B(蒸馏版) | Klein Base 4B | |
|---|---|---|---|---|
| 开发方 | Black Forest Labs | Black Forest Labs | Black Forest Labs | Black Forest Labs |
| 发布日期 | 2026 年 1 月 15 日 | 2026 年 1 月 15 日 | 2026 年 1 月 15 日 | 2026 年 1 月 15 日 |
| 采样步数 | 4 | 20 到 50(未蒸馏) | 4 | 多于 4(未蒸馏) |
| Guidance / CFG | 1.0 | 4.0(模型卡示例) | 1.0 | 官方未确认 |
| 文本编码器 | Qwen3 8B | Qwen3 8B | Qwen3 4B(ComfyUI 文件) | Qwen3 4B(ComfyUI 文件) |
| 显存(全精度) | 约 29GB | 约 29GB | 约 13GB | 约 13GB |
| 许可证 | FLUX Non-Commercial | FLUX Non-Commercial | Apache 2.0 | Apache 2.0 |
| 适合场景 | 本地快速生成与编辑 | 微调、LoRA、研究 | 消费级显卡、边缘设备 | 在较小显卡上微调 |
| 支持任务 | 文生图、单 / 多参考图编辑 | 同左 | 同左 | 同左 |
来源:BFL 官方公告、Klein 9B 模型卡、Klein Base 9B 模型卡、Klein 4B 模型卡 以及 ComfyUI Klein 教程。
该下载哪个 Klein 版本?
蒸馏版还是 Base 版
蒸馏版经过步数蒸馏,只需 4 步采样,这正是 Klein 快的原因:BFL 称该系列在新硬件上生成或编辑一张图不到 0.5 秒;ComfyUI 团队实测 4B 蒸馏版在 RTX 5090 上端到端约 1.2 秒。
Base 版没有蒸馏,需要多得多的步数,但 BFL 表示它的输出多样性更高,微调和 LoRA 训练也应该用它。Base 9B 模型卡的原话是:适合"微调、LoRA 训练、研究,以及控制比速度更重要的自定义流程"。
4B 还是 9B
9B 是 Klein 系列的旗舰,BFL 称其效果可达到甚至超过体量 5 倍于它的模型。4B 则是门槛最低的选择:约 13GB 显存即可运行,BFL 对应的是 RTX 3090 / 4070 及以上。如果你的显卡显存不足 24GB,建议先跑 4B 工作流,或者使用 FP8 版 9B 权重并配合下文的低显存技巧。
许可证:能做什么、不能做什么
这是大多数本地部署教程会略过的部分。Klein 4B 和 Base 4B 采用 Apache 2.0,可以商用。Klein 9B 和 Base 9B 采用 FLUX Non-Commercial License。按照该许可,模型及其衍生品只能用于非商业目的,并且明确排除了把模型用于商业或生产用途。同一份许可也写明:BFL 不主张对输出内容的所有权,你可以把输出用于任何目的(包括商业用途),但许可另有禁止的情形除外,例如用输出去训练与 FLUX 竞争的模型。
实际来说:用 9B 做实验、研究和个人项目没有问题;如果要把 9B 跑在付费产品或生产流水线里,需要向 BFL 申请商业许可(bfl.ai/licensing),或者改用 Apache 许可的 4B,或改用托管的 FLUX.2。以上不构成法律意见,请自行阅读许可原文。
| 使用场景 | 建议方案 |
|---|---|
| 学习、研究、个人创作 | 本地运行 Klein 9B 或 Base 9B |
| 商业产品,自行部署 | Klein 4B(Apache 2.0),或为 9B 申请 BFL 商业许可 |
| 商业产品,不想管 GPU | 通过 API 调用托管的 FLUX.2 Pro 或 Flex |
| LoRA 训练 | Klein Base 9B 或 Base 4B |
准备工作:硬件、软件与下载权限
显卡与显存
| 配置 | 预期 |
|---|---|
| 9B,BF16 | 模型卡标注约 29GB 显存;RTX 4090 及以上并开启卸载 |
| 9B,FP8 | BFL 称比 BF16 最多少 40% 显存;9B 的具体数值官方未确认 |
| 9B,NVFP4 | BFL 称最多少 55% 显存;需要较新的 NVIDIA RTX 显卡 |
| 4B 蒸馏版,ComfyUI 中 FP8 | ComfyUI 在 RTX 5090 上实测 8.4GB 显存 |
| 4B Base 版,ComfyUI 中 FP8 | ComfyUI 在 RTX 5090 上实测 9.2GB 显存 |
BFL 还给出了速度数据:在 RTX 5080 / 5090、1024x1024 分辨率下,FP8 最多快 1.6 倍,NVFP4 最多快 2.7 倍。
ComfyUI 版本
Klein 用到了 Flux2Scheduler、EmptyFlux2LatentImage 等较新的 FLUX.2 节点。ComfyUI 文档指出,如果找不到 Klein 模板或节点加载失败,说明安装版本过旧,建议换成最新的 Nightly 版本。Desktop 版的更新可能落后于主线版本,所以排查任何问题之前先更新。
Hugging Face 访问权限
9B 仓库是受限(gated)仓库。登录 Hugging Face,打开 Klein 9B FP8 仓库,同意许可证和可接受使用政策,然后创建一个 read 权限的 Token 用于命令行下载。
第 1 步:下载模型文件
ComfyUI 教程为 9B 工作流列出了以下文件:
| 文件 | 来源 | ComfyUI 目录 |
|---|---|---|
flux-2-klein-9b-fp8.safetensors(蒸馏版) | black-forest-labs/FLUX.2-klein-9b-fp8 | models/diffusion_models/ |
flux-2-klein-base-9b-fp8.safetensors(Base 版) | black-forest-labs/FLUX.2-klein-base-9b-fp8 | models/diffusion_models/ |
qwen_3_8b_fp8mixed.safetensors | Comfy-Org/flux2-klein-9B | models/text_encoders/ |
flux2-vae.safetensors | Comfy-Org/flux2-dev | models/vae/ |
刚开始只需要一个扩散模型:要速度就选蒸馏版,打算训练 LoRA 就选 Base 版。
export HF_TOKEN=hf_xxx
curl -L -H "Authorization: Bearer $HF_TOKEN" \
-o ComfyUI/models/diffusion_models/flux-2-klein-9b-fp8.safetensors \
https://huggingface.co/black-forest-labs/FLUX.2-klein-9b-fp8/resolve/main/flux-2-klein-9b-fp8.safetensors
curl -L -o ComfyUI/models/text_encoders/qwen_3_8b_fp8mixed.safetensors \
https://huggingface.co/Comfy-Org/flux2-klein-9B/resolve/main/split_files/text_encoders/qwen_3_8b_fp8mixed.safetensors
curl -L -o ComfyUI/models/vae/flux2-vae.safetensors \
https://huggingface.co/Comfy-Org/flux2-dev/resolve/main/split_files/vae/flux2-vae.safetensors
下载完成后,目录结构应该是这样:
ComfyUI/
└── models/
├── diffusion_models/
│ └── flux-2-klein-9b-fp8.safetensors
├── text_encoders/
│ └── qwen_3_8b_fp8mixed.safetensors
└── vae/
└── flux2-vae.safetensors
不要混用不同规模的编码器:4B 工作流用 qwen_3_4b.safetensors,9B 工作流用 Qwen3 8B 编码器。
第 2 步:搭建文生图工作流
最简单的做法是直接用内置模板。在 ComfyUI 中打开模板浏览器,加载 Flux.2 Klein 9B Text to Image(image_flux2_text_to_image_9b)。模板 JSON 公开在 Comfy-Org workflow_templates 仓库,运行前可以先看一遍。
工作流中的节点
| 节点 | 作用 | 关键设置 |
|---|---|---|
UNETLoader(Load Diffusion Model) | 加载 Klein 主模型 | flux-2-klein-9b-fp8.safetensors |
CLIPLoader | 加载 Qwen3 编码器 | type 设为 flux2 |
VAELoader | 加载 FLUX.2 VAE | flux2-vae.safetensors |
CLIPTextEncode | 编码正向提示词 | 你的提示词 |
EmptyFlux2LatentImage | 创建空白潜空间图像 | 宽高,例如 1024x1024 |
Flux2Scheduler | 生成 sigma 调度 | 步数、宽、高 |
CFGGuider | 施加引导 | CFG 值 |
KSamplerSelect | 选择采样器 | euler |
RandomNoise | 设置随机种子 | 固定种子以便复现 |
SamplerCustomAdvanced | 执行采样循环 | 仅连接输入 |
VAEDecode → SaveImage | 解码并保存 | 文件名前缀 |
官方 9B 模板默认加载的是 Base 版,20 步、CFG 5。如果把 UNETLoader 换成蒸馏版文件,记得把 Flux2Scheduler 改成 4 步、CFGGuider 改成 1.0,这与蒸馏版模型卡以及 ComfyUI 的蒸馏版编辑模板一致。蒸馏版沿用 Base 的参数不仅浪费时间,还可能让画面过曝、过度锐化。
推荐参数
| 参数 | 蒸馏版 9B | Base 9B |
|---|---|---|
| 步数 | 4 | 20(ComfyUI 模板)到 50(模型卡示例) |
| CFG / guidance | 1.0 | 4.0 到 5.0 |
| 采样器 | euler | euler |
| 分辨率 | 先从 1024x1024 开始 | 先从 1024x1024 开始 |
| 种子 | 调提示词时固定 | 调提示词时固定 |
Flux2Scheduler 的宽高要和潜空间尺寸保持一致。官方模板让两者引用同一组宽高数值,自己搭图或改成非正方形尺寸时也照这个方式连线。
用一条提示词测试流程
Klein 对自然语言描述理解得很好,提示词建议写成完整句子,交代主体、场景、光线以及需要渲染的文字:
A vintage motorcycle parked outside a 1950s roadside diner at dusk, neon sign reading "OPEN LATE", wet asphalt reflecting pink and teal light, 35mm photo, shallow depth of field
如果几秒钟内出图、招牌文字清晰可读,说明安装没问题。更多适用于 FLUX 系列的提示词结构,可以参考我们的 FLUX 3 提示词指南。
第 3 步:搭建图像编辑工作流
Klein 用同一个模型做编辑,不需要额外下载 Kontext 那样的专用编辑模型。ComfyUI 提供了两个 9B 编辑模板:image_flux2_klein_image_edit_9b_distilled 和 image_flux2_klein_image_edit_9b_base。
编辑工作流多了哪些节点
| 新增节点 | 作用 |
|---|---|
LoadImage | 加载原图或参考图 |
ImageScaleToTotalPixels | 把图片缩放到约 100 万像素 |
GetImageSize | 把缩放后的尺寸传给潜空间和调度器 |
VAEEncode | 把参考图编码为潜空间表示 |
ReferenceLatent | 把参考图的潜空间表示挂到条件上 |
ConditioningZeroOut | 生成置零的负向条件 |
参考潜空间会同时挂到正向提示词和置零的负向条件上,两路再一起送入 CFGGuider。由于 GetImageSize 同时驱动 EmptyFlux2LatentImage 和 Flux2Scheduler,输出图会保持第一张参考图的宽高比。
单参考图编辑
加载一张图,只描述要改的地方,不必重写整个画面。蒸馏版编辑模板用 4 步、CFG 1,自己做编辑时也从这组参数开始。
Change the jacket to deep red leather, keep the face, pose, background and lighting unchanged
多参考图编辑
两张及以上参考图时,模板会为每张图在正向和负向两路各串一个 ReferenceLatent。在提示词里按顺序指代图片:
Place the white handbag from image 2 on the woman's shoulder in image 1, match the soft window light of image 1
BFL 文档显示,通过其 API 调用 Klein 时最多支持 4 张参考图(FLUX.2 概览);本地工作流里参考图越多,占用显存越大、速度也越慢。
常见报错与低显存优化
常见报错与解决方法
| 现象 | 可能原因 | 解决方法 |
|---|---|---|
| 找不到模板,或出现红色 "missing node" 框 | ComfyUI 版本太旧,不支持 FLUX.2 节点 | 更新 ComfyUI,必要时换 Nightly 版 |
| 下载 9B 文件时报 401 或 403 | 受限仓库,未同意许可或没带 Token | 在 Hugging Face 上同意许可并传入 read Token |
| 加载文本编码器时出现 shape / size 不匹配 | 9B 模型配了 4B 编码器,或 CLIP type 选错 | 使用 Qwen3 8B 编码器,并把 CLIPLoader type 设为 flux2 |
| CUDA out of memory | 使用 BF16 权重或分辨率过高 | 改用 FP8 权重,从 1024x1024 开始,关闭其他占用显卡的程序 |
| 蒸馏版出图模糊或过曝 | 沿用了 Base 参数(20 步以上、CFG 4 到 5) | 改为 4 步、CFG 1.0 |
| Base 版出图满是噪点、没画完 | 步数太少 | 使用 20 到 50 步 |
| 编辑结果无视参考图 | ReferenceLatent 没接到条件上 | 正向和负向两路都要接上 |
低显存检查清单
- 优先使用 FP8 权重,BFL 称最多可省 40% 显存;在支持的 RTX 显卡上 NVFP4 还能更省。
- 文本编码器用
fp8mixed版本,而不是全精度版本。 - 用
--lowvram启动 ComfyUI,显存不足时会把部分模型卸载到内存。 - 先在 1024x1024 或更低分辨率生成,再放大,不要直接用超大尺寸采样。
- batch size 保持为 1,编辑工作流里尽量少用参考图。
- 如果 9B 还是跑不动,ComfyUI 实测 4B 蒸馏版只需 8.4GB。
python main.py --lowvram
改用 Diffusers 运行 Klein 9B
如果你更习惯写 Python 而不是连节点,模型卡给出了 Diffusers 示例,需要安装 Diffusers 开发版:
pip install git+https://github.com/huggingface/diffusers.git
import torch
from diffusers import Flux2KleinPipeline
pipe = Flux2KleinPipeline.from_pretrained(
"black-forest-labs/FLUX.2-klein-9B", torch_dtype=torch.bfloat16
)
pipe.enable_model_cpu_offload() # offloads idle parts to CPU to save VRAM
image = pipe(
prompt="A cat holding a sign that says hello world",
height=1024,
width=1024,
guidance_scale=1.0,
num_inference_steps=4,
generator=torch.Generator("cuda").manual_seed(0),
).images[0]
image.save("flux-klein.png")
运行 Base 9B 时,把仓库换成 black-forest-labs/FLUX.2-klein-base-9B,并按该模型卡示例使用 guidance_scale=4.0 和 num_inference_steps=50。
什么时候改用托管的 FLUX.2 Pro 或 Flex
本地 Klein 非常适合快速迭代、私有实验和 LoRA 训练。但如果你需要 9B 的商用权利、稳定的可用性,或者一张显卡扛不住的吞吐量,本地部署就没那么方便了。
本地 Klein 9B 与托管 FLUX.2 对比
| 需求 | 本地 Klein 9B | APIMart 托管 FLUX.2 |
|---|---|---|
| 硬件 | 自己的显卡,BF16 约 29GB | 无需 |
| 模型的商业使用 | 需要 BFL 商业许可 | 遵循 API 服务条款,而非开放权重许可 |
| 部署 | ComfyUI、模型文件、版本更新 | 一个 API Key |
| 参考图 | BFL 标注 Klein 最多 4 张 | 每次请求最多 8 张 |
| 步数与引导控制 | 完全可控 | 仅 Flex(steps 1 到 50,guidance 1.5 到 10) |
| 输出尺寸 | 取决于显卡 | 最高 4MP |
| 自定义 LoRA | 支持(用 Base 版) | 不支持 |
| 成本模式 | 硬件与电费 | 按张计费,当前价格见模型页 |
如何选择托管模型
APIMart 在 /v1/images/generations 接口上提供三个 FLUX.2 模型 ID:flux-2-pro 适合日常生产,速度与质量平衡;flux-2-flex 可以调节步数和引导强度,适合文字排版较多的海报等场景;flux-2-max 质量最高,但速度较慢。价格取决于输出分辨率档位和参考图数量,做预算前请查看 FLUX.2 模型页。
curl --request POST \
--url https://api.apimart.ai/v1/images/generations \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '{
"model": "flux-2-flex",
"prompt": "Minimal poster with the headline SUMMER SALE and a small line reading 50% OFF",
"resolution": "2K",
"size": "3:4",
"steps": 50,
"guidance": 6.5
}'
该接口是异步的,返回 data[0].task_id。轮询 GET https://api.apimart.ai/v1/tasks/{task_id},直到 status 变为 completed,再从 result.images 读取图片 URL。需要参考图编辑时,在 image_urls 中传入最多 8 个公网可访问的 URL。关于带重试和存储的生产级做法,可以看我们的 FLUX 开发者图像工作流指南;想了解另一款快速开源模型在速度和显存上的对比,可以读 Z-Image Turbo vs Flux。
实用的混合方案
很多团队先在本地 Klein 上打磨提示词和 LoRA,再把最终交付或面向客户的图片交给托管的 FLUX.2 生成。用平实的描述性句子写成的提示词在两者之间基本可以直接复用,很少需要重写。
常见问题
FLUX.2 Klein 9B 和 Klein Base 9B 有什么区别?
Klein 9B 经过步数蒸馏,4 步、guidance 1.0 即可出图,速度快到接近实时生成。Klein Base 9B 是未蒸馏的基础模型,需要 20 到 50 步,但输出多样性更高,也是微调和 LoRA 训练的推荐起点。
FLUX.2 Klein 9B 可以商用吗?
在没有单独协议的情况下,模型本身不能商用。两个 9B 版本都采用 FLUX Non-Commercial License,只允许非商业用途;BFL 在 bfl.ai/licensing 提供商业许可。许可中写明输出内容可用于包括商业在内的任何目的,但有一些例外,请完整阅读原文。如果需要能自行部署的商用方案,Klein 4B 是 Apache 2.0。
FLUX.2 Klein 9B 需要多少显存?
模型卡标注全精度约 29GB,也就是 RTX 4090 或更高、并开启 CPU 卸载。BFL 称 FP8 权重最多可减少 40% 显存,NVFP4 最多减少 55%;9B FP8 的确切显存数值官方未确认。显存 16GB 及以下的显卡,选 4B 更稳妥。
在 ComfyUI 中步数和 CFG 应该怎么设?
蒸馏版 9B 用 4 步、CFG 1.0,采样器选 euler。Base 9B 的 ComfyUI 模板用 20 步、CFG 5,Hugging Face 示例用 50 步、guidance 4.0。两者都建议从 1024x1024 开始。
Klein 做图像编辑需要另外下载模型吗?
不需要。一个 Klein 模型就能完成文生图、单参考图编辑和多参考图编辑。在 ComfyUI 中,只需在文生图工作流上加 LoadImage、VAEEncode 和 ReferenceLatent 节点,或者直接加载官方编辑模板。
APIMart 上有 FLUX.2 Klein 吗?
没有。APIMart 提供的是托管的 FLUX.2 Pro、Flex 和 Max,不包括 Klein。如果你更愿意调用 API 而不想处理开放权重许可、需要最多 8 张参考图,或者手头没有合适的本地显卡,它们是不错的替代方案。
接下来值得关注
Klein 在社区里发展很快,Hugging Face 页面上已经能看到大量 adapter、微调模型和量化版本。接下来可以关注 ComfyUI 模板更新、新的量化权重以及 BFL 的许可调整,它们都会影响你的显卡能跑什么、你的产品能用什么。如果工作负载超出一台机器,或需要明确的商用条款,扩大规模前不妨先用同样的提示词在托管的 FLUX.2 Pro 或 Flex 上测一测。
关于 APIMart 团队
APIMart 团队为使用 AI 构建产品的开发者撰写模型解析、横向对比和价格拆解。APIMart 用一个 API 接入 500+ 对话、图像和视频模型,你可以在上线前把文中提到的模型放在一起对比测试。
去模型市场挑选你想要的模型
在 APIMart 模型市场尝试聊天、图像和视频模型,用统一 API 快速体验模型能力。