mmuuai全能节点
One node that loads 20 images and a video, normalizes them all, and hands you a batch
- 图片批次
- 视频
- 音频
- 宽度
- 高度
- 帧率
- 视频总帧数
- 文本
- 选择项
- 整数
- 浮点数
- 布尔值
- 图片1
- 图片2
- 图片3
- 图片4
- 图片5
- 图片6
- 图片7
- 图片8
- 图片9
- 图片10
- 图片11
- 图片12
- 图片13
- 图片14
- 图片15
- 图片16
- 图片17
- 图片18
- 图片19
- 图片20
This is the node that makes the mmuuai pack worth installing. MmuuaiUniversalSelector ("mmuuai全能节点" in the menu - the "all-rounder node") collapses a whole media-input chain into one box: load up to 20 images and one video, resize everything to a target resolution, and get back a ready-to-use IMAGE batch, individual image outputs, a native VIDEO, an AUDIO track, and a pile of pass-through parameters. If you've ever built the five-node upload-and-resize chain by hand, this replaces the whole upstream half of it.
What it actually does
Every file it touches comes from ComfyUI/input (upload through the node's own gallery, which also handles drag-and-drop, paste, thumbnails, delete, and drag-sorting). Then three jobs, in order:
- Compute target dimensions from 分辨率 (short-edge preset: 480p / 720p / 1080p / 1440p(2k) / 2160p(4k) / 4320p(8k), default 720p) times 画面比例, rounded to 尺寸倍数 (size multiple, default 16). Set 画面比例 to 自动 (auto) and it keeps the source's own aspect ratio - the right default for most img2img work.
- Resize the pixels with one of five 缩放方式 (fit / stretch / black pad / green pad / center crop) and one of six 插值算法. The default is 兰索斯 (Lanczos, "high quality"), which routes to ComfyUI's own Lanczos implementation rather than a naive nearest-neighbor blowup - a genuinely sane default. The other modes (nearest, bilinear, bicubic, area, nearest-exact) are there for speed or pixel-art.
- Handle video through ComfyUI's native VIDEO interface: decode, skip the first 跳过视频秒数 seconds, resample to 帧率, resize, and produce an AUDIO track (silence is generated to match if the source has none). 时长 (duration) is worth understanding:
0means "use whatever's left after the skip," while a positive number resamples to exactly that length - cropping overflow and padding with the last frame if the source runs short.
Inputs worth your attention
- 分辨率, 画面比例, 尺寸倍数 - the sizing trio; 自动 + default multiple covers most cases.
- 帧率 (1–240) and 时长 (0–600s).
- 图片1–图片20 and 视频文件 - the media slots.
- JPEG压缩 (0 = off) - re-encodes through real JPEG to simulate loss. The README is explicit that this does not shrink ComfyUI's VRAM footprint; it just makes the output look compressed, which is useful for previewing what an upload pipeline will do to your images.
- 提示词 (multiline prompt) plus the 选择项 / 整数 / 浮点数 / 布尔开关 pass-throughs, which just echo back out - handy when you want one node to carry a workflow's control values instead of six primitives.
Outputs
图片批次 (IMAGE batch - one tensor of everything you loaded, ideal for batch-aware nodes and IPAdapter), the individual 图片1–图片20 outputs (the frontend hides the ones with nothing loaded, a nice touch), 视频 (VIDEO), 音频 (AUDIO), the ints 宽度 / 高度 / 帧率 / 视频总帧数, 文本 (the prompt), and 选择项 / 整数 / 浮点数 / 布尔值. That's a lot of sockets, but they're organized well enough that the node reads as a single media source rather than a wall of ports.
Install & requirements
Same pack, same install - Manager search "mmuuai-resolution-selector" or clone into custom_nodes and restart. Zero Python dependencies, no model downloads, no keys. One real requirement: the README states the node needs a ComfyUI build that provides comfy_api.latest (the native VIDEO API), so on an older install the video path fails with a 视频读取失败 error. And a genuine trap: don't install the separate mmuuai-universal-node repo alongside this pack, or you'll get duplicate node registration.
The gotchas
The pack ships hard resource limits: 500MB video files, 600s source, 6000 output frames, 200M source pixels for images, 300M output pixel-frames. Those are RunningHub's backend protections - this pack was clearly built for RunningHub's hosted ComfyUI, and the checks run in Python so they fire locally too. If you hit a "超过平台保护上限" error on a big batch, lower resolution, fps, duration, or image count rather than fighting the limit. Everything here is local file handling - no API calls, no credentials - which, given this ecosystem's malware history, is worth knowing before you run any small unknown pack. Expect Chinese labels everywhere.
Inputs (55)
| Name | Type | Default | Description |
|---|---|---|---|
| 分辨率 | COMBO | 720p | 6 options: 480p, 720p, 1080p, 1440p(2k), 2160p(4k), 4320p(8k) |
| 画面比例 | COMBO | 自动 | 14 options: 自动, 1:1, 3:4, 4:3, 9:16, 16:9, +8 |
| 尺寸倍数 | INT | 161–512 | — |
| 帧率 | INT | 241–240 | — |
| 时长 | FLOAT | 0.00–600 | — |
| 图片1 | COMBO | 2 options: , example.png | |
| 图片2 | COMBO | 2 options: , example.png | |
| 图片3 | COMBO | 2 options: , example.png | |
| 图片4 | COMBO | 2 options: , example.png | |
| 图片5 | COMBO | 2 options: , example.png | |
| 图片6 | COMBO | 2 options: , example.png | |
| 图片7 | COMBO | 2 options: , example.png | |
| 图片8 | COMBO | 2 options: , example.png | |
| 图片9 | COMBO | 2 options: , example.png | |
| 图片10 | COMBO | 2 options: , example.png | |
| 图片11 | COMBO | 2 options: , example.png | |
| 图片12 | COMBO | 2 options: , example.png | |
| 图片13 | COMBO | 2 options: , example.png | |
| 图片14 | COMBO | 2 options: , example.png | |
| 图片15 | COMBO | 2 options: , example.png | |
| 图片16 | COMBO | 2 options: , example.png | |
| 图片17 | COMBO | 2 options: , example.png | |
| 图片18 | COMBO | 2 options: , example.png | |
| 图片19 | COMBO | 2 options: , example.png | |
| 图片20 | COMBO | 2 options: , example.png | |
| 视频文件 | COMBO | 1 options: | |
| 缩放方式 | COMBO | 居中裁剪 | 5 options: 保持原比例, 拉伸填满, 黑色补边, 绿色补边, 居中裁剪 |
| 插值算法 | COMBO | 兰索斯(高质量) | 6 options: 兰索斯(高质量), 最近邻, 双线性, 双三次, 区域插值, 精确最近邻 |
| JPEG压缩 | INT | 00–100 | — |
| 提示词 | STRING | — | |
| 选择项 | INT | 11–20 | — |
| 整数 | INT | 1-2147483648–2147483647 | — |
| 浮点数 | FLOAT | 1.00-1000000000–1000000000 | — |
| 布尔开关 | BOOLEAN | false | — |
| 跳过视频秒数 | FLOAT | 0.00–600 | — |
| 输入1opt | INT | — | |
| 输入2opt | INT | — | |
| 输入3opt | INT | — | |
| 输入4opt | INT | — | |
| 输入5opt | INT | — | |
| 输入6opt | INT | — | |
| 输入7opt | INT | — | |
| 输入8opt | INT | — | |
| 输入9opt | INT | — | |
| 输入10opt | INT | — | |
| 输入11opt | INT | — | |
| 输入12opt | INT | — | |
| 输入13opt | INT | — | |
| 输入14opt | INT | — | |
| 输入15opt | INT | — | |
| 输入16opt | INT | — | |
| 输入17opt | INT | — | |
| 输入18opt | INT | — | |
| 输入19opt | INT | — | |
| 输入20opt | INT | — |
Outputs (32)
| Name | Type | Description |
|---|---|---|
| 图片批次 | IMAGE | — |
| 视频 | VIDEO | — |
| 音频 | AUDIO | — |
| 宽度 | INT | — |
| 高度 | INT | — |
| 帧率 | INT | — |
| 视频总帧数 | INT | — |
| 文本 | STRING | — |
| 选择项 | INT | — |
| 整数 | INT | — |
| 浮点数 | FLOAT | — |
| 布尔值 | BOOLEAN | — |
| 图片1 | IMAGE | — |
| 图片2 | IMAGE | — |
| 图片3 | IMAGE | — |
| 图片4 | IMAGE | — |
| 图片5 | IMAGE | — |
| 图片6 | IMAGE | — |
| 图片7 | IMAGE | — |
| 图片8 | IMAGE | — |
| 图片9 | IMAGE | — |
| 图片10 | IMAGE | — |
| 图片11 | IMAGE | — |
| 图片12 | IMAGE | — |
| 图片13 | IMAGE | — |
| 图片14 | IMAGE | — |
| 图片15 | IMAGE | — |
| 图片16 | IMAGE | — |
| 图片17 | IMAGE | — |
| 图片18 | IMAGE | — |
| 图片19 | IMAGE | — |
| 图片20 | IMAGE | — |