在ComfyUI中,种子值(Seed)的编写规则和控制逻辑主要体现在以下几个核心环节:
一、种子值的引用规则
-
动态变量引用
在保存图片命名规则中,可直接通过%KSampler.seed%
动态引用当前采样器使用的种子值,实现文件名与种子值的自动关联1。- 示例命名规则:
%date:yyyy-MM-dd%/%KSampler.seed%_batch
(表示按日期文件夹存储,文件名包含种子值和批次号)
- 示例命名规则:
-
种子变量作用域
种子值的生命周期仅限于当前工作流的KSampler节点,若需跨节点传递种子值,需通过连接线(如seed_override
输入接口)或全局变量管理28。
二、种子值的参数设置规则
-
种子输入框
- 直接输入整数(如
12345
)作为固定种子值。 - 若需完全随机,需通过
随机化
选项或外部节点(如Seed Generator)生成随机数,而非直接输入-1
(ComfyUI中-1
仅表示固定值)10。
- 直接输入整数(如
-
运行后操作(Seed Behavior)
固定
:保持当前种子值不变。随机化
:每次生成时自动生成新种子。增量
/减量
:按固定步长递增或递减(适用于批量生成时序列化种子)。
-
批处理种子控制
- 使用
seed_override
参数可传入列表或BatchedValueSchedule
对象,为批次中的每个潜在变量分配独立种子值2。
- 使用
三、种子值与噪声生成的关联规则
-
噪声生成模式选择
default
:每个潜在变量生成不同噪声(基于种子值的唯一性)。Constant
:所有潜在变量共享同一噪声(种子值相同)。FreeNoise
:在时间序列(如视频生成)中重复并混合噪声,保持稳定性2。
-
种子偏移控制
四、种子值与降噪过程的关联
在启用adjustment_denoise_steps=True
时,种子值与实际降噪步数联动:
- 例如,当降噪强度(denoise)设为
0.5
且总步数为20
时,实际执行步数缩减为10
步,但最终噪声分布仍基于原始种子值生成2。
五、常见实践场景
-
固定种子复现结果
-
批量生成多样化图像
-
视频/动画生成
- 结合
FreeNoise
和seed_offset
参数,平衡时间序列的连贯性与多样性2。
- 结合
总结对比(ComfyUI vs WebUI)
功能 | ComfyUI规则 | WebUI规则 |
---|---|---|
随机种子生成 | 需显式启用随机化 选项 | 输入-1 即随机 |
种子动态引用 | 支持文件名模板变量%KSampler.seed% | 需手动记录或插件辅助 |
批处理种子分配 | 支持列表或BatchedValueSchedule | 仅支持递增或固定值 |