T8 Character Performance Bible Stack(多角色表演集合)
Two characters, one scene, zero contradictions — stack your performance bibles
- character_performance_bibles
- character_performance_bible_set
- performance_contract_text
- performance_bible_set_json
The single-character case is easy: one T8 Character Performance Bible, one contract, done. But the moment a scene has two or more people, the naive approach falls apart - you feed the H3/Seedance enhancer two separate character contracts and it starts merging their objectives, giving both characters the same strategy and one person's cues bleeding into the other. T8 Character Performance Bible Stack exists so that doesn't happen.
Like the Bible it's built from, this node makes zero LLM calls. No key, no network, no cost. It's a local combinator: it takes one to eight individual character bibles, checks that you haven't handed it two versions of the same character, and merges them into a single multi-character contract that keeps every character's goal, tactics, and observable cues per person instead of flattening them into soup.
What it does mechanically
The input is one autogrowing socket, character_performance_bibles, that starts at 1 and can grow to 8 - you add one connection per character bible. On run, it validates two things hard: every character_id must be unique (duplicates are an error, not a warning), and the total can't exceed 8 characters. Then it compiles everything through the same contract rules as a single bible - one primary tactic per character per beat, max three observable cue channels per character per beat, dialogue preserved verbatim - and emits one consolidated instruction.
Outputs
character_performance_bible_set- a custom socket type. This is the one you wire onward: it plugs into the same optionalcharacter_performance_bibleinput on the H3 or Seedance 2.0 enhancer that a single Bible would use. The downstream node can't tell whether you sent one character or eight, which is exactly the point.performance_contract_text- the human-readable multi-character instruction.performance_bible_set_json- the compiled JSON.
The recommended flow, straight from the pack's README: multiple T8CharacterPerformanceBible nodes → Stack → H3/Seedance enhancer. It slots in with no extra prompt-writing requests, so it's free to run as many times as you like.
Installing and gotchas
It ships in the T8mars pack, so install the pack once - Manager search for "MiniMax H3 / Seedance 2.0 / Music 3 Prompt Enhancer (T8)", or:
cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-prompt-enhancer-T8
Restart ComfyUI after installing. The two failure modes to know: duplicate character_id values will hard-error the node (it rejects rather than silently deduping - use distinct IDs like 角色A/角色B), and the stack refuses more than 8 characters even though the autogrow socket may visually tempt you. Both are "fail loud" by design. One honest caveat: it organizes, it doesn't invent. If your scene needs a beat where one character is unaware of another's objective, that's information you still put in the individual bibles - the stack only makes sure nothing leaks between them.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| character_performance_bibles | COMFY_AUTOGROW_V3 | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| character_performance_bible_set | T8_CHARACTER_PERFORMANCE_BIBLE | — |
| performance_contract_text | STRING | — |
| performance_bible_set_json | STRING | — |