ComfyUI-Element_TileEdit
A node designed specifically for image editing models—supporting tiled refinement, editing, and upscaling—compatible with FLUX.3/FLUX.2 klein, Qwen-Image 2.1 / Edit 2509 / 2511, Krea 2+lora and Moss +lora, while ensuring cross-tile consistency.
Nodes (6)
The one-wire node that stops Krea 2 ignoring your reference
How hard your reference holds on, step by step
One prompt and one latent per tile, then a plain KSampler
Where tiled upscales get their seams, or lose them
Chop one image into tiles that know what they are
Tiled upscaling that actually uses the edit model's reference channel
ComfyUI-Element_TileEdit
<sub> 原名:ComfyUI-Element_TileUpscale </sub>
专为图像编辑模型设计的分块精修 / 编辑 / 放大 ComfyUI 扩展(仅限单图),提供强大的分块控制与局部精修能力。 支持模型:Qwen-Image 2.1 / Edit 2509 / 2511、FLUX.3 / FLUX.2 klein、Krea2 + identity_edit lora、Moss + Moss-Image-Edit lora。
✨ 分块放大:告别传统 img2img 的跨块撕裂。 用分块参考保证跨块一致性。你可以放心将 Denoise 重绘强度拉高至 0.7–1.0,同时完美保持原图的人物身份、结构与纹理细节。支持自定义每采样步的参考强度,精准平衡“修复强度”与“一致性”,这是传统 img2img 分块放大无法做到的。
✨ 分块控制与局部精修:用空间分块替代 Mask。 手动分割模式(by Manual)提供了真正的“分块级语义隔离”与像素级控制力。例如:你可以精准框选“白衬衫”所在的图层,并在对应 Layer 的 Prompt 中仅输入“改成蓝衬衫”。未被框选的背景、头发、桌子等会自动划入 Gap fill(补块) 区域,不接收该指令(或仅接收基础的全局画质增强指令),从而完美保持原状。
操作方式:CTRL + 左键拖动 添加分块。 独立放大:每个手动分割的图层均可单独设置放大尺寸,让核心编辑区域获得更高的分辨率与细节表现。 ⚠️ 使用 Krea2 模型编辑需要搭配 krea2_identity_edit lora。 ⚠️ 使用 Moss 模型编辑需要搭配 Moss-Image-Edit lora。
<img width="2379" height="1093" alt="image" src="https://github.com/user-attachments/assets/1464d90d-e044-4423-9d27-7fa2a581a66e" />
<img width="2290" height="1123" alt="image" src="https://github.com/user-attachments/assets/ebb876d9-3bc6-436e-a87e-938b7dbf350a" />
为什么需要它
编辑模型对整图输入很挑剔:
图太大 —— 多数模型超过 2K、有的超过 1K 就开始打折,甚至无视指令;
目标太小 —— 要精修的区域在整图里占比太小时,直接编辑往往无效或效果不佳;
指令太多 —— 一张图塞不下太多指令,多条指令互相干扰、互相遗忘。
分块之后:每块回到模型舒适的分辨率;小目标独占一块,还能单独设定放大倍数;每条指令只写进自己的图层提示词,未框选的区域自动划入补块、保持原状——用空间隔离替代指令堆叠。
放大:img2img 的死结
传统分块放大(TTP、Ultimate SD Upscale 等)走 img2img 路径,"重绘力度"和"特征保留"共用 denoise 这一个通道:低了模糊塑料感,高了身份漂移,降噪值被锁死在 0.1–0.5。
本扩展把原图作为独立参考信号注入模型——不参与加噪、不随 denoise 衰减,并支持按采样步调度参考强度。denoise 只管重绘力度,可以拉到 0.7–1.0:细节由模型生成,身份与结构由每步可见的参考锚定,清晰度和一致性同时拿到;拼接用羽化权重融合 + 可选的逐块色彩匹配消除接缝。
邻居上下文(仅限一体化节点):已生成的相邻块会以全强度反馈给下一块作为输入上下文,让模型把它当作"要延续的内容",而不是靠重叠区模糊混合去掩盖接缝。(对参考锚定模型而言,邻居上下文主要在 denoise < 1 时软化接缝带的微观纹理;结构与身份的一致性由共享的原图参考承担,这也是 redo_first_tile 对编辑模型几乎无效的原因。)
已知限制与缺点
1. 依赖特定的模型能力,对非图像编辑模型不友好
节点的全部价值建立在模型具备参考潜空间参考能力之上。用 SDXL、普通 Flux t2i、Qwen-Image-2512 这类无参考能力的模型时,它会退化成普通的 tiled img2img——此时它并不比 TTP 等工具更好。
2. 模型识别依赖逆向工程,可能存在 comfyUI 跨版本稳定性
对模型的识别依赖类名子串匹配(
"flux" in type(dm).__name__.lower())、tokenizer 签名反射(inspect.signature)和vars()遍历。这些都不是稳定 API。Krea2 的 in-context 路径是手动重建前向传播,直接调用
dm.blocks、dm.pe_embedder、img_slice等内部结构;Patch 节点还依赖 core 的extra_condsobject-patch 与 DIFFUSION_MODEL wrapper 机制。一旦上游模型实现变动(改名、改签名、改内部布局),节点很可能静默出错或直接崩溃。
3. 性能与显存开销更大(在可接受范围内)
每个 tile 都要独立编码参考 latent;开启 grounding 时,每个 tile 还要重新走一遍 text encoder 的 vision 编码。分块越多,这部分开销线性增长。
Krea2 的 in-context 路径需要跑完整的 DiT 前向,token 序列是
text + source + target三段拼接,注意力成本比原生长。tile 的 token 数增长时,注意力成本按平方增长,因此自动 tile 尺寸被限制在 1024–1536。identity-edit LoRA 的训练分辨率上限约 2MP,tile 请尽量不超过 2MP(1536²≈2.36MP 已越界,1408²≈1.98MP 贴上限)。
4. 不保证对未适配模型的正确性
推荐降噪值与搭配
| 模型 | 推荐降噪值 | 参考注入方式 | 一致性 | 说明 |
|---|---|---|---|---|
| Qwen-Image 2.1 | 1.0 | 参考 latent 精确插在 vision token 位置(image_slots),tile 保持原尺寸不 resize | ★★★★★ | 参考信号最原生,多数情况下可直接拉满。细节完全由模型生成,同时身份 / 结构保持一致 |
| Qwen-Image Edit 2511 | 1.0 | 384×384 vision bucket + reference latent 双通道 | ★★★★ | 同 2509,推荐直接用 1.0 ,缺少细节 |
| Qwen-Image Edit 2509 | 1.0 | 384×384 vision bucket + reference latent 双通道 | ★★★★ | 与 2511 同源,参考通道成熟,可拉满,缺少细节 |
| FLUX.2 klein base | 0.7 – 1.0 | 仅 reference-latent 通道(text encoder 为纯文本,无 vision grounding) | ★★★★ | 缺少 vision 通道, 面部有些油, 偏色, 可使用Smart merge images节点 做色彩或变形校正,搭配防偏移类lora使用时可提升至★★★★☆ |
| Krea2 + krea2_identity_edit | 0.7 – 0.8 | 手动重建 [text|source(frame=1)|target(frame=0)] in-context 前向 | ★★★☆ | 高降噪下色彩一致性最好,但有时会出现脏点,0.7–0.8 是清晰度与稳定的最佳平衡点 |
| FLUX.3 klein turbo | 0.7 – 0.8 | text encoder 仅文本有效,无 vision grounding | ★★★ | 缺少细节、易变形(也可能是comfyUI实现的问题),优点是不容易脏 |
| FLUX.2 klein turbo | 0.7 – 0.8 | 仅 reference-latent 通道(text encoder 为纯文本,无 vision grounding) | ★★★ | 缺少 vision 通道,参考信号弱一档,很容易脏、偏色, 可使用Smart merge images节点 做色彩或变形校正,搭配防偏移类lora使用时可提升至★★★☆ |
| MOSS-Image + Moss-Image-Edit | 0.7 – 1 | 原生 reference_latents 通道,采用 index_timestep_zero_text_start 布局;ComfyUI 自动预计算 ref_kv 加速 | ★★☆ | 新版comfyUI 原生支持 Edit LoRA。借助 1:1 尺寸参考注入。视觉语义补全、全局语境理解以及先验知识方面较弱,结果细节不足,偏模糊。因涉及首步 K/V 预计算,第一步耗时略长。推荐搭配 ComfyUI 最新版本(#17296)。 |
| Qwen-Image-2512/SDXL系列 | 0.2 – 0.5 | 无 | ★ | 非编辑模型无一致性锚定,即使接入ipadapter等方法,效果依然有限 |
CFG 取值应根据使用的模型设置。
编辑模型 denoise 取值范围 0.6–1.0;非编辑模型 denoise 取值不超过 0.5。
模型搭配策略:建议使用 base 或 raw 等非蒸馏模型,搭配 turbo lora(权重约 0.8,根据具体模型自行调整)。这能兼顾基础模型的高质量细节还原与蒸馏模型的生成速度,并能有效规避直接使用纯 turbo 模型放大时容易产生的高频伪影(脏斑)。
参考强度曲线(reference_strength):建议使用“前高后低”的末段放松曲线。例如总步数为 4 步时,可填 1.0, 1.0, 0.9, 0.8。由于 turbo 模型步数极少,每一步的强度对结果影响都很大,建议全程参考强度不要低于 0.7(否则容易导致图像漂移);若实际使用中出现特征漂移,可将曲线直接拉平至全 1.0。
Krea2 模型特调(在一体化节点中使用Krea2 identity-edit 模式时,需打开
reference_mode):建议将 negative_prompt 完全留空。这是因为 krea2 的 identity-edit 在训练时的无条件分布即为“同一张图 + 空文本”,留空能与训练分布完美对齐;且在 cfg=1.0 时,节点也能省去负面提示词的编码时间。
以上测试数量有限,存在片面和主观因素,还是要根据不同情况来调整参数。当然,你也可以通过使用增强lora,或使用微调模型来改善结果,但这不在测试范围内。
全局提示词(非 by manual 模式)
在非手动分块模式下(如一体化节点、by count、by size),本节点会将同一份全局提示词应用于每一个分块的文本编码。由于每个分块仅涵盖原图的一小片局部区域,该区域的具体内容完全由参考图(像素特征)决定,而提示词仅负责指导模型“如何处理”这些内容。
因此,全局提示词必须遵循“对所有分块均普遍适用”的核心原则:
✅ 应该写
- 操作指令 —— 告诉模型这次采样的核心任务(对每个分块都成立):
- sharpen and refine details, preserve identity and structure, clean upscale
- (锐化并精修细节,保持身份与结构,干净地放大)
- 全局风格 / 光照 / 色调 —— 整张图共有的氛围(对每个分块也都成立):
- cool blue ambient lighting, warm orange rim light, cinematic tone, photorealistic
- (冷蓝色环境光,暖橙色轮廓光,电影级色调,照片级写实)
❌ 不应该写
- 具体的物体、人物或场景名词(如 woman at a computer, glasses, monitor, coffee cup)。
- 除非你能确定该提示词描述的物体元素,对画面中的每一个分块都成立。
💡 推荐模板
- sharpen and refine, preserve identity and structure, {全局色调/光照/风格}, {画质词}
📦 安装
方式一:手动安装(Manual Installation)
cd ./ComfyUI/custom_nodes
git clone https://github.com/supElement/ComfyUI-Element_TileEdit.git
方式二:通过 Manager 安装(Install using Manager)
在 ComfyUI Manager 中搜索 ComfyUI-Element_TileEdit,点击 Install。
依赖即 ComfyUI 本体,无额外安装项。
节点一览
| 节点 | 作用 | |---|---| | Element Tiled Upscale | 一体化节点:放大 → 切块 → 逐块参考重绘 → 频率分离融合,一键出图 | | Element Tile Split | 纯几何分块 + 图像源接入,无模型依赖。后端执行时会全量重算几何,前端 UI 只做预览。| | Element Tile Encode | 把每块图像 / 提示词编码成 per-tile 的 LATENT + CONDITIONING,采样交给 ComfyUI 原生 KSampler | | Element Tile Merge | 把逐块解码后的 IMAGE 列表用同一套低频/高频分离 + 羽化权重拼回整图,可选逐块色彩匹配 | | Element Krea2 In-Context Patch | 模型补丁:让 Krea2 以 identity-edit 的 in-context 布局消费挂在 conditioning 上的参考 latent | | Element Strength Schedule | 模型补丁:把逐步 reference_strength 调度挂到模型上,供 ElementTileSplit + 原生 KSampler 工作流使用,KSampler 的 model 输入必须接本节点输出。一体化节点内置同款调度且会忽略上游挂载,单节点工作流直接用其自带参数即可。第 i 个值作用于第 i 个采样步(0 起);少于 steps 重复末值,多于截取;单值 = 恒定。 1.0 = 完全参考;0 = 该步完全无参考;纯 0/1 列表单倍算力,含小数时值≠1 的步双前向。参数设置越低,越会出现漂移,为保证一致性,前几步数值设置要高,建议前几步设置为1,后面几步可根据所使用的模型适当降低,这种设置对修复瑕疵更有利。 对非图像编辑模型,如sdxl、Qwen image 2512等模型无效 |
参数详细说明:中文 | English
常见问题
怎么用?
- workflow文件夹中已提供相关工作流。
怎么手动分割?
- 必须使用 Element Tile Split 节点中的 by manual 模式,在画布上按住 CTRL键 + 鼠标左键,拖动添加分块,可连续添加。
- 每添加一个分块,右侧面板会增加相对应的图层,每个图层可在下方的图层提示词中单独设置提示词。
- 鼠标拖动图层可以调整图层顺序,merge节点在合并时最上方的图层会最后合并,所以多个手动分块重叠时,保证最上方的图层完全可见。
- 独立四角圆角:选中图层后,拖拽四个角上的青色圆点,可独立调整该角的圆角半径。背景补块会自动贴合圆角外轮廓。
- 可以选择不需要的分块按 delete 删除分块(图层),也可以用鼠标点击对应图层上的删除按钮来删除分块。
显存不够?
- 减小 tile_size(分块更多、单块更小)。Edit 2509/2511 可额外降低 grounding_px;Qwen 2.1 的 grounding_px 不参与计算,只能减小 tile_size。
SDXL 等普通模型能用吗?
- 能。节点会自动退化为普通分块 img2img,参考 latent 被模型忽略,用 denoise 控制细节强度(0.2 – 0.5 起试)。
Krea 2 用单节点时要不要接 Patch 节点?
reference_mode开着就不需要(内部自建同款机制,接了也会被自动忽略);关着(conditioning 路径)必须接,否则参考被 core 静默丢弃。详见上文 Patch 节点说明。