Nodes/ComfyUI_MieNodes/Asset → Assets 🐑
ComfyUI Node

Asset → Assets 🐑

The Collector You Wire Before Asset → Slots

By MieMieeeee·Created 2 years ago·Updated a day ago· 269
Asset → Assets 🐑
  • character_1
  • character_2
  • character_3
  • character_4
  • character_5
  • character_6
  • character_7
  • character_8
  • character_9
  • scene_1
  • scene_2
  • scene_3
  • scene_4
  • scene_5
  • scene_6
  • scene_7
  • scene_8
  • scene_9
  • assets

You've got a Load Asset 🐑 for the hero, one for the grandmother, one for the kitchen - and downstream you have a node that wants a roster, not six separate wires. Asset → Assets 🐑 is that adapter. It takes the individual asset bundles your Load nodes hand out and squashes them into one ordered MIE_ASSET_ROSTER that Asset → Slots 🐑 can split back apart into numbered picture and audio outputs.

If you're using MiniMax H3 Loop Plan Generator V2 🐑, you probably don't need this node - the generator already emits its own assets roster from its sockets, aligned with the prompts by construction. This one exists for the other case: a plain video chain where the Load nodes talk to Asset → Slots directly, with no prompt generator in the middle.

How it collects, and why order is the entire contract

The node has eighteen optional sockets, character_1 through character_9 and scene_1 through scene_9, and it grows the next socket as you wire the tail one, so an empty node looks like it has two inputs and not eighteen. On execution it walks all nine character slots in index order, then all nine scene slots, skips whatever isn't wired, and appends each bundle to one flat list. That list is the output.

The consequence is the whole point: slot order is <Picture N>. The first character you wire becomes Picture 1, the second Picture 2, and scenes come after every character no matter which socket they sit in. This is the same numbering rule the prompt generator uses, so if you wire both nodes in the same order you get the same numbers - and the canvas label on both shows the wired names in slot order, so you can eyeball whether they agree instead of counting sockets.

It's the "one wire instead of forty" pattern that ComfyUI plumbing settled on years ago: the bundle carries name, description, voice, image and audio together, and there's nothing to unpack and re-thread. The trade-off is the one that pattern always has - a single wire is legible, but it hides what's inside it. If you wire a scene into character_1, nothing on the canvas tells you. What you get instead is a hard error at execution.

Inputs and outputs

All eighteen slots are MIE_ASSET and all are optional; there's nothing to type. Wire the asset output of a Load Asset node into each one.

The one output is assets (MIE_ASSET_ROSTER), and it goes into exactly one place: the assets input of Asset → Slots. Nothing else in the pack eats a roster.

Execution enforces three things, all loudly: a bundle whose kind doesn't match the socket prefix (character_N fed a scene, or the reverse) raises and names the socket; the same asset wired into two slots raises duplicate asset in the roster; and more than nine assets raises, because the H3 manifest only supports nine pictures.

Install

Grab the pack through ComfyUI Manager (search ComfyUI_MieNodes) or clone it and restart:

cd ComfyUI/custom_nodes
git clone https://github.com/MieMieeeee/ComfyUI-MieNodes
pip install -r ComfyUI-MieNodes/requirements.txt

The asset-library nodes don't download any models - the "assets" are plain files on disk (a JSON plus a PNG, plus a WAV for characters) under the plugin's asset_library/ folder, or whatever $MIE_ASSET_LIBRARY points at. The pack's requirements are all small utilities (pillow, soundfile, imagehash, huggingface_hub and friends), so this is a light install compared to a video-model pack. You'll still need the video model itself elsewhere in the graph.

Things that go wrong

The error messages here are unusually specific, which is good, because the failure modes are user-side. character_2 is not a character asset bundle means you wired a scene Load into a character slot - the fix is the socket, not the node. duplicate asset in the roster means the same name went in twice, and it's almost always a copy-pasted Load node that still points at the first asset.

The subtler one is a roster that builds fine and produces the wrong video. That's not the node's fault: you wired the sockets in a different order than the plan that's generating your <Picture N> references. Re-wire in the same order, or just put the generator back in front and use its own assets output - that's the version where alignment can't drift.

Category🐑 MieNodes/🐑 Assets

Inputs (18)

NameTypeDefaultDescription
character_1optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_2optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_3optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_4optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_5optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_6optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_7optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_8optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
character_9optMIE_ASSET接 Load Asset(角色)的 asset 输出;按序号排 <Picture N>,接上尾槽自动露出下一个。 Wire a character Load Asset's asset output; slot order = <Picture N>; wiring the tail socket grows the next.
scene_1optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_2optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_3optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_4optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_5optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_6optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_7optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_8optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.
scene_9optMIE_ASSET接 Load Asset(场景)的 asset 输出;排在全部角色之后。 Wire a scene Load Asset's asset output; scenes come after all characters.

Outputs (1)

NameTypeDescription
assetsMIE_ASSET_ROSTER—