FLUX.3 Klein:最新开源 FLUX 本地跑
FLUX.3 是 Black Forest Labs 的最新一代图像模型。这一代在 ComfyUI 里的分野很清楚:云端托管版只有按张计费的 API Partner Node,本地开源的是 klein(官方写作 FLUX.3 [klein])——权重下载一次,跑在自己的 GPU 上,没有 API key,也没有按张 credits。
klein 把文生图和指令修图装进同一套权重:生成走提示词,修图走「指令 + 参考图」,多张参考图用 <ref_image_0>、<ref_image_1> 这样的标记引用。ComfyUI 从 v0.41.0 起原生支持,还配了四个官方模板。这一页把 FLUX.3 Klein 工作流从下载权重到修图出图完整跑通。
学完你能做什么
- 加载官方模板,跑通 FLUX.3 Klein 文生图:默认 50 步、cfg 3.5 出图
- 用同一套权重做指令修图:换裙子颜色、换耳环,其余画面保持原样
- 用
<ref_image_0>引用参考图、<obj_1>圈定编辑区域,写出精确的修图指令 - 切换 Distilled 蒸馏版:16 步、无引导快速出图
- 分清 base / distilled、int8 / bf16 几种权重文件,不再下错
你现在的困境
- 想试试最新的 FLUX.3,一查云端托管版只有按张付费的 API,本地能跑的只有 klein,中文教程还不好找
- 照 FLUX.1、FLUX.2 的老教程搭工作流:CLIPLoader 没有
flux3类型,参考图节点也对不上,画布一片红 - 想只改照片里的一个物件(换个耳环、改裙子颜色),普通图生图一跑,整张脸都被重画了
什么时候用这一招
当你需要:
- 最新一代开源 FLUX:文生图 + 指令修图共用一套权重
- 一句话精确修图:改颜色、换饰品,其余画面原样保留
- 多参考图合成:多张图各取所长拼进一张输出
- 低步数快速出图:蒸馏版 4–16 步、无引导
而且不想:
- 为 FLUX.3 托管版按张付费开 API
- 在 FLUX.1 Kontext 的单参考图工作流里硬塞多图任务
🎒 开始前的准备
- 跑通了 FLUX.2 工作流:FLUX 家族的 loader 套路先在那一课熟悉
- 会从模板库加载工作流、按
Ctrl+Enter运行(忘了回看第一次生图;模板库的详细用法见模板库教程) - 熟悉模型目录规则:文件放进
models/下对应子目录(回看模型放哪里) - ComfyUI 更新到 0.41.0 以上(FLUX.3 Klein 原生支持随 v0.41.0 发布;写本文时最新版是 v0.44.0,版本变化见更新日志)
- 一个 Hugging Face 账号:权重在 gated 仓库,要先接受 FLUX Kommunity License 才能下载
- 硬盘给五个模型文件留出空间(模板默认 int8 量化版,具体大小以仓库页面为准)
核心思路
先记住 FLUX.3 Klein 的五个关键设计,后面每一步都是在验证它们:
- 一套权重,两种任务。 文生图和指令修图加载同一个 checkpoint,修图时把参考图编码进条件,指令负责描述「改成什么样」。
- 双 checkpoint。 全量版(base)50 步出图;步数蒸馏版(Distilled)为无引导采样设计,4–16 步出图,模板默认 16 步。
- 新编码器,旧 VAE。 文本编码器换成 Qwen3-VL-4B,用
CLIPLoader且 type 选flux3加载;VAE 直接沿用 FLUX.2 的flux2-vae.safetensors。 - 参考图进条件。
Set Reference Multi Latent节点把参考图编码后追加进正、负两个条件,最多可挂 100 张,同时输出一个按参考图尺寸准备的空 latent 当画布。 - 可选提示词上采样器。 Qwen3.5 9B 小模型,模板默认开启,把你的短句先扩写成完整描述再送去采样;不想要就关掉开关。
和前两代对比,节点层面变化最大的是编码器和参考图:
| 部件 | FLUX.1 | FLUX.2 | FLUX.3 Klein |
|---|---|---|---|
| 文本编码器加载 | DualCLIPLoader | CLIPLoader(type flux2) | CLIPLoader(type flux3) |
| 文本编码器 | T5 + CLIP | Mistral | Qwen3-VL-4B |
| VAE | ae.safetensors | FLUX.2 VAE | 沿用 FLUX.2 VAE |
| 参考图 | Kontext 单张 | ReferenceLatent 多张 | Set Reference Multi Latent(最多 100 张)+ <ref_image_N> 提示词标记 |
全量版和蒸馏版怎么选:
| base(全量版) | Distilled(蒸馏版) | |
|---|---|---|
| 文件名(int8) | flux3-image-klein-base-int8-convrot.safetensors | flux3-image-klein-int8-convrot.safetensors |
| 步数 | 50 | 4–16(模板默认 16) |
| cfg | 文生图 3.5 / 修图 1 | 固定 1(不暴露调节) |
| 负向提示词 | 模板暴露,默认留空 | 不暴露,负向条件直接置空 |
| 适合 | 质量优先的正式出图 | 速度优先的日常迭代 |
跟我做
第 1 步:加载 FLUX.3 Klein 工作流模板(先更新 ComfyUI)
为什么:FLUX.3 Klein 的原生支持、Set Reference Multi Latent 和 FLUX.3 Layout Prompt 两个内置节点都是 v0.41.0 进的核心,官方模板也要求 0.41.0 以上,旧版本加载必然红节点。
- 先更新 ComfyUI 到 0.41.0 以上(写本文时最新 v0.44.0)
- 打开模板库(Browse Templates),搜索「FLUX 3 Image Klein」,会看到四个官方模板:
| 模板名(模板库中文名) | 用途 |
|---|---|
| FLUX 3 Image Klein:文生图 | 全量版文生图(本课主跑) |
| FLUX 3 Image Klein Distilled:文生图 | 蒸馏版文生图 |
| FLUX 3 Image Klein:图像编辑 | 全量版指令修图 |
| FLUX 3 Image Klein 蒸馏版:图像编辑 | 蒸馏版指令修图 |
- 先加载「FLUX 3 Image Klein:文生图」
你应该看到:画布上是一个名为 Text to Image (FLUX 3 Image Klein) 的大子图节点,旁边接着 SaveImage 和 ResolutionSelector,没有任何红色节点。
- 模板加载完成,画布无红节点
💡 子图是什么
这个模板把加载器、采样器、画布尺寸都封装进了一个子图(subgraph)节点。双击子图节点就能进去看内部:UNETLoader、两个 CLIPLoader(编码器 + 上采样器)、VAELoader、KSampler 都在里面。日常使用只在外层节点上填参数就行。
第 2 步:接受协议,下载 FLUX.3 Klein 五件套并归位
为什么:权重放在 Hugging Face 的 gated 仓库 black-forest-labs/flux-3-image-klein-comfy 里,不先接受 FLUX Kommunity License 就拿不到文件;模板默认用 int8(convrot)单文件版,是为了把显存占用压小。
- 登录 Hugging Face,打开上面的仓库页,点击接受协议
- 下载这五个文件(模板默认加载的就是它们):
| 文件 | 放进 | 用途 |
|---|---|---|
flux3-image-klein-base-int8-convrot.safetensors | models/diffusion_models/ | 全量版扩散模型 |
flux3-image-klein-int8-convrot.safetensors | models/diffusion_models/ | 蒸馏版扩散模型 |
qwen3vl_4b_int8_convrot.safetensors | models/text_encoders/ | 文本编码器(Qwen3-VL-4B) |
qwen3.5_9b_flux3_prompt_upsampler_w4a8.safetensors | models/text_encoders/ | 提示词上采样器(Qwen3.5 9B) |
flux2-vae.safetensors | models/vae/ | VAE(沿用 FLUX.2) |
📂 ComfyUI/
└── 📂 models/
├── 📂 diffusion_models/
│ ├── flux3-image-klein-base-int8-convrot.safetensors
│ └── flux3-image-klein-int8-convrot.safetensors
├── 📂 text_encoders/
│ ├── qwen3vl_4b_int8_convrot.safetensors
│ └── qwen3.5_9b_flux3_prompt_upsampler_w4a8.safetensors
└── 📂 vae/
└── flux2-vae.safetensors你应该看到:双击子图进去,UNETLoader、两个 CLIPLoader、VAELoader 的下拉列表里都能选中对应文件;缺模型时模板上会标红提示。
- 五个文件都出现在对应目录,loader 里能选中
💡 想省一次下载
先只跑全量版的话,蒸馏版那个文件(第 2 行)可以第 5 步之前再下。但文本编码器、上采样器、VAE 三个文件是四个模板共用的,一次下齐最省事。
第 3 步:跑通 FLUX.3 Klein 文生图(50 步出图)
为什么:先用官方默认参数把整条链路验证通,再谈调参——FLUX.3 的默认值就是官方调好的平衡点。
- 在子图节点的
positive_prompt里填提示词。写短句也行:提示词上采样器默认开启,Qwen3.5 9B 会先把你的短句扩写成完整描述再采样。想完全用自己的原话,把enable_prompt_upsampler开关关掉 ResolutionSelector选画幅,默认 1:1 方形(约 1MP);想自定义尺寸,断开它到子图的连线后直接改子图上的width/height- 确认采样参数是模板默认:
steps50、cfg3.5、euler+simple - 按
Ctrl+Enter运行
你应该看到:进度条走满 50 步,图片由 SaveImage 节点存进 ComfyUI/output/。模板自带的示例提示词生成的是一张白背景上的运动员特写。
output/里出现你的第一张 FLUX.3 图
⚠️ 上采样器开着时,别盯着自己的原话调试
上采样器会先改写、扩充你的提示词,你写的词和实际送去采样的词并不完全一致。排查提示词问题时,先关掉 enable_prompt_upsampler 再对比结果。
第 4 步:跑通 FLUX.3 Klein 指令修图(换裙子颜色)
为什么:klein 的核心设计就是同一套权重做修图——参考图进条件、指令只改目标区域,这是 FLUX.3 编辑和普通图生图的本质区别。
- 从模板库加载「FLUX 3 Image Klein:图像编辑」
- 在
LoadImage节点(节点 54)换成你自己的图。模板示例图是一张蓝色丝绸长裙的女士 portrait(fashion_portrait_blue_silk_gown_vis.png) - 看提示词链:
FLUX.3 Layout Prompt节点里写着In <ref_image_0>, change the dress color <obj_1> to red——<ref_image_0>指Set Reference Multi Latent挂的第 1 张参考图,<obj_1>指Create Bounding Boxes里画的第 1 个框(模板里框住了裙子,描述为 dress) - 这句指令默认会先经过 Qwen3.5 9B 上采样器扩写——修图模板里的上采样器能同时看到参考图,扩写出的描述更贴画面
KSampler参数:50 步、cfg1、euler+simple。注意修图的 cfg 是 1,不是文生图的 3.5- 运行,在
ImageCompare节点里拖动滑块对比前后
你应该看到:只有裙子变成了红色,脸、姿态、背景、构图都保持原样。
ImageCompare前后对比:目标区域变了,其余原样
💡 输出尺寸为什么跟着参考图走
Set Reference Multi Latent 会把每张参考图缩放到约 1MP 再编码,并输出一个按这个尺寸准备的空 latent 给采样器当画布。想自定义输出尺寸,把模板里那个未接线的 Empty Flux 2 Latent 节点(默认 1024×1024)的 LATENT 接到 KSampler 的 latent_image 上。
第 5 步:换 Distilled 蒸馏版,16 步快速出图
为什么:蒸馏版为无引导采样设计,16 步就能出图,日常迭代比全量版的 50 步快得多,是「快速打底 → 满意后再用全量版精修」的正确用法。
- 加载「FLUX 3 Image Klein Distilled:文生图」模板(或直接在全量版里把
UNETLoader换成flux3-image-klein-int8-convrot.safetensors——文件名里没有base的就是蒸馏版) steps保持 16,可在 4–16 之间调- cfg 不用管:蒸馏版固定 1,模板根本没暴露这个参数,拉高也不会变好
- 运行。蒸馏版模板的示例提示词是一段复古酒店霓虹夜景的完整描述,上采样器同样默认开启
你应该看到:16 步完成出图,等待时间比 50 步的全量版明显缩短。
- 蒸馏版 16 步出图成功
蒸馏版修图模板(「FLUX 3 Image Klein 蒸馏版:图像编辑」)只有一条文本提示词,负向条件直接用 ConditioningZeroOut 置空。它的示例是给人物换耳环,提示词值得抄一遍学写法:
In <ref_image_0>, replace the earring <obj_1> with a single large openwork
metal statement earring, one bold curved pendant, intricate hollow metal
cutouts, layered metal wires, polished warm bronze finish, structured
artistic shape, keep it attached to the correct ear position. Match the
character's existing lighting, shadows and skin tone. No pearls, no pearl
beads, no scattered small beads. Keep all other parts of the image
completely unchanged.新耳环的形状、材质、颜色写全,还写明了「不要什么」(No pearls…)和「保持什么」(Keep all other parts…)——这就是官方示范的 FLUX.3 编辑提示词结构。
检查点 ✅
- 文生图模板跑通:50 步、cfg 3.5,图片出现在
ComfyUI/output/ - 修图模板跑通:只有目标区域被修改,
ImageCompare前后对比清晰 - 说得出编码器的变化:FLUX.3 用
CLIPLoader且 type 选flux3,加载 Qwen3-VL-4B - 蒸馏版 16 步出图跑通,且知道 cfg 拉高没有意义
- 五个模型文件都在正确目录里,loader 下拉列表能选中
踩坑提醒
❌ 蒸馏版把 cfg 拉高想提质
蒸馏版为无引导采样设计,cfg 固定 1,模板连参数都不暴露。
正确做法:想要更好的结果,把 steps 在 4–16 之间上调、把提示词写细,显存超过 24GB 时换 bf16 权重(见进阶技巧)。
❌ 修图提示词只写「把耳环换掉」
FLUX.3 编辑期望的是结果的完整描述:新物件长什么样(形状、材质、颜色)、不要出现什么、其余保持什么。只写动作不写结果,模型只能自己脑补新耳环的样子。
正确做法:照官方示例的结构写——描述新物件 + 匹配环境光 + 排除项 + 保持项(见第 5 步的示例提示词)。
❌ 下载错 checkpoint:base 和蒸馏版文件名只差一个词
flux3-image-klein-**base**-int8-convrot.safetensors 是全量版,flux3-image-klein-int8-convrot.safetensors 是蒸馏版。下错了会出现「步数对不上」「蒸馏版跑 50 步白等」这类怪象。
正确做法:认准文件名里的 base;两个都下,按场景换着用。
❌ ComfyUI 版本过旧,模板一片红
Set Reference Multi Latent、FLUX.3 Layout Prompt 都是 v0.41.0 新增的内置节点,旧版本里根本不存在。这不是缺自定义节点,装节点包解决不了。
正确做法:更新 ComfyUI 核心到 0.41.0 以上(0.41.1 起随稳定版分发),再重新加载模板。
进阶技巧(可选)
多参考图合成
Set Reference Multi Latent 的 image 插槽可以继续加(节点支持 1–100 张),每张图按插槽顺序对应提示词里的 <ref_image_0>、<ref_image_1>……官方建议像参考管线那样,把每张参考图同时写进正面和负面提示词。多个 Set Reference Multi Latent 链接使用时,参考图会累积而不是被替换。
边界框区域编辑
Create Bounding Boxes 节点在图上画框、给每个框写一句描述(颜色要写进描述里,调色板不生效),FLUX.3 Layout Prompt 再把框的编号、坐标、描述拼成 FLUX.3 能读懂的布局表附到提示词后面,用 <obj_1>、<obj_2> 引用。文生图模板里 FLUX.3 Layout Prompt 的输出默认只接在 PreviewAny 上预览,没接进子图——想用时把它的 STRING 输出接到子图节点的 prompt 输入即可。
参考图分辨率是一档成本旋钮
Set Reference Multi Latent 默认 resize 到 1MP(约 1024×1024)。megapixels 参数可在 0.01–16.0 之间调:调高保留更多参考图细节,代价是显存和时间。Black Forest Labs 自家管线保留参考图原生尺寸,最高约 16MP。
显存超过 24GB:换 bf16
把扩散模型换成同 checkpoint 的 bf16 版(全量版 flux3-image-klein-base-bf16.safetensors,蒸馏版 flux3-image-klein-bf16.safetensors),提示词上采样器也换成仓库里的 bf16 版。官方说明:bf16 对长提示词的还原更准确。
想要 FLUX.3 托管版
本地开源的只有 klein。托管版走 ComfyUI 的 FLUX 3 Image Partner Node(API 按张计费),适合不想下权重、直接出图的场景。
本课小结
✅ 这一课跑通了 FLUX.3 Klein 工作流的两种玩法:
- ✅ 文生图:官方模板 + 五件套权重,50 步、cfg 3.5 出图
- ✅ 指令修图:
<ref_image_0>引用参考图、<obj_1>圈定区域,50 步、cfg 1,只改目标 - ✅ 蒸馏版:16 步、cfg 1 无引导,快速迭代
- ✅ 认全了五种权重文件和 base / distilled 的区别
关键配置字段回顾:
| 字段 | 推荐值 | 说明 |
|---|---|---|
CLIPLoader type | flux3 | FLUX.3 专用,加载 Qwen3-VL-4B 编码器 |
UNETLoader | flux3-image-klein-base-int8-convrot.safetensors | 全量版;蒸馏版文件名里没有 base |
steps | 50(base)/ 16(distilled) | 蒸馏版可在 4–16 之间调 |
cfg | 3.5(base 文生图)/ 1(其余) | 蒸馏版固定 1,拉高无效 |
| sampler / scheduler | euler / simple | 四个官方模板一致 |
Set Reference Multi Latent | resize / 1 MP | 参考图缩放,输出 latent 跟随这个尺寸 |
enable_prompt_upsampler | 开(默认) | Qwen3.5 9B 扩写短提示词,调试时关掉 |
下一课预告
图像模型到此告一段落,下一课进入视频:Wan2.2 5B:8GB 显存跑文生视频和图生视频。你会学到:
- 用 5B TI2V 单模型在 8GB 显存上跑文生视频
- 让静态照片动起来的图生视频工作流
- Wan2.2 的低显存优化思路
附录:源码参考
点击展开查看源码位置
更新时间:2026-11-05(ComfyUI v0.44.0 / 模板库 v0.11+)
本页参数均核对自上述四个模板 JSON 的实际节点值(KSampler 步数 / cfg、loader 文件名、Set Reference Multi Latent 的 resize / 1MP)与官方教程。