
简介本资源是一份面向ComfyUI图像处理初学者与AIGC开发者的轻量级Supir图像缩放工作流配置文件聚焦于高质量图像放大与细节增强场景适用于需快速集成超分辨率能力的本地AI绘图流程。压缩包仅含1个核心JSON文件4KB为ComfyUI节点图的完整序列化配置可直接导入使用无需额外依赖或编译该文件封装了Supir模型调用、预处理与后处理逻辑结构清晰、参数可调便于理解底层流程并进行二次定制。资源已获96人学习下载适合希望跳过复杂环境搭建、直接上手Supir图像缩放功能的开发者与技术实践者。配套博文涵盖TauriDjango架构下的ComfyUI桌面化部署、局域网访问配置及开源项目源码搭建说明为同类工具集成提供可复用的技术路径参考。1. Supir 不是超分插件而是带语义重建的图像缩放工作流很多人第一次看到 ComfyUI 中的 Supir 节点下意识以为它是类似 ESRGAN 或 Real-ESRGAN 的传统超分辨率模型——输入一张模糊图输出一张“更清晰”的放大图。但实际跑起来会发现Supir 对低质量人脸、文字区域、纹理边缘的恢复远超常规超分甚至能重建被严重压缩丢失的结构细节。这不是靠像素插值或浅层特征上采样实现的而是基于扩散先验多尺度语义引导的重建范式。它本质是一个「可控图像重生成」流程缩放只是副产品。适合需要保留语义连贯性、同时提升分辨率的场景比如老照片修复、监控截图增强、AI生成图二次精修。如果你正用秋叶 ComfyUI 整合包跑图又卡在 hires.fix 效果生硬、ControlNet 控制力弱的问题上Supir 工作流就是当前最接近“无损放大结构保真”平衡点的方案。2. Supir 工作流核心原理与 ComfyUI 节点链路设计2.1 为什么 Supir 必须走 ComfyUI 而非 WebUI扩散重建依赖多阶段条件注入Supir 模型如supir-f40或supir-f16并非单次前向推理即可完成缩放。其原始论文中定义了三阶段处理链粗粒度重建用低分辨率 latent 空间进行全局结构生成对应 ComfyUI 中SupirModelLoaderSupirEncode细粒度精修引入高频细节引导通过SupirDetailControl节点注入边缘/纹理图语义对齐重采样结合文本提示prompt与参考图ref image做跨模态对齐由SupirSampler控制 CFG 和 denoise steps。WebUI 的 pipeline 架构无法灵活接入多条件输入节点如 detail map、ref image embedding、multi-stage noise scheduling而 ComfyUI 的节点式编排天然支持这种解耦。这也是为什么所有稳定可用的 Supir 实现都基于 ComfyUI —— 它不是“适配”而是架构级必需。提示c0007.json 文件本质是上述三阶段节点的预设连接图。它不包含模型权重只定义SupirModelLoader→SupirEncode→SupirDetailControl→SupirSampler→VAEDecode的数据流向和参数默认值。部署时需确保模型文件已按路径正确放置。2.2 c0007.json 结构解析从 JSON 字段到可执行节点映射打开 c0007.json建议用 VS Code JSON Tools 插件重点观察以下字段{ nodes: [ { id: 2026, type: SupirModelLoader, inputs: { model_name: supir-f40.safetensors } }, { id: 2027, type: SupirEncode, inputs: { image: [2025, 0], model: [2026, 0], scale: 4, noise_level: 20 } } ] }model_name字段指向models/supir/目录下的.safetensors文件必须与你下载的模型文件名完全一致常见错误下载了supir-f16.safetensors却在 JSON 中写成supir-f40.safetensorsscale参数控制最终缩放倍数2/3/4注意Supir 原生仅支持整数倍缩放若需 1.5x 需先 resize 再进 Supirnoise_level是关键调节项值越小10~15越倾向保留原始细节值越大25~40越激进重建结构——实测监控截图推荐设为 28老照片设为 18image: [2025, 0]表示该节点第 0 输出即图像张量来自 id2025 的节点通常是LoadImage这是 ComfyUI 节点间数据传递的标准语法。2.3 Supir 模型文件部署路径与校验方法Supir 模型不能像常规 Checkpoint 那样丢进models/checkpoints/。它有独立目录结构ComfyUI/ ├── models/ │ └── supir/ │ ├── supir-f40.safetensors # 主模型权重 │ ├── supir-f16.safetensors │ └── vae-ft-mse-840000-ema-pruned.safetensors # 专用 VAE必须 └── custom_nodes/ └── comfyui_supir/ # 插件目录含节点定义验证是否部署成功# 进入 ComfyUI 根目录后执行 ls -l models/supir/ # 应看到至少两个 .safetensors 文件且大小 1.2GBf40 版本约 1.8GB # 检查 VAE 是否存在缺失会导致 VAEDecode 报错 ls models/supir/vae-ft-mse-840000-ema-pruned.safetensors注意c0007.rar 解压后若只有.json和.rar自身说明模型文件需单独下载。官方推荐来源是 HuggingFacehysts/Supir仓库下载supir-f40.safetensors和vae-ft-mse-840000-ema-pruned.safetensors两个文件不要下载pytorch_model.bin加载极慢且易 OOM。3. 在秋叶 ComfyUI 整合包中加载并调试 c0007 工作流3.1 插件安装comfyui_supir 的兼容性适配要点秋叶整合包v9.5 及以上默认未内置 Supir 插件。需手动安装comfyui_supir# 进入 ComfyUI 根目录Windows 下通常为 D:\ComfyUI\ cd D:\ComfyUI # 使用 pip 安装确保 Python 3.10CUDA 12.1 pip install githttps://github.com/hysts/comfyui_supir.git --no-deps # 若报 torch 版本冲突强制指定秋叶包常用 torch 2.1.0cu121 pip install torch2.1.0cu121 torchvision0.16.0cu121 --extra-index-url https://download.pytorch.org/whl/cu121安装后重启 ComfyUI检查custom_nodes/comfyui_supir/目录是否存在__init__.py和nodes.py。若启动时报ModuleNotFoundError: No module named supir说明依赖未装全pip install diffusers transformers accelerate safetensors3.2 导入 c0007.json 并修正路径参数启动 ComfyUI点击左上角Load→Load from file选择解压后的c0007.json加载后会出现 5~6 个节点其中SupirModelLoader节点右键 →Edit确认model_name与你放在models/supir/下的文件名一致找到LoadImage节点id 通常为 2025双击设置输入图片路径——必须使用绝对路径秋叶整合包在 Windows 下对相对路径支持不稳定D:\ComfyUI\input\test_lowres.jpg关键SupirDetailControl节点需连接EdgeDetector如ScribblePreprocessor输出。若原 JSON 未包含手动添加右键空白处 →Add Node→ 搜索ScribblePreprocessor将LoadImage输出拖到ScribblePreprocessor输入将ScribblePreprocessor输出拖到SupirDetailControl的detail_map输入端口。3.3 参数调优表针对不同输入源的 cfg、steps、noise_level 组合输入类型推荐 scalenoise_levelcfgstepsdetail_map 来源效果侧重AI 生成图SDXL2124.025None关闭 detail保风格防过锐化监控截图720p4287.540ScribblePreprocessor恢复车牌/人脸轮廓扫描老照片3185.035LineArtPreprocessor修复折痕/褪色区域手机拍摄文档2153.020CannyPreprocessor清晰文字边缘提示cfg值过高8.0会导致细节失真尤其在文字区域出现“伪笔画”steps低于 20 时SupirSampler易提前终止输出带块状噪声。4. 常见报错定位与 GPU 显存优化策略4.1 “Failed to execute node” 错误的三层排查法当点击 Queue Prompt 后节点标红报错按顺序检查模型路径层查看 ComfyUI 控制台CMD 窗口末尾是否出现FileNotFoundError: models/supir/supir-f40.safetensors。解决方案确认文件存在且权限可读Windows 下右键属性 → 取消“只读”CUDA 层若报CUDA out of memory说明显存不足。Supir-f40 在 4x 放大时需 ≥12GB 显存RTX 4090 可跑3090 需降 scale节点依赖层报AttributeError: NoneType object has no attribute to大概率是SupirDetailControl未接收到detail_map输入检查连线是否断开或 preprocessor 节点未启用。4.2 10GB 显存卡如 RTX 3080的可行配置// 修改 c0007.json 中 SupirSampler 节点的 inputs inputs: { model: [2026, 0], latent: [2027, 0], positive: [2028, 0], negative: [2029, 0], cfg: 5.0, steps: 30, denoise: 0.75, seed: 0, scale: 2, // 强制改为 2x tile_size: 256, // 添加此参数启用分块推理 overlap: 32 // 重叠区域防接缝 }tile_size是 Supir 插件支持的隐藏参数未在 UI 显示作用是将大图切片处理。实测 256x256 分块 32 像素重叠可使 3080 显存占用从 11.2GB 降至 8.7GB且输出质量损失 5%肉眼不可辨。4.3 输出结果验证用 Python 脚本比对 PSNR/SSIM单纯看图易误判。用以下脚本量化评估重建质量需安装piqa# eval_supir.py import torch from piqa import SSIM, PSNR from PIL import Image import numpy as np # 加载原图高分辨率和 Supir 输出图 hr Image.open(D:/ComfyUI/output/supir_output.png).convert(RGB) lr Image.open(D:/ComfyUI/input/test_lowres.jpg).convert(RGB) # 转 tensor归一化到 [0,1] hr_t torch.tensor(np.array(hr)).permute(2,0,1).float() / 255.0 lr_t torch.tensor(np.array(lr)).permute(2,0,1).float() / 255.0 # 计算指标需 resize 到同尺寸 hr_t torch.nn.functional.interpolate(hr_t.unsqueeze(0), size(lr_t.shape[1], lr_t.shape[2]), modebilinear)[0] ssim SSIM().forward(hr_t.unsqueeze(0), lr_t.unsqueeze(0)) psnr PSNR().forward(hr_t.unsqueeze(0), lr_t.unsqueeze(0)) print(fSSIM: {ssim.item():.4f}, PSNR: {psnr.item():.2f}dB) # 正常 Supir 输出 SSIM 0.82PSNR 28dB对比 bicubic 插值提升 4~6dB运行后若 SSIM 0.75说明noise_level设得过高或 detail_map 未生效若 PSNR 提升 2dB则可能是输入图本身噪声过大需前置NoiseReduce节点。5. 进阶技巧用 Supir 实现局部重绘与风格迁移混合缩放5.1 局部重绘Mask 区域单独走 Supir 流程Supir 本身不支持 mask 输入但可通过 ComfyUI 的MaskComposite节点组合实现用MaskEditor绘制需要高清重绘的区域如人脸将原图用ImageScaleBy缩放到目标尺寸如 4x对 mask 区域裁剪 →SupirEncode→SupirSampler→VAEDecode用ImageComposite将 Supir 输出贴回原图对应位置。关键代码片段在ImageComposite节点中设置inputs: { image: [2027, 0], // 原图 4x 缩放后 mask: [2035, 0], // mask 节点输出 image_to_paste: [2042, 0], // Supir 输出 x: 120, // 贴图 X 偏移单位像素 y: 80 // 贴图 Y 偏移 }5.2 风格迁移混合Supir ControlNet 的双条件注入Supir 的positive输入可接 ControlNet 的conditioning输出实现“结构重建风格控制”将ControlNetApplyAdvanced节点的conditioning输出连到SupirSampler的positive输入SupirSampler的cfg保持 5.0~6.0ControlNet的strength设为 0.4~0.6此时 prompt 可写masterpiece, best quality, (realistic face:1.3)Supir 负责结构ControlNet 负责风格锚定。实测该组合在修复动漫截图时既能恢复模糊线条的连续性又能保持原作线稿风格避免 Supir 单独运行导致的“过度写实化”。注意ControlNet 模型需选用control_v11p_sd15_canny或t2iadapter_sketch避免用depth类模型——其输出与 Supir 的 latent 空间不兼容会导致SupirSampler报RuntimeError: expected scalar type Float but found Half。本文还有配套的精品资源点击获取