YAML Metadata Warning:empty or missing yaml metadata in repo card

Check out the documentation for more information.

Misaki 本地节点插件₍ᐢ.ˬ.ᐢ₎♡~

ComfyUI 效率工具插件,内置 6 个节点,围绕「批量出图 / 图像加载保存 / 尺寸对齐 / 视频参数」这一条链路设计。

本仓库不含任何模型权重,只包含插件代码。所有大模型请自行放入 ComfyUI 的 models/ 对应目录。

节点总览

显示名 节点类 分类 一句话
Misaki的专属效率节点(ˊᗜˋ) MisakiEfficiencyNode ₍ᐢ.ˬ.ᐢ₎♡~Misaki/效率节点 checkpoint/UNet、双 CLIP、VAE、15 个 LoRA、空白潜空间、正负提示词合并成一个节点
文本多行加载₍ᐢ.ˬ.ᐢ₎♡~ MisakiMultiLineTextLoader ₍ᐢ.ˬ.ᐢ₎♡~Misaki/文本加载 多行文本逐条加载,配合自动循环批量出图
misaki图像加载 ✞ᐢ•̥ ̫ •̥ᐢ✞ MisakiImageLoader Misaki 单张上传 / 文件夹图集双模式加载 + 尺寸对齐缩放 + 自动逐张循环
misaki图像保存(*´꒳`人) MisakiImageSaver Misaki 双输入 + 可选保存 + 元数据开关 + 左右对比预览 + 图像直通
图像尺寸恢复ʕっ•ᴥ•ʔっ♥ MisakiImageSizeRestore Misaki 把尺寸取整到 8/16/32/64 的倍数,输出图像与最终宽高
misaki快速视频分辨率( ˘ω˘ ) MisakiQuickVideoResolution ₍ᐢ.ˬ.ᐢ₎♡~Misaki/视频工具 快速算出视频分辨率与时长(MiniMax H3 等)

1. Misaki的专属效率节点(ˊᗜˋ)

把以下节点合并为一个:CheckpointLoader + UNETLoader + CLIPLoader/DualCLIPLoader + VAELoader + LoraLoader×15 + CLIPTextEncode(正/负)+ EmptyLatentImage。

输入

输入 说明
checkpoint大模型 完整大模型(models/checkpoints),默认「无」;选「无」时用下方 UNet 拆分加载,两者同时选则以 checkpoint 为准
UNet模型 扩散模型(models/diffusion_modelsmodels/unet),默认「无」
CLIP1 / CLIP2 文本编码器(models/text_encodersmodels/clip),默认「无」;CLIP2 选「无」时只用 CLIP1 编码
CLIP类型 文本编码器组合类型,默认「无」(按 stable_diffusion 默认方式加载)。双 CLIP 模型用 sdxl / sd3 / flux / flux2 等,单文本编码器模型用 krea2 / minimax / joyimage / mage 等,共 36 个可选
VAE模型 VAE 模型(models/vae),默认「无」;选 checkpoint 时留空会自动用大模型自带 VAE,选 UNet 时必选
音频VAE 音频 VAE(models/vae),默认「无」。MiniMax 双 VAE 用法:主 VAE 解码画面、音频 VAE 解码声音;选「无」时输出主 VAE
预设分辨率 空白潜空间(空画布)的分辨率,**默认 1024x1024(方形 1:1)**。预设 18 档(512×512 ~ 1792×768,含方形 1:1 / 竖屏 2:3、3:4、9:16 / 横屏 3:2、4:3、16:9、21:9),再加「自定义」用下方宽高
批量大小 空白潜空间的批量,1 ~ 64,默认 1
自定义宽度 / 自定义高度 预设分辨率选「自定义」时生效,16 ~ 8192(步长 8),默认 1024
正面提示词 多行正向提示词(也可直接连线 STRING 文本);各 LoRA 的触发词会按 LoRA1→15 的顺序加到最前面
负面提示词 多行负向提示词;留空时输出零化条件(鼠标悬停有提示)
LoRA1 ~ LoRA15 / 强度1 ~ 强度15 可选。LoRA 最多叠加 15 个,填一个自动追加下一栏;强度滑块 -6 ~ 10(默认 1.0,步长 0.01),同时作用于模型与 CLIP,LoRA 选「无」时该强度栏自动隐藏并重置为 1.0

⚠️ 图像输入已移除:本节点不再接受图像输入,潜空间始终按「预设分辨率 / 自定义宽高 + 批量大小」生成空白画布。旧工作流里残留的图像连线不生效;旧版的分辨率值(纯 WxH 或「无(跟随输入图像尺寸)」)会被前端自动迁移到新选项。

LoRA 触发词预设(提示词预设)

  • 右键点击任意 LoRA 下拉框 → 弹出「提示词预设」对话框,包含两个输入框:触发词LoRA 作用介绍
  • 输入完退出即自动保存:点「保存并关闭」、右上角 ✕、按 Esc 或点对话框外空白处,都会自动保存到本地:models/提示词预设/<LoRA文件名>.txt(换 LoRA 时自动读取对应文件的预设)。
  • 对话框里可点「导入 txt 文档」直接导入本地触发词文档。
  • 执行时自动导入触发词:把已选 LoRA 的触发词自动拼接到正面提示词末尾,无需手动填写。
  • 没有触发词就不自动填入:只有预设文件里 [触发词] 段落的内容才会被追加;没有预设、或触发词段落为空时,正面提示词保持原样,不会被填入任何内容(作用介绍等也不会被误当触发词)。
  • 预设文件格式(也可手工编辑):
[触发词]
word1, word2, word3
[作用介绍]
这个 LoRA 的作用是……

加载逻辑

  • 选 checkpoint:模型 / CLIP / VAE 自动来自大模型;VAE、CLIP1/CLIP2、音频VAE、LoRA 均可按需覆盖。
  • 选 UNet:必须选 VAE 和至少一个 CLIP(单选 CLIP1 或双选 CLIP1+CLIP2)。
  • 什么都不选会给出中文报错提示。
  • LoRA 按 LoRA1 → LoRA15 依次叠加,强度 -6 ~ 10,可正可负,同时作用于模型与 CLIP。
  • 潜空间始终是空白画布,按「预设分辨率(或自定义宽高)+ 批量大小」生成。
  • 模型在进程内按「文件路径 + 修改时间」缓存复用,替换模型文件后下次执行自动重新加载。

输出

输出 说明
模型 应用了所有 LoRA 的扩散模型(MODEL)
CLIP 应用了所有 LoRA 的文本编码器(CLIP),可连到外部 CLIPTextEncode 等节点自定条件
正面条件 正面提示词(含 LoRA 触发词)编码条件(CONDITIONING)
负面条件 负面提示词编码条件;留空时为零化条件(CONDITIONING)
VAE 使用的 VAE 对象
潜空间 按「预设分辨率(或自定义宽高)+ 批量大小」生成的空白潜空间(LATENT)
音频VAE MiniMax 双 VAE 用法(主 VAE 解码画面、音频 VAE 解码声音);选「无」时输出主 VAE

实时模型列表

  • 所有模型下拉框实时读取本地 models 目录(checkpoints / diffusion_models / text_encoders / vae / loras)。
  • 往对应文件夹里放入新模型后,无需刷新页面:新建节点、加载工作流或再次执行时下拉框都会自动更新;执行时后端也会重新校验列表。
  • 文件按「路径 + 修改时间」缓存,模型文件被替换后下次执行自动重新加载。
  • 旧版工作流里的纯 WxH 分辨率值与已废弃的「无(跟随输入图像尺寸)」选项,都会被前端自动迁移到带比例备注的新选项;当前默认是 1024x1024(方形 1:1)

使用方法

  1. 重启 ComfyUI,在搜索框输入「Misaki」添加节点。
  2. 二选一:选择 checkpoint 大模型;或选择 UNet + VAE + CLIP1(可加 CLIP2)。
  3. 可选:填 LoRA1(会自动追加下一栏,最多 15 个),右键 LoRA 可编辑触发词预设。
  4. 输入正面 / 负面提示词(负面可留空)。
  5. 把「模型」「正面条件」「负面条件」接到采样器,VAE 和潜空间按需使用;不想用节点内置正/负面条件时,把「CLIP」输出连到外部 CLIPTextEncode 自行编码。
  6. 潜空间由本节点直接生成空白画布(「预设分辨率」或「自定义宽高」+「批量大小」),接到采样器即可,不需要再接 EmptyLatentImage

2. 文本多行加载₍ᐢ.ˬ.ᐢ₎♡~

批量出图神器:把多行文本逐条加载,配合「自动循环」逐行推进,实现一条工作流批量生成不同提示词的图片。

  • 与「misaki图像加载」的自动循环搭配时是图外层 × 文本内层:图1文本1..N → 图2文本1..N …,全部跑完自动停。
  • 两个自动循环都由服务端排队驱动:排完队之后即使关掉浏览器页面,也会继续跑完(前端自续跑已关闭,避免浏览器与服务端两边排队导致队列翻倍)。

输入

输入 说明
text 多行提示词,一行一条
过滤空白行 勾选后忽略空行和仅含空白字符的行(\n),行数统计更干净
自动循环 勾选后由服务端自动逐行推进(每跑完一行就自己排下一轮,把「当前行号」+1),跑完最后一行停止、把接力棒交回图像加载节点换图
当前行号 当前读取的行索引(从 0 开始),自动循环时由服务端排队自动更新;手动改可单独测试某一行(此时建议关闭自动循环)

输出

当前行文本 / 总行数 / 当前行号

  • 零依赖:后端只用 Python 标准库,不依赖任何第三方包,任何 Python 3 环境都能加载运行(含 ComfyUI 内置 Python)。

使用方法

  1. 重启 ComfyUI,在搜索框输入「文本多行加载」添加节点。
  2. 在 text 框里输入多行提示词,每行一条。
  3. 勾选「自动循环」(可选勾选「过滤空白行」)。
  4. 把「当前行文本」输出连到下游节点(可选,用于查看/联动),点执行即可自动逐行跑完所有行。
  5. 手动改「当前行号」可单独测试某一行(此时建议关闭自动循环)。

3. misaki图像加载 ✞ᐢ•̥ ̫ •̥ᐢ✞(MisakiImageLoader

双模式加载 + 多功能缩放处理,适配 SD/FLUX 尺寸对齐;支持文件夹图集逐张自动循环

输入

输入 说明
加载模式 单张图像上传 / 文件夹图集加载,默认单张
选择图片 官方上传控件(上传后自动刷新下拉、显示缩略图)。选「无」时改用连进来的 image 输入(前面工作流的图);选了具体文件则读取该文件
folder_path 图集模式下的文件夹路径(相对 input 目录或绝对路径)
counter_index 起始索引,默认 0
索引设置 固定(按 counter_index 取) / 随机 / 每次加1 / 每次减1,默认「每次加1」
宽高比 original(跟随原图) / custom(用下方宽度高度) / 1:13:24:316:92:33:49:16
宽度 / 高度 「宽高比 = custom」时直接使用的像素尺寸(默认 1024×1024)
适应 letterbox(补边) / crop(裁剪) / fill(拉伸)
方法 重采样算法:lanczos(默认)/ bicubic / hamming / bilinear / box / nearest
四舍五入到倍数 输出尺寸对齐到 8/16/32/64/128/256 的倍数(默认 8,SD 系建议 8,FLUX 系常用 16/32)
缩放至边 None / Longest(长边) / Shortest(短边) / Width / Height
缩放至长度 「缩放至边」不为 None 时的目标边长(默认 1024)
背景颜色 letterbox 补边颜色,默认 #000000
自动循环 开启后每执行一次就自动取「下一张还没跑过的」图片(给每张图打编号),跑过的不会再跑,全部跑完自动停止;重新提交一轮新任务时编号清零、从头再跑。关闭时按上方「索引设置」取图

输出

输出 说明
IMAGE 加载/处理后的图像
MASK 对应的掩码(透明通道)
width / height 最终尺寸
数量 图集图片总数(接循环节点的 total 即可「按张数跑、跑完自动停」
剩余数量 本轮还剩几张没跑

行为要点

  • 「索引设置 = 随机 / 每次加1 / 每次减1」是真正逐次生效的:连点两次运行就是两张不同的图(这三个模式下节点会强制重跑,不吃 ComfyUI 缓存);「固定」照旧走缓存。
  • 自动循环是服务端循环:排完队之后即使关掉浏览器页面,也会继续把整个图集跑完。
  • 免疫第三方「保险插件」劫持:本节点立了 _goohai_empty_image_loader 标记,避免被 Comfyui-Goohai_BugFixes 之类的插件在「文件夹模式 + 选择图片=无」时误判成坏掉的加载器而整节点跳过。
  • forLoop 类循环节点不要同时启用(两边都循环会让轮数相乘)。

4. misaki图像保存(*´꒳人)(MisakiImageSaver`)

双输入 + 可选保存 + 元数据开关 + 左右滑动对比预览 + 图像直通输出。

输入

输入 说明
文件名前缀 默认 ComfyUI,支持 %width%/%height% 等 ComfyUI 变量
子文件夹名称 output 下的子目录,留空即 output 根目录(越界路径会被拒绝)
格式 png(默认) / jpeg / jpg / webp
位深度 8-bit / 16-bit16-bit 仅 png 生效,走 cv2 写出)
输入色彩空间 sRGB(默认) / Linear(线性光值会先做 EOTF 转换再存)
执行保存图片 开启(默认)/ 关闭——关闭时跳过编码与写盘,只在右侧直接展示输入图
保存JSON信息 开启 / 关闭(默认关闭)——开启后 PNG/JPEG 内嵌工作流元数据,并额外写一份独立 .json
图像 要保存的图像(可选)
原图 用于左右对比的老图(可选;尺寸不同会等比缩放居中、黑边补足对齐)

输出

  • 图像:直通输出,保存后仍可继续接下游。
  • 节点底部显示「原图:W×H / 新图:W×H」。

本节点是 OUTPUT_NODE(工作流的输出节点),否则整条工作流会报「Prompt has no outputs」无法运行;同时也保留了数据输出端口。


5. 图像尺寸恢复ʕっ•ᴥ•ʔっ♥(MisakiImageSizeRestore

把尺寸取整到指定倍数,常用于「采样尺寸 / 放大后尺寸」重新对齐到 8/16/32/64。

输入

输入 说明
图像 输入图像
取整方式 向下取整 / 四舍五入 / 向上取整(默认向上)
缩放方式 nearest-exact / bilinear / area / bicubic / lanczos(默认 lanczos,取不到时自动退回 bicubic)
锁定倍速 对齐倍数:8(默认)/ 16 / 32 / 64
宽 / 高(可选) 填了有效值(>0)时只对这两个数取整并输出,不缩放图像;留 0 则用图像自身尺寸并真正缩放图像

输出

  • 图像 / / (节点上显示「取整前 → 取整后」预览)

6. misaki快速视频分辨率( ˘ω˘ )(MisakiQuickVideoResolution

为 MiniMax H3 等视频生成服务快速算出分辨率与时长。

输入

输入 说明
宽高比 自定义 / 1:1 / 2:3 / 3:4 / 4:3 / 9:16 / 16:9(默认)/ 21:9
自定义比宽 / 自定义比高 宽高比选「自定义」时生效
分辨率 短边基准像素(默认 480),按所选比例自动算出另一边
锁定倍数 两边对齐到的倍数:8 / 16(默认)/ 32 / 64
帧率 16 / 24(默认)/ 30 / 60
视频秒数 目标时长(3s、10s、15s 等任意值),默认 2.0

输出

输出 说明
宽度 / 高度 按宽高比与锁定倍数算出的最终分辨率
视频秒数 按 H3 帧长公式自动对齐后的时长
帧率 所选的 fps(原样输出)

H3 帧长公式max(5, round(a*fps)) + (5 - (max(5, round(a*fps)) % 17)) % 17(结果 ≡ 5 mod 17)


安装

把整个插件文件夹放到 ComfyUI/custom_nodes/ 下,重启 ComfyUI 即可。

  • 仅依赖 ComfyUI 自带环境(torch、numpy、Pillow 等),无需额外安装任何包
  • 唯一例外:图像保存节点选「16-bit PNG」时会用到 cv2(ComfyUI 环境通常已自带);
  • 本插件不包含也不需要任何模型权重

自检

插件自带一个纯逻辑自检脚本(不需要启动 ComfyUI,也不需要显卡):

& <ComfyUI>\python_embeded\python.exe selftest_misaki.py

覆盖:缓存红线、服务端自动排队完整性、第三方插件劫持免疫、控件顺序与输出口红线、自动循环协同契约、交付卫生(临时文件 / BOM / 控制台编码 / 遗留测试实例)、前端 JS 的 ESM 语法。退出码 0 = 全绿。

另有一个参数化模式,可从 ComfyUI 日志重建「一次批量跑」的配对结构(哪张图配了哪几行文本、顺序对不对):

& <ComfyUI>\python_embeded\python.exe selftest_misaki.py --verify-log <日志路径>

目录结构

Misaki/
├─ __init__.py                      # 插件入口:注册节点 + 暴露 web 目录
├─ nodes/
│  ├─ __init__.py
│  ├─ efficiency_node.py            # 效率节点(后端)
│  └─ multiline_text_loader.py      # 文本多行加载(后端)
├─ misaki_image_loader.py           # 图像加载(后端)
├─ misaki_image_saver.py            # 图像保存(后端)
├─ misaki_image_size_restore.py     # 图像尺寸恢复(后端)
├─ misaki_quick_video_resolution.py # 快速视频分辨率(后端)
├─ web/                             # 前端扩展,每个节点一个 js
│  ├─ misaki_efficiency_node.js
│  ├─ misaki_image_loader.js
│  ├─ misaki_image_saver.js
│  ├─ misaki_image_size_restore.js
│  ├─ misaki_multiline_loader.js
│  └─ misaki_quick_video_resolution.js
├─ selftest_misaki.py               # 自检脚本
├─ .gitignore
└─ README.md
Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support