Nodes/RuiquNodes for ComfyUI/EvaluateListMultiple9
ComfyUI Node

EvaluateListMultiple9

Run Python element-wise over a list, nine lanes

By ruiqutech·Created 2 years ago·Updated 2 years ago· 0
EvaluateListMultiple9
  • in1
  • in2
  • in3
  • in4
  • in5
  • in6
  • in7
  • in8
  • in9
  • out1
  • out2
  • out3
  • out4
  • out5
  • out6
  • out7
  • out8
  • out9
expression# 表达式为element-wise,合并时自动跳过全None的输出
input_count9
print_to_console

The largest fixed size in the list-flavored evaluate family: nine list-typed inputs (in1in9), nine list-typed outputs (out1out9), one expression running element-wise across all of it. Same input_count widget as every other node in this family goes to 20, so if nine genuinely isn't enough, you resize this one rather than looking for a bigger variant that doesn't exist.

What you're actually building at this size

Nine element-wise outputs per item, computed together, is well past "quick transform" - it's closer to a per-item processing script running inline in your graph. That's a real use case for batch pipelines (deriving nine related fields per entry in a list of assets, say), but it comes with the same honest trade-off as its non-list sibling EvaluateMultiple9: a nine-output expression is dense, and none of that logic is visible from the graph itself. Comment it, and keep anything genuinely complex somewhere more maintainable than a text box.

The element-wise contract

The node's default expression text states its own behavior (translated from the author's Chinese): element-wise execution across the batch, with any output column that's None for every element silently dropped at merge time. At nine outputs, it's easy to forget one - worth explicitly checking, after you've written the expression, that all nine outN are actually being assigned somewhere in your logic.

Inputs and outputs

  • expression (multiline STRING) - pre-filled with the element-wise hint.
  • input_count (INT, 1–20, default 9).
  • print_to_console - per-element debug echo.
  • Optional: in1in9 (type *).
  • Outputs: out1out9 (all is_list: true).

The caution, once more

Real, unrestricted Python execution - the README's own description is "any fragment of Python code," and nothing in the schema suggests any sandboxing. At this size, over a genuine batch, a bug in the expression touches every element in the list you're running it against - test on a short list first.

Installing it

ComfyUI Manager: search RuiquNodes, install, restart. Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/ruiqutech/ComfyUI-RuiquNodes

then restart. No models or extra dependencies.

Common issues

Several of the nine output lists come back empty. Almost always an assignment you missed in the expression, not a bug in the node - an all-None column gets dropped silently, per the node's stated behavior.

Hard to keep nine lanes straight. Name your links, comment the expression, and consider whether the logic genuinely needs nine parallel outputs or whether it's actually two or three separate, more legible nodes wearing one costume.

A single bad element crashes the whole batch. Use print_to_console to see per-element output as it runs and narrow down exactly which item in the list triggered it, rather than debugging blind against the merged result.

Categoryruiqu/evaluate

Inputs (12)

NameTypeDefaultDescription
expressionSTRING# 表达式为element-wise,合并时自动跳过全None的输出
input_countINT91–20
print_to_consoleCOMBO2 options: False, True
in1opt*
in2opt*
in3opt*
in4opt*
in5opt*
in6opt*
in7opt*
in8opt*
in9opt*

Outputs (9)

NameTypeDescription
out1*
out2*
out3*
out4*
out5*
out6*
out7*
out8*
out9*