Consolidate References
Where twenty per-chapter character sheets become one cast list
- chapter_catalogs
- lmstudio_config
- consolidated_references
Extract Chapter References gives you a pile of per-chapter JSON files where the same woman is "Elena" in chapter one and "the tall redhead" in chapter nine. If you fed that straight to a video model you'd get a different person every scene - character consistency is the single most complained-about problem in this whole space, and it doesn't solve itself. Consolidate References is where the pile becomes a single, de-duplicated cast list.
It takes chapter_catalogs (type MINIMAX_CHAPTERS, from the extractor or a loader node) plus the shared lmstudio_config, then runs each chapter's catalog through the LLM against the registry it's building: same character across chapters → one stable entity with a permanent book-level ID like CHAR_001 and a canonical name. That ID is the contract everything downstream relies on. The node's own payload spells out the design: those global IDs are permanent, while MiniMax H3's <Subject 1>/<Picture 1> labels are request-local and get remapped per scene later. Never conflate the two.
What it actually produces
Beyond the registry of entities, this node is what defines the images you need to make. It assigns each entity a set of picture asset briefs - a multi-view policy based on how important the entity is. A major character gets the works: FACE_FRONT, FULL_BODY_FRONT, THREE_QUARTER, BACK_VIEW. A major location gets WIDE_ESTABLISHING, SECONDARY_ANGLE, KEY_DETAIL. A minor object might get a single hero 3/4. It writes those briefs to disk as reference_asset_prompts.txt alongside the big consolidated_references.json - that text file is your to-do list. The pack does not draw the pictures; you go render those PNGs (and any WAVs for audio assets) so later stages can point H3 at them.
The inputs that matter
The policy knobs are the ones a beginner actually reaches for:
- picture_threshold / audio_threshold -
optional/recommended/required. Defaultrecommendedskips throwaway minor entities. Drop tooptionalif you want references for literally everyone who walks through a scene. - max_character_base_views (4), max_location_base_views (3), max_object_base_views (2) - caps on how many reference images per entity. Fewer views means fewer PNGs you have to render and a smaller budget when H3 prompts are built.
- candidate_count (12) / include_all_below (35) - control which entities are consolidation candidates; niche knobs you can leave alone.
- no_variants - chapter-specific variants exist for real visual breaks (disguise, injury, transformation, time jump). If a character's appearance doesn't change mid-book, flip this on to skip the extra asset briefs.
- no_audit / audit_max_entities - the node runs an LLM audit pass over the merged registry (
audit_max_entitiesdefaults to 120). Turn the audit off only when you trust the extraction. - asset_batch_size (16) - how many asset briefs each LLM call handles. temperature (0.12) is low because this is structured reconciliation, and max_tokens (8500) is the roomy output budget.
The single output is consolidated_references (type MINIMAX_REGISTRY), which feeds Generate H3 Prompts. The JSON it saves contains the entities, the picture and audio asset banks, and an entity_asset_index for fast lookup, all stamped with a source_digest of the chapters it came from.
Notes from the trenches
This is a long-running node - reconciling every chapter through an LLM, auditing, then generating asset briefs means dozens of sequential calls. It's interruptible (hit Stop and it checks mid-stream), but plan for it to run for a while. If your output mysteriously lacks an entity you're sure appeared, check the thresholds before you blame the LLM. And the smart workflow: run extraction once, then use Load Chapter Catalogs to feed this node from disk on later iterations, so tweaking no_variants doesn't cost you a full re-extraction.
Inputs (16)
| Name | Type | Default | Description |
|---|---|---|---|
| chapter_catalogs | MINIMAX_CHAPTERS | — | |
| lmstudio_config | MINIMAX_LMSTUDIO_CONFIG | — | |
| candidate_count | INT | 121–1000 | — |
| include_all_below | INT | 350–100000 | — |
| picture_threshold | COMBO | recommended | 3 options: optional, recommended, required |
| audio_threshold | COMBO | recommended | 3 options: optional, recommended, required |
| max_character_base_views | INT | 41–7 | — |
| max_location_base_views | INT | 31–6 | — |
| max_object_base_views | INT | 21–4 | — |
| asset_batch_size | INT | 161–1000 | — |
| no_variants | BOOLEAN | false | — |
| no_audit | BOOLEAN | false | — |
| audit_max_entities | INT | 1200–100000 | — |
| temperature | FLOAT | 0.120–2 | — |
| max_tokens | INT | 8500256–100000 | — |
| out_dir | STRING | /tmp/ComfyUI/output/minimax_h3_novel/references | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| consolidated_references | MINIMAX_REGISTRY | — |