T8 Creative Context Assembler(创作上下文组装)
The glue node that feeds your whole creative suite into the old prompt enhancers
- creative_brief
- reference_role_map
- creative_dna_mix
- personal_preset
- enhancer_context
- assembled_context_json
Here's the thing that makes T8's whole Creative Suite hang together: the LLM-powered nodes talk to each other with typed sockets, but your existing H3 and Seedance prompt enhancers just take a plain STRING. T8 Creative Context Assembler(创作上下文组装) is the bridge. It's a pure-local node that gathers up everything you've built - the creative brief, the reference-role map, the DNA mix, your personal preset - and assembles them into one text block your older enhancer can actually read.
Think of it as the checkout counter for the suite. You run Director, Role Mapper, DNA Mixer and Personal Preset, wire all four typed outputs into this node's four optional sockets, and out the other side comes enhancer_context, ready to drop into the "参考素材补充" / reference-context input on the H3 node (or the equivalent on Seedance 2.0). You keep your existing enhancer, your existing workflow, your existing saved widgets - you just give it a much better-informed context than "a beautiful woman, cinematic lighting."
The inputs and the precedence
Every input is optional, but at least one must be connected or extra_constraints filled in - otherwise it errors with "至少连接一项创作上下文". The sockets:
creative_brief(T8_CREATIVE_BRIEF) - from the Director.reference_role_map(T8_REFERENCE_ROLE_MAP) - from the Reference Role Mapper.creative_dna_mix(T8_CREATIVE_DNA_MIX) - from the DNA Mixer.personal_preset(T8_PERSONAL_CREATIVE_PRESET) - from the Personal Preset node.extra_constraints- a plain text box for hard requirements you want right now, without building a whole preset.
It doesn't just concatenate. The node appends a precedence line that every consumer is expected to respect: explicit user facts and connected media > LOCK fields > hard constraints > selected T8/user creative mechanisms > EVOLVE > AUTO. In other words, if the Director locked identity and your DNA mix suggests a camera grammar that would fight it, the lock wins. That ordering is the entire point of the suite - exploration is encouraged, but only inside the boundaries you drew.
Outputs are enhancer_context (the STRING you wire into your enhancer) and assembled_context_json (the structured payload, for keeping or logging).
Installing
This is part of the comfyui-minimax-h3-prompt-enhancer-T8 pack. Install via ComfyUI Manager (search "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
Then restart ComfyUI and Ctrl+F5 the browser. No new dependencies - this node doesn't call anything, it just reshapes text.
Where people get tripped up
The most common mistake is treating enhancer_context as a finished prompt. It isn't - it's context for the enhancer, which still does the actual writing. Feed it to the reference-context slot, not the main prompt field, or you'll get the brief plus the brief's shadow in one prompt. And keep in mind this pack is a third-party layer from T8 (T8mars), a creator who mostly hangs out on Bilibili and YouTube; it's not an official MiniMax or ByteDance product, and these nodes never touch the H3 or Seedance generation APIs themselves. One light win: since everything is assembled locally with no LLM call, you can re-run the whole chain cheaply - only the nodes upstream of it actually cost you tokens.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| creative_briefopt | T8_CREATIVE_BRIEF | — | |
| reference_role_mapopt | T8_REFERENCE_ROLE_MAP | — | |
| creative_dna_mixopt | T8_CREATIVE_DNA_MIX | — | |
| personal_presetopt | T8_PERSONAL_CREATIVE_PRESET | — | |
| extra_constraintsopt | STRING | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| enhancer_context | STRING | — |
| assembled_context_json | STRING | — |