2026年6月4日,ComfyUI 发布了 v0.24.0 最新版本。从这次发布说明和代码变更来看,v0.24.0 是一次非常典型的“稳定性修复 + 新模型接入 + 推理链路优化”更新:一方面,多个模型相关的 cast、dtype、推理精度与显存使用问题被集中修复;另一方面,Ideogram 4 支持正式进入核心代码,PiD 也新增了对 SDXL 和 QwenImage 的支持;同时,多 GPU 场景下手动终止冻结的问题被修正,工作流模板也更新到了新版本。
值得注意的是,这还是一个不可变发布版本,说明其发布包本身固定,只有发布标题和说明可以修改。这种发布方式通常意味着版本内容已经明确冻结,用户在升级时可以更聚焦于发布说明和实际变更点。
如果你正在关注 ComfyUI 核心更新,尤其是模型兼容性、推理稳定性、显存控制以及新模型生态接入,那么 v0.24.0 这次更新非常值得仔细看。下面就根据本次发布说明与给出的代码改动,做一篇完整、详细、可直接用于技术传播的深度解读。
一、版本基础信息
版本号:v0.24.0
发布时间:2026年6月4日
发布类型:Latest
版本特征:不可变发布,仅允许修改发布标题和发布说明
从版本定位来看,v0.24.0 并不是简单的小修小补,而是一次包含 16 次提交、60 个文件变更、1060 行新增、262 行删除、10 位贡献者参与的中等规模更新。这意味着它既有功能补充,也有内部结构调整,还有一定程度的底层推理逻辑修正。
二、本次更新到底改了什么
根据发布说明,本次更新主要包含以下内容:
- 修复 birefnet 和 dino3 模型中的部分 cast 与 dtype 问题
- 修复 triposplat 预览与旧 offloading 模式相关问题
- 将 tripo dinov3 推理切换为 fp32
- 修复 Math Expression 节点在大整数结果下未捕获的 OverflowError
- 恢复 partner nodes 分类
- Radiance 支持带非零 txt_ids 的变体
- 修复 MultiGPU CFG Split 场景下手动中止导致冻结的问题
- PiD 新增 SDXL 和 QwenImage
- 移除旧的无用 no comfy kitchen 回退逻辑
- comfy-aimdo 更新到 0.4.8
- Partner Nodes 新增 Ideogram V4 节点
- 核心新增 Ideogram4 模型支持
- 将 DualModelGuider 标记为 experimental
- 工作流模板更新到 v0.9.94
- 非动态显存模式下,增加 ideogram 4 的显存使用因子
- 发布 ComfyUI v0.24.0 版本提交
如果只看这一串更新项,很多人会觉得信息碎片化。但如果结合具体代码变更来看,其实可以归纳为四条主线:
第一条主线,是模型精度与类型转换稳定性修复,核心集中在 BiRefNet 与 DINOv3。
第二条主线,是新模型生态扩展,尤其是 Ideogram 4 进入核心支持。
第三条主线,是推理和运行时稳定性增强,包括 MultiGPU 手动终止冻结、Math Expression 大整数溢出、旧回退逻辑清理等。
第四条主线,是周边能力补齐,包括 PiD 扩展、Partner Nodes 分类调整、工作流模板更新和显存参数适配。
三、提交与改动规模解读
本次版本对比信息显示:
16 次提交
60 个文件发生变化
10 位贡献者参与
总代码变更为 1060 行新增、262 行删除
从这个规模可以看出,v0.24.0 不是单点补丁,而是一次面向多个模块同步推进的综合更新。尤其是新增了一个接近 300 行的 Ideogram4 核心模型文件,这意味着它不是简单接个壳,而是已经进入到 ComfyUI 模型基座的正式实现层。
从提交时间看,这些改动主要集中在 6 月 2 日、6 月 3 日和 6 月 4 日三天内完成,说明这是一次连续推进、密集合并的版本迭代。
四、源码层面的重点变化详解
接下来,重点结合给出的代码 diff 来看本次版本真正“值钱”的地方。
一是 BiRefNet 的 cast 与 dtype 修复
变更文件:comfy/background_removal/birefnet.py
在 forward 中,relative_position_bias 的处理逻辑发生了一处关键修改。原来是:
relative_position_bias = relative_position_bias.permute(2, 0, 1).contiguous()
更新后变成:
relative_position_bias = comfy.ops.cast_to_input(relative_position_bias.permute(2, 0, 1).contiguous(), attn)
这说明什么?
它说明这里不再只是简单调整张量维度和内存连续性,而是显式将 relative_position_bias 的数据类型与 attn 输入对齐。也就是说,更新后的逻辑更加重视实际参与计算的输入 dtype,而不是默认沿用原张量状态。
这类修复在混合精度、半精度、不同设备推理中非常重要。因为 attention 路径里如果 bias 张量和主张量 dtype 不一致,轻则触发隐式转换,影响性能;重则造成数值不稳定,甚至在某些设备和算子路径上直接报错。
因此,这一处改动虽然只有一行,但本质是一次针对 BiRefNet 推理稳定性的精度一致性修复,对背景移除这类对边缘细节敏感的任务来说非常关键。
二是 CLIP Vision 中移除了 DINOv3 的 fp16 特判逻辑
变更文件:comfy/clip_vision.py
这部分代码删除了 torch 依赖引入,同时删除了 DINOv3 在 float16 下优先切到 bfloat16 的特殊判断逻辑。
原逻辑大意是:
如果模型类型是 dinov3,且 dtype 为 float16,那么因为 DINOv3 的 activation 在 fp16 下比较勉强,所以如果设备支持 bf16,就优先改成 bf16,以获得更好的稳定性。
现在这段逻辑被删掉了。
这个删除本身不能孤立理解,必须结合发布说明中的另一条:“Do tripo dinov3 inference in fp32”,以及后面的 dino3 编码器改动一起看。
也就是说,ComfyUI 在 v0.24.0 中不再通过原先这种在 text encoder 设备路径中做 fp16 到 bf16 的折中策略去兜底,而是转向了更直接、更明确的处理方式:在实际 DINOv3 推理链路中进行更严格的数据类型控制,甚至直接切到 fp32 路线。这样做的好处是逻辑更统一,也更容易减少某些边缘场景的类型不一致问题。
三是 DINOv3 编码器中的 dtype 和输入转换逻辑被重新整理
变更文件:comfy/image_encoders/dino3.py
这是本次更新里非常值得关注的一块。主要变化有三类。
第一类变化,是 patch embedding 输入不再提前转 dtype:
原来:
patch_embeddings = self.patch_embeddings(pixel_values.to(dtype=target_dtype))
更新后:
patch_embeddings = self.patch_embeddings(pixel_values)
同时,在外层 forward 里也删除了:
pixel_values = pixel_values.to(self.embeddings.patch_embeddings.weight.dtype)
这说明 DINOv3 的像素输入不再在进入 embedding 前强行转换到权重 dtype,而是交给内部逻辑按实际需求处理。这种调整往往是为了避免过早降精度,或者避免输入数据在某些路径下被转换到不理想的类型。
第二类变化,是 mask token 改成通过 cast_to_input 对齐输入:
原来:
mask_token = self.mask_token.to(patch_embeddings.dtype)
更新后:
mask_token = comfy.ops.cast_to_input(self.mask_token, patch_embeddings)
这说明新的实现不只是对齐 dtype,还更强调和当前输入张量的完整计算环境一致,包括设备、精度以及潜在的操作包装逻辑。
第三类变化,是 cls token 和 register tokens 也都改成了 cast_to_input:
原来是 expand 后只 to(device)
更新后是通过 cast_to_input 与 patch_embeddings 对齐
也就是说,DINOv3 在 token 拼接之前,所有关键 token 张量都会主动适配当前输入的真实计算状态。这是非常标准、也非常稳妥的混合精度兼容修复思路。
结合发布说明里“Some cast/dtype fixes for the birefnet and dino3 models”与“Do tripo dinov3 inference in fp32”这两条信息,可以明确看出:v0.24.0 对 DINOv3 的重点就是稳定性优先,减少不必要的半精度风险和隐式类型切换。
四是 Radiance 支持非零 txt_ids 变体
变更文件:comfy/ldm/chroma_radiance/model.py
这里新增了一个参数:
use_sequential_txt_ids: bool
并在模型初始化时,如果这个参数为真,就注册一个名为sequential的 buffer。
更关键的变化在 forward 内部。原来 txt_ids 是这样初始化的:
txt_ids = torch.zeros((bs, context.shape[1], 3), device=x.device, dtype=x.dtype)
更新后新增逻辑:
Radiance 在 2026-05-22 之后使用顺序 txt_ids 而不是全零
如果 use_sequential_txt_ids 为真,那么:
txt_ids[:, :, 0] = torch.arange(context.shape[1], device=x.device, dtype=x.dtype).unsqueeze(0).expand(bs, -1)
这意味着 Radiance 模型现在支持一种新的文本位置标识变体:不再全部用零填充,而是用顺序编号。这个变化虽然看上去很小,但它直接影响文本 token 的位置编码或条件组织方式。
从发布说明“Radiance: support variant with nonzero txt_ids”可以确认,这一改动的核心目标就是兼容新变体。也就是说,ComfyUI v0.24.0 已经考虑到了 Radiance 模型不同版本之间的输入差异,并通过参数化方式做了向前适配。
五是移除旧的无用 no comfy kitchen 回退逻辑
变更文件:comfy/ldm/flux/math.py
这里的变动非常明确:原来 apply_rope 和 apply_rope1 外围包了一层 try/except,用于在无法导入 comfy.quant_ops 时回退到旧实现,并且还会打印一条警告:
No comfy kitchen, using old apply_rope functions.
v0.24.0 中,这整套 fallback 逻辑被直接删掉,改成了更直接的实现:
非训练状态下,直接调用 comfy.quant_ops.ck.apply_rope
训练状态下,使用原始 Python 路径
这对应发布说明里的“Remove old useless no comfy kitchen fallback”。
这类调整说明了两件事:
第一,项目当前已经不再认为旧 fallback 逻辑有继续保留的必要。
第二,推理路径正在进一步收敛到统一的量化或优化算子实现上。
对于用户来说,这通常意味着运行时分支更少,行为更可预期,维护成本也更低。但同时也意味着环境要求会更加明确,旧兼容兜底减少了。
六是 Ideogram 4 正式进入核心模型层
变更文件:comfy/ldm/ideogram4/model.py
新增代码:297 行
这可以说是 v0.24.0 最重磅的核心技术更新。
从文件头部注释就能看出它的定位:
Ideogram 4 transformer 属于 NextDiT 和 Lumina2 家族的单流模型,使用 Qwen3-VL 的隐藏状态特征,将文本 token 与图像 token 打包为一个序列,并配合分段注意力和三维交错 MRoPE 处理。
这段描述已经给出了非常多的关键信息。接下来我们按结构来看。
- 定义了序列角色标识
代码中定义了多个指示值:
SEQUENCE_PADDING_INDICATOR = -1
OUTPUT_IMAGE_INDICATOR = 2
LLM_TOKEN_INDICATOR = 3
IMAGE_POSITION_OFFSET = 65536
这说明 Ideogram 4 模型在一个统一序列里,同时区分填充、图像输出 token 和 LLM 文本 token,并且图像位置坐标做了偏移,避免与文本位置冲突。
- 新增 Ideogram4Attention
该注意力模块包含 qkv 线性层、q 与 k 的 RMSNorm、输出线性层,并在前向过程中调用 apply_rope 与 optimized_attention_masked。也就是说,这不是简单复用旧模块,而是为 Ideogram 4 的 packed sequence 结构专门组织了一套注意力执行路径。
- 新增 Transformer Block
每个块中包含:
注意力层
前馈层
多组 RMSNorm
AdaLN 调制层
同时在 forward 中,scale_msa、gate_msa、scale_mlp、gate_mlp 会从 adaln_modulation 结果中拆分出来,对注意力和 MLP 分支进行动态调制。说明这个模型在时序条件注入上采用了比较明确的门控和缩放机制。
- 新增标量时间嵌入模块
Ideogram4EmbedScalar 会将输入标量先映射为正弦位置嵌入,再经过两层线性映射。这里用于处理 timestep 条件,并最终进入 adaln 路径。
- 新增最终输出层
Ideogram4FinalLayer 使用 LayerNorm、线性层和 AdaLN 调制,将最终隐藏状态投影回输出通道。说明整个模型从输入投影到最终 token 重建,形成了完整闭环。
- 实现单流主干 Transformer
Ideogram4Transformer 内部包含:
输入投影
LLM 条件归一化与投影
时间嵌入
AdaLN 投影
图像指示 embedding
多层 TransformerBlock
最终输出层
尤其值得注意的是,它将文本条件和图像 latent 都组织进同一条 backbone,这与传统 cross-attention 型结构不同,更接近单流统一建模思路。
- 支持条件与无条件两种运行方式
Ideogram4Transformer2DModel 中,分别实现了:
_run_conditional
_run_image_only
当 context 为 None 时,走 image-only 无条件路径;否则走 packed 的 text + image 条件路径。并且在 forward 中统一走包装执行器,这说明它已经完整接入 ComfyUI 的扩展包装体系。
- 支持图像 token 与图像坐标组织
模型内部实现了:
图像到 token 的重排
token 回图像的反变换
图像位置 id 构造
文本与图像位置拼接
分段 mask 的构造
其中 block-diagonal 的 attention mask 说明文本与图像在 packed sequence 中并不是简单全连通,而是通过 segment id 去建立结构化注意力关系。
综合来看,这 297 行代码不是“加个接口”,而是 ComfyUI 已经把 Ideogram 4 的核心单流 DiT 结构、条件组织、位置编码、mask 机制和输出路径,真正实现到了底层模型层里。
七是 model_base 正式注册 Ideogram4 模型类型
变更文件:comfy/model_base.py
这里有两部分关键变化。
第一部分,是新增模块导入:
import comfy.ldm.ideogram4.model
这代表 Ideogram4 已经进入基础模型体系。
第二部分,是新增 Ideogram4 类:
class Ideogram4(BaseModel):
definit(self, model_config, model_type=ModelType.FLOW, device=None):
super().init(model_config, model_type, device=device, unet_model=comfy.ldm.ideogram4.model.Ideogram4Transformer2DModel)
def extra_conds(self, **kwargs): out = super().extra_conds(**kwargs) attention_mask = kwargs.get("attention_mask", None) if attention_mask is not None: if torch.numel(attention_mask) != attention_mask.sum(): out['attention_mask'] = comfy.conds.CONDRegular(attention_mask) cross_attn = kwargs.get("cross_attn", None) if cross_attn is not None: out['c_crossattn'] = comfy.conds.CONDRegular(cross_attn) return out这段代码说明了两件事:
第一,Ideogram4 在 ComfyUI 中被归类为 BaseModel 体系下的一个正式模型类型。
第二,它支持 extra_conds 方式接收 attention_mask 与 cross_attn 条件。
尤其是 attention_mask 的处理很有意思:只有当 attention_mask 不是“全 1”状态时,才会加入条件。这说明开发逻辑里对无填充、全可见序列进行了条件省略优化。
结合发布说明中的两条内容——“新增 Ideogram V4 节点”和“新增 Ideogram4 模型支持”——可以看出,v0.24.0 不是只在界面层加了节点,而是核心模型和节点生态两边一起到位。
五、发布说明中其他更新点逐条解析
除了代码里明确展示的部分,本次发布说明还有一些重要更新,虽然没有展开具体 diff,但仍然必须完整纳入理解。
- 修复 triposplat 预览与旧 offloading 模式问题
这说明在 triposplat 的预览功能和旧 offloading 模式组合场景下,之前存在兼容性问题。v0.24.0 已经进行修正。对于依赖旧显存卸载路径的用户来说,这是实打实的稳定性改进。
- tripo dinov3 推理改为 fp32
这与前面 dino3 的代码修复形成闭环。说明在 tripo 相关推理场景中,DINOv3 已经明确采用 fp32 执行。这是一个典型的“以稳定性换取精度安全”的调整,目的很明确,就是减少半精度带来的激活边界问题和异常行为。
- 修复 Math Expression 节点大整数未捕获 OverflowError
这是一个非常典型的边缘稳定性修复。以前如果 Math Expression 节点计算出非常大的整数结果,可能抛出未捕获的 OverflowError。现在这个问题已被修正,意味着节点在大数表达式场景下会更稳。
- 恢复 partner nodes 分类
这表示 partner nodes 的分类结构做了回退或修复。对于节点浏览、分类展示和组织逻辑来说,这是一次界面层与生态层的整理。
- 修复 MultiGPU CFG Split 手动中止冻结问题
这是实用价值很高的一项修复。多 GPU 下本来就存在更多并发与同步复杂度,而在使用 MultiGPU CFG Split 时,如果用户手动终止任务出现冻结,会非常影响工作流体验。v0.24.0 针对这个问题完成修复,意味着中断流程更安全。
- PiD 新增 SDXL 和 QwenImage
这说明 PiD 模块的模型支持面扩大了,新增了 SDXL 和 QwenImage 两类适配。这是典型的生态补强更新。
- comfy-aimdo 升级到 0.4.8
这是一个组件版本同步类更新。虽然发布说明没有展开具体内容,但至少说明相关依赖或集成模块已经跟进到新版本。
- Partner Nodes 新增 Ideogram V4 节点
这一项和核心 Ideogram4 模型支持形成呼应。前者偏节点侧,后者偏核心模型侧,两者合在一起,意味着用户从可视化节点到底层模型都可以使用 Ideogram 4。
- 将 DualModelGuider 标记为 experimental
这不是简单的功能增删,而是产品状态标记调整。它意味着该功能仍可用,但官方更明确地提醒用户:这是实验性能力,不宜默认视为完全稳定模块。
- 工作流模板更新到 v0.9.94
工作流模板更新往往对新用户和工作流复用用户非常重要,因为模板层通常会同步适配新模型、新节点以及新的参数组织方式。升级到 v0.9.94,说明模板生态也随版本一起前进。
- 非动态显存模式下,增加 ideogram 4 的显存使用因子
这项改动非常有针对性。说明在非 dynamic vram 模式下,Ideogram 4 的显存占用评估或管理策略做了调整。其目的显然是让显存估算和运行行为更符合模型实际需要,减少错误判断或资源分配偏差。
六、为什么说 v0.24.0 是一次“稳定性优先”的重要版本
如果把这次更新所有内容放在一起看,会发现它的总体气质非常清晰:稳定性优先,兼容性并进,新模型接入同步推进。
第一,模型类型一致性修复很集中。
BiRefNet、DINOv3、Tripo DINOv3、Radiance 都涉及实际推理输入、dtype、位置标识或执行精度问题,这些都不是表面改动,而是直接关系到模型能否稳定跑通的底层因素。
第二,老旧回退逻辑开始清理。
Flux 数学模块移除了旧 fallback,说明项目内部依赖链和运行路径正在进一步收敛,不再无限制保留历史兼容包袱。
第三,新模型不是“挂名支持”,而是深入到底层。
Ideogram 4 的新增不只是多了个节点名字,而是完整增加了核心模型实现、基础模型注册、条件处理支持。这说明 ComfyUI 对新模型生态的接入已经进入真正可运行、可扩展的阶段。
第四,运行时体验问题得到照顾。
无论是 MultiGPU 手动终止冻结,还是 Math Expression 大整数异常,都是那种用户一旦踩到就会非常难受的问题。这次版本把这些问题一并处理,说明更新目标不仅是“新”,也是“能稳定用”。
七、结语:ComfyUI v0.24.0 值不值得更新
代码地址:github.com/Comfy-Org/ComfyUI
如果你的使用场景涉及以下任一项,那么 v0.24.0 非常值得关注:
需要更稳定的 BiRefNet 或 DINOv3 推理
使用 tripo 或 triposplat 相关能力
在多 GPU 环境下运行复杂工作流
需要 PiD 对 SDXL、QwenImage 的新支持
关注 Ideogram 4 的核心接入与节点可用性
依赖工作流模板快速搭建流程
希望减少老旧回退逻辑带来的行为不确定性
从这次发布内容来看,ComfyUI v0.24.0 的价值不在于“堆了多少新名词”,而在于它把模型支持、推理精度、显存管理、节点生态和工作流模板这些关键层面一起往前推了一步。
最后,再用一句话总结这次版本:
ComfyUI v0.24.0 是一次以稳定性修复为底,以 Ideogram 4 接入为亮点,以多模型兼容与运行体验优化为核心目标的重要更新版本。