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 模式。
输入
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| model1 | MODEL | - | 主模型(Phase 1) |
| model2 | MODEL | 可选 | 第二阶段使用的模型,不提供则沿用 model1 |
| positive / negative | CONDITIONING | - | 正/负向条件 |
| vae | VAE | - | 用于编码和解码的 VAE |
| width / height | INT | 512/896 | 分辨率 |
| chunk_length | INT | 81 | 每个分块的像素帧数 |
| batch_size | INT | 1 | 每次采样的批大小 |
| pose_video | IMAGE | 可选 | 姿态驱动视频,先缩放到半分辨率再编码 |
| pose_video_mask | IMAGE | 可选 | 姿态视频对应的 SAM3 遮罩 |
| replacement_mode | BOOLEAN | False | 开启后按角色替换逻辑处理参考图 |
| phase1_pose_strength | FLOAT | 1.0 | 第一阶段姿态引导强度 |
| phase2_pose_strength | FLOAT | 1.0 | 第二阶段姿态引导强度 |
| pose_start / pose_end | FLOAT | 0/1 | 姿态引导生效的时间范围 |
| reference_image | IMAGE | 可选 | 参考角色图像 |
| reference_image_mask | IMAGE | 可选 | 参考图对应的彩色遮罩 |
| clip_vision_output | CLIP_VISION_OUTPUT | 可选 | 可选的 CLIP 视觉特征 |
| previous_frame_count | INT | 5 | 用于锚定的上一分块尾部帧数 |
| phase1_noise | FLOAT | 0.800 | 第一阶段锚定帧噪声掩码起始值 |
| phase2_noise | FLOAT | 0.400 | 第二阶段锚定帧噪声掩码终值 |
| phase_start_noise | FLOAT | 0.200 | 锚定帧噪声掩码起始值 |
| split_step | INT | 3 | 两阶段分割步数,0 表示不分阶段 |
| local_config | SCAIL2_LOCAL_CONFIG | 可选 | 本地文件配置节点输出 |
| total_frames | INT | 0 | 姿态总帧数,大于 0 时自动内循环 |
| pose_blur | SCAIL2_POSE_BLUR | 可选 | 姿态图预处理配置 |
| seed | INT | 0 | 随机种子 |
| steps | INT | 6 | 采样步数 |
| cfg | FLOAT | 1.0 | 提示词引导强度 |
| sampler_name | COMBO | euler | 采样器 |
| scheduler | COMBO | normal | 调度器 |
| denoise | FLOAT | 1.0 | 去噪强度 |
输出
| 输出 | 类型 | 说明 |
|---|---|---|
| images | IMAGE | 当前分块生成结果;文件模式下返回占位图 |
| output_folder | STRING | 本地输出目录路径 |
内循环方式
total_frames > 0时启用自动分块。- 设定
total_frames为 pose 总帧数,节点自动计算分块数量并内循环完成所有 chunk。 - 输出为最后一个分块的最后一张图像。
两阶段采样
split_step > 0 时:
- 计算完整 sigma 序列,在
split_step处分割(边界重叠,对标 SplitSigmas) - Phase 1:正常噪声 +
phase1_noise强度 mask - Phase 1 输出后锚定帧强制回写
encoded_prev_latent - Phase 2:空噪声(或
phase2_empty_noise混入)+phase2_noise强度 mask - 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_image | IMAGE | 可选 | 参考角色图像 |
| video_frames | IMAGE | 可选 | 源视频采样帧 |
| max_frames | INT | 6 | 最多采样帧数 |
| sample_method | COMBO | uniform | 采样方式 |
| instruction | STRING | "" | 替换或动画指令 |
| caption_instruction | STRING | "" | 源视频描述重点 |
| source_caption | STRING | "" | 预先写好的源视频描述 |
| examples | STRING | "" | few-shot 示例 |
| prompt_mode | COMBO | replacement | replacement 或 animation |
| llm_model | COMBO | - | models/LLM/ 下的 .gguf 模型 |
| mmproj | COMBO | "" | 可选的视觉投影模型 |
| chat_handler | COMBO | Qwen3-VL | 对应的 chat handler |
| disable_thinking | BOOLEAN | True | 是否关闭思考模式 |
| n_ctx | INT | 65536 | 上下文长度上限 |
| temperature | FLOAT | 0.4 | 生成随机性 |
| seed | INT | 42 | 随机种子 |
输出:enhanced_prompt
3. SCAIL2LocalConfig
本地文件配置节点。输出 SCAIL2_LOCAL_CONFIG 类型供 SCAIL2LoopSampler 使用。
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| output_folder | STRING | "" | 输出目录(PNG + state.json) |
| pose_folder | STRING | "" | pose PNG 帧目录 |
| ref_image_folder | STRING | "" | 参考图目录(含 mask 子目录) |
| resume | BOOLEAN | False | 断点续传 |
| max_chunk_index | INT | 0 | 停止处理的分块索引,不包含该索引;设为 2 时处理 0、1(0=不限制) |
输出:local_config + ref_image(首张参考图)+ pose_total_frames(pose 帧总数)
4. SCAIL2PoseBlur
姿态预处理节点。输出 pose_blur 配置,供 SCAIL2LoopSampler 使用。
输入
| 参数 | 类型 | 默认值 | 说明 |
|---|---|---|---|
| blur_sigma | FLOAT | 0.0 | 全局姿态图模糊强度 |
| face_blur_enable | BOOLEAN | False | 启用人脸局部模糊 |
| face_model | COMBO | - | models/yolo/ 下的人脸检测模型 |
| face_confidence | FLOAT | 0.35 | 人脸检测置信度 |
| face_blur_sigma | FLOAT | 1.5 | 人脸区域模糊强度 |
| face_padding | FLOAT | 0.25 | 人脸框扩展比例 |
| face_detect_interval | INT | 1 | 检测间隔帧数 |
输出:pose_blur
5. SCAIL2SaveImageFolder
将 IMAGE 批保存为连续 PNG 文件。
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| images | IMAGE | - | 待保存图像 |
| output_folder | STRING | "" | 保存目录(空=清内存) |
| start_index | INT | 0 | 起始文件编号 |
| overwrite | BOOLEAN | True | 覆盖已有 |
6. SCAIL2LoadImageFolder
从目录加载连续 PNG 文件为 IMAGE 批。
| 参数 | 类型 | 默认 | 说明 |
|---|---|---|---|
| folder | STRING | "" | 加载目录 |
| start_index | INT | 0 | 起始帧索引 |
| count | INT | 1 | 加载帧数 |
| target_width / target_height | INT | 0 | 目标尺寸(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