Nodes/GALIAIS-Nodes/GALIAIS-Nodes Multi Character Coordinator
ComfyUI Node

GALIAIS-Nodes Multi Character Coordinator

Turn Per-Character Sections Into One Coherent Frame

By GALIAIS·Created 3 months ago·Updated 3 months ago· 0
GALIAIS-Nodes Multi Character Coordinator
  • 提示词段1
  • 提示词段2
  • 提示词段3
  • 提示词段4
  • 提示词段5
  • 提示词段6
  • 提示词段7
  • 提示词段8
  • 提示词段9
  • 提示词段10
  • 提示词段11
  • 提示词段12
  • 提示词段13
  • 提示词段14
  • 提示词段15
  • 提示词段16
  • 多角色叙事段
  • 叙事文本
  • 布局JSON
  • 上游上下文
启用true
输出语言英文
空间布局左到右
角色关系交互
关系补充
去重true

Two characters is where tag prompting starts to fall apart. You can describe each one perfectly and still get a frame where they're not looking at each other, or the model merges them into one person. The Multi Character Coordinator exists for exactly that moment: it takes up to sixteen per-character prompt sections and reassembles them into a single coherent narrative section with an explicit spatial layout and relationship.

It's the pack's answer to the "which character is which" problem - and notably, it's rule-based text assembly, not an LLM. No API key, no surprises, fully deterministic.

How it works

Up to 提示词段1 through 提示词段16 (character section inputs, type GALIAIS_NODES_CHARACTER_SECTION) plug in - these come from the pack's per-character nodes like CharacterIdentity and CharacterOutfit. Then you declare the frame:

  • 空间布局 (spatial layout): 左到右 (left-to-right), 前后景 (foreground/background), 中心环绕 (center-surround), or 对称 (symmetrical).
  • 角色关系 (relationship): 并列 (side-by-side), 交互 (interacting), 对视 (eye contact), 追逐 (chasing), 保护 (protecting), 对立 (opposition), or 自定义 (custom).
  • 关系补充 (relation note) - free text to add nuance the preset can't express, like "but they refuse to acknowledge each other."
  • 输出语言 (Chinese / English / mixed) and 去重 (dedupe).

The node composes a narrative text that positions each character and their relationship, and emits it as a 多角色叙事段 (multi-character narrative section) that downstream composer nodes can treat like any other section, plus 叙事文本 (the plain text itself), 布局JSON (the machine-readable layout), and 上游上下文 (upstream context for chaining into the next character node).

Installing it

It's part of the GALIAIS-Nodes pack:

cd ComfyUI/custom_nodes
git clone https://github.com/GALIAIS/GALIAIS-Nodes.git

Restart ComfyUI, or install via ComfyUI Manager ("GALIAIS-Nodes"). No Python dependencies. It works standalone with string sections, but the intended flow feeds it the typed character sections from the pack's own 01–10 character nodes - that's what makes the layout logic know where each person is.

Why it's worth it, and where it's not magic

This is the node that keeps your multi-character prompts legible instead of a 300-token pile. But keep expectations calibrated: it arranges and describes; it can't force a sampler to render the arrangement. The layout and relationship language it emits is guidance, and guidance works a lot better on Anima-style models with strong prompt comprehension than on strict tag models. The trap is skipping the per-character sections and feeding it raw text blobs - the layout machinery reads those section objects, so garbage sections produce generic output. Wire it correctly and the narrative text genuinely holds together; wire it lazily and it's just a join node with extra steps.

CategoryGALIAIS-Nodes/character

Inputs (22)

NameTypeDefaultDescription
启用BOOLEANtrue
输出语言COMBO英文3 options: 中文, 英文, 中英混合
空间布局COMBO左到右4 options: 左到右, 前后景, 中心环绕, 对称
角色关系COMBO交互7 options: 并列, 交互, 对视, 追逐, 保护, 对立, +1
关系补充STRING
去重BOOLEANtrue
提示词段1optGALIAIS_NODES_CHARACTER_SECTION
提示词段2optGALIAIS_NODES_CHARACTER_SECTION
提示词段3optGALIAIS_NODES_CHARACTER_SECTION
提示词段4optGALIAIS_NODES_CHARACTER_SECTION
提示词段5optGALIAIS_NODES_CHARACTER_SECTION
提示词段6optGALIAIS_NODES_CHARACTER_SECTION
提示词段7optGALIAIS_NODES_CHARACTER_SECTION
提示词段8optGALIAIS_NODES_CHARACTER_SECTION
提示词段9optGALIAIS_NODES_CHARACTER_SECTION
提示词段10optGALIAIS_NODES_CHARACTER_SECTION
提示词段11optGALIAIS_NODES_CHARACTER_SECTION
提示词段12optGALIAIS_NODES_CHARACTER_SECTION
提示词段13optGALIAIS_NODES_CHARACTER_SECTION
提示词段14optGALIAIS_NODES_CHARACTER_SECTION
提示词段15optGALIAIS_NODES_CHARACTER_SECTION
提示词段16optGALIAIS_NODES_CHARACTER_SECTION

Outputs (4)

NameTypeDescription
多角色叙事段GALIAIS_NODES_CHARACTER_SECTION
叙事文本STRING
布局JSONSTRING
上游上下文STRING