Nodes/MiniMax H3 Novel Pipeline/Extract Chapter References
ComfyUI Node

Extract Chapter References

Turning novel chapters into a character-sheet database, one chapter at a time

By yuyuki·Created 6 days ago·Updated 2 days ago· 0
Extract Chapter References
  • lmstudio_config
  • chapter_catalogs
  • catalog_summary
chapter_paths
saved_chapter
chunk_chars5500
overlap_paragraphs2
temperature0.18
max_tokens2200
forcefalse
out_dir/tmp/ComfyUI/output/minimax_h3_novel/chapter_catalogs

If you're adapting a novel (or a fanfic, or a screenplay) into MiniMax H3 video with characters who actually stay recognizable between scenes, the whole job starts here. Extract Chapter References is the first real stage of the yuyuki/minimax_h3_novel_pipeline: it reads a chapter of raw text and asks a local Qwen model to pull out a structured catalog of every character, location, and notable object - canonical name, aliases, distinguishing features, a stable visual description, evidence anchors pointing back at the text, and hints about which reference views each entity needs. One chapter in, one chapter_XX_references.json out. Do this for all twenty chapters and you have the raw material for the pack's consolidation stage.

Notice what it does not do: no CLIP, no diffusion, no image generation, nothing rendered. Despite the pack's own README phrasing about a "generative CLIP model," the code is unambiguous - this node's docstring says "no ComfyUI CLIP is loaded." It's an LLM extraction job, the same local-LLM-as-graph-tool pattern from the broader ComfyUI ecosystem, and all of it happens over LM Studio's HTTP API.

Getting your text in

Two ways, and the UI makes the first one obvious: an upload button behind the saved_chapter dropdown lets you push .txt, .md, .markdown, or .pdf files straight into ComfyUI's input folder, and previously uploaded chapters show up as choices. Or type filesystem paths into chapter_paths - the tooltip says it plainly: one chapter file or folder per line, and a folder means every supported file inside it. Feed it a whole chapters/ directory and it processes each file in turn. PDF support needs pypdf installed in ComfyUI's Python environment, which the pack's requirements cover.

The inputs that actually matter

lmstudio_config comes from LM Studio Configuration - wire that first or nothing runs. Beyond that you're mostly tuning how the LLM eats the text:

  • chunk_chars (5500) - each chunk of the chapter sent per extraction call. The v2.4 release notes lowered this deliberately: for a local 9B Q8 model, several moderate calls beat one gigantic request that dies halfway through.
  • overlap_paragraphs (2) - how much context bleeds between chunks so an entity straddling the cut doesn't get lost.
  • max_tokens (2200) - the JSON output budget per call, kept tight on purpose.
  • force - set it to ignore cached results and re-extract. The pack caches aggressively, which is great until you realize you edited the prompt and it's still serving you yesterday's JSON.
  • temperature (0.18) - low and structured, as extraction should be. Crank it and the schema starts wobbling.

Outputs are chapter_catalogs (type MINIMAX_CHAPTERS, feeds Consolidate References) and a catalog_summary string - a compact per-chapter count of characters/locations/objects that's worth a glance before you spend the next hour consolidating.

Where people get burned

The dominant failure mode is local Qwen3.5 models running out of output tokens before closing their JSON - the README's v2.3/v2.4 changelogs are basically a war diary of this. The node handles it with automatic compact-output retries, but if you see it repeatedly, lower chunk_chars or max_tokens, keep thinking off (hidden reasoning steals the token budget), and check the retry knobs on the LM Studio Configuration node. Expect this node to be the slow one in the pack - a full novel means many sequential LLM calls, and LM Studio's recommended Max Concurrent Predictions = 1 makes it strictly serial. Get a coffee. Then wire chapter_catalogs into Consolidate References and let the cast list take shape.

CategoryMiniMax H3 Novel

Inputs (9)

NameTypeDefaultDescription
lmstudio_configMINIMAX_LMSTUDIO_CONFIG
chapter_pathsSTRINGOne chapter file or folder per line.
saved_chapterCOMBOPreviously uploaded chapter.
chunk_charsINT55001000–1000000
overlap_paragraphsINT20–100
temperatureFLOAT0.180–2
max_tokensINT2200256–32768Normal JSON output budget per extraction/merge call.
forceBOOLEANfalseIgnore compatible cached chapter results.
out_dirSTRING/tmp/ComfyUI/output/minimax_h3_novel/chapter_catalogs

Outputs (2)

NameTypeDescription
chapter_catalogsMINIMAX_CHAPTERS
catalog_summarySTRING