ComfyUI-Scail2-Sampler-Helper

July 16, 2026 · View on GitHub

Version: V1.0

SCAIL-2 视频生成的分块循环采样节点,支持两阶段去噪、文件 I/O、内循环自动分割。

所有节点均为 V3 API(ComfyNode)。


节点列表

1. SCAIL2LoopSampler

核心分块视频生成节点。使用 total_frames 自动内循环,每个分块独立采样并通过锚定帧衔接。支持两阶段去噪(Phase 1 + Phase 2,可选 model2)、姿态预处理和文件 I/O 模式。

输入

参数类型默认值说明
model1MODEL-主模型(Phase 1)
model2MODEL可选第二阶段使用的模型,不提供则沿用 model1
positive / negativeCONDITIONING-正/负向条件
vaeVAE-用于编码和解码的 VAE
width / heightINT512/896分辨率
chunk_lengthINT81每个分块的像素帧数
batch_sizeINT1每次采样的批大小
pose_videoIMAGE可选姿态驱动视频,先缩放到半分辨率再编码
pose_video_maskIMAGE可选姿态视频对应的 SAM3 遮罩
replacement_modeBOOLEANFalse开启后按角色替换逻辑处理参考图
phase1_pose_strengthFLOAT1.0第一阶段姿态引导强度
phase2_pose_strengthFLOAT1.0第二阶段姿态引导强度
pose_start / pose_endFLOAT0/1姿态引导生效的时间范围
reference_imageIMAGE可选参考角色图像
reference_image_maskIMAGE可选参考图对应的彩色遮罩
clip_vision_outputCLIP_VISION_OUTPUT可选可选的 CLIP 视觉特征
previous_frame_countINT5用于锚定的上一分块尾部帧数
phase1_noiseFLOAT0.800第一阶段锚定帧噪声掩码起始值
phase2_noiseFLOAT0.400第二阶段锚定帧噪声掩码终值
phase_start_noiseFLOAT0.200锚定帧噪声掩码起始值
split_stepINT3两阶段分割步数,0 表示不分阶段
local_configSCAIL2_LOCAL_CONFIG可选本地文件配置节点输出
total_framesINT0姿态总帧数,大于 0 时自动内循环
pose_blurSCAIL2_POSE_BLUR可选姿态图预处理配置
seedINT0随机种子
stepsINT6采样步数
cfgFLOAT1.0提示词引导强度
sampler_nameCOMBOeuler采样器
schedulerCOMBOnormal调度器
denoiseFLOAT1.0去噪强度

输出

输出类型说明
imagesIMAGE当前分块生成结果;文件模式下返回占位图
output_folderSTRING本地输出目录路径

内循环方式

  • total_frames > 0 时启用自动分块。
  • 设定 total_frames 为 pose 总帧数,节点自动计算分块数量并内循环完成所有 chunk。
  • 输出为最后一个分块的最后一张图像。

两阶段采样

split_step > 0 时:

  1. 计算完整 sigma 序列,在 split_step 处分割(边界重叠,对标 SplitSigmas)
  2. Phase 1:正常噪声 + phase1_noise 强度 mask
  3. Phase 1 输出后锚定帧强制回写 encoded_prev_latent
  4. Phase 2:空噪声(或 phase2_empty_noise 混入)+ phase2_noise 强度 mask
  5. Phase 2 可选使用 model2

文件模式

通过 SCAIL2LocalConfig 节点配置后接入 local_config

  • 从磁盘读取 pose、previous_frames、reference_image
  • 解码后自动保存 PNG 到 output_folder + 写入 state.json
  • 支持 resume=True 断点续传

2. SCAIL2PromptEnhancer

基于 VLM 的 Prompt 增强器,支持 replacement 和 animation 两种模式。需安装 llama-cpp-python,模型放在 models/LLM/

输入

参数类型默认值说明
reference_imageIMAGE可选参考角色图像
video_framesIMAGE可选源视频采样帧
max_framesINT6最多采样帧数
sample_methodCOMBOuniform采样方式
instructionSTRING""替换或动画指令
caption_instructionSTRING""源视频描述重点
source_captionSTRING""预先写好的源视频描述
examplesSTRING""few-shot 示例
prompt_modeCOMBOreplacementreplacement 或 animation
llm_modelCOMBO-models/LLM/ 下的 .gguf 模型
mmprojCOMBO""可选的视觉投影模型
chat_handlerCOMBOQwen3-VL对应的 chat handler
disable_thinkingBOOLEANTrue是否关闭思考模式
n_ctxINT65536上下文长度上限
temperatureFLOAT0.4生成随机性
seedINT42随机种子

输出:enhanced_prompt


3. SCAIL2LocalConfig

本地文件配置节点。输出 SCAIL2_LOCAL_CONFIG 类型供 SCAIL2LoopSampler 使用。

参数类型默认说明
output_folderSTRING""输出目录(PNG + state.json)
pose_folderSTRING""pose PNG 帧目录
ref_image_folderSTRING""参考图目录(含 mask 子目录)
resumeBOOLEANFalse断点续传
max_chunk_indexINT0停止处理的分块索引,不包含该索引;设为 2 时处理 0、1(0=不限制)

输出:local_config + ref_image(首张参考图)+ pose_total_frames(pose 帧总数)


4. SCAIL2PoseBlur

姿态预处理节点。输出 pose_blur 配置,供 SCAIL2LoopSampler 使用。

输入

参数类型默认值说明
blur_sigmaFLOAT0.0全局姿态图模糊强度
face_blur_enableBOOLEANFalse启用人脸局部模糊
face_modelCOMBO-models/yolo/ 下的人脸检测模型
face_confidenceFLOAT0.35人脸检测置信度
face_blur_sigmaFLOAT1.5人脸区域模糊强度
face_paddingFLOAT0.25人脸框扩展比例
face_detect_intervalINT1检测间隔帧数

输出:pose_blur


5. SCAIL2SaveImageFolder

将 IMAGE 批保存为连续 PNG 文件。

参数类型默认说明
imagesIMAGE-待保存图像
output_folderSTRING""保存目录(空=清内存)
start_indexINT0起始文件编号
overwriteBOOLEANTrue覆盖已有

6. SCAIL2LoadImageFolder

从目录加载连续 PNG 文件为 IMAGE 批。

参数类型默认说明
folderSTRING""加载目录
start_indexINT0起始帧索引
countINT1加载帧数
target_width / target_heightINT0目标尺寸(0=不缩放)

安装

cd ComfyUI/custom_nodes
git clone https://github.com/checknickname/ComfyUI-Scail2-Sampler-Helper

技术说明

  • VAE 时间压缩系数 4:1 latent 帧 = 4 像素帧(Causal VAE)
  • SAM3 遮罩使用 28 通道格式
  • 两阶段采样对标 ComfyUI SplitSigmas + SamplerCustom
  • 蒸馏 LoRA 推荐 steps=4~6, cfg=1.0