Nox Prompt Narrative Weaver
The node that fills the Builder's inputs for you
- subject_focus
- scene_setting
- motion_arc
- narrative_hook
- extra_descriptors
- preset_status
If you squint at Nox Prompt Builder and think "I don't want to write subject, scene, and motion arc myself," this is the node for you. Nox Prompt Narrative Weaver is the Builder's front-end: you pick a hero archetype, a story tone, and an environment, and it outputs exactly the fragments the Builder consumes - subject_focus, scene_setting, motion_arc, narrative_hook, and extra_descriptors. The output names aren't a coincidence; they match the Builder's input names one-to-one so the wiring is drag-and-drop.
The README's recommended trio is Narrative Weaver → Palette Mixer → Prompt Builder: Weaver supplies the story text, Palette Mixer the color overrides, and Builder assembles the whole thing. That's the pack's thesis in one sentence - keep the fragments separately authored and synced, then let the assembler own the final string.
How it works
Same curated-vocabulary machinery as the rest of the pack. Required hero_archetype, story_tone, and environment resolve against dictionaries in constants.py; optional set_piece, tempo, and focus_detail add staging, pacing, and emphasis language. It then weaves those into five prose fragments rather than one blob - which is the point. Keeping subject, scene, motion, hook, and descriptors as separate strings means each can be routed, edited, or replaced independently before assembly, and the Builder can apply its keyword_style formatting to them.
Inputs and outputs that matter
Required: hero_archetype, story_tone, environment. tempo is the one optional I'd reach for - it's the difference between "walks into the room" and "bursts into the room," and it feeds the motion fragment. Outputs: subject_focus, scene_setting, motion_arc, narrative_hook, extra_descriptors, and preset_status. All but the last wire straight into Nox Prompt Builder (or into Pipeline Combiner's narrative_subject/narrative_scene/narrative_motion/narrative_hook inputs).
Installing it
Pack install, once. ComfyUI Manager: search "Nox Prompter", install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/jamesk9526/NoxPrompter-ComfyUI-CustomNode
Restart, find the NoxPrompter category. No dependencies, no models.
Gotchas
The usual stale-README ComfyNoxPrompter URL warning. The one real trap: because the five outputs are separate strings, it's easy to wire all of them into the Builder and then also type your own subject_focus into the Builder - you'll get duplicate subject text. Pick one source per slot. Also, its prose fragments read as sentences, so like the rest of the pack it shines on sentence-based models; if you're on an SDXL-lineage checkpoint you'll want the Builder's keyword_style on compact or inline to keep the tag density reasonable. And note this node has presets (preset_action/preset_name), so once you find a tone combo you like, save it - narrative setups are painfully reusable.
Inputs (8)
| Name | Type | Default | Description |
|---|---|---|---|
| hero_archetype | COMBO | Resolute Protector | 7 options: Resolute Protector, Wandering Visionary, Arcane Duelist, Rebel Outrider, Archivist Seer, Skyline Courier, +1 |
| story_tone | COMBO | Hopeful Resurgence | 7 options: Hopeful Resurgence, Brooding Tension, Whimsical Discovery, Rising Triumph, Haunting Echo, Electric Rebellion, +1 |
| environment | COMBO | Rain-Soaked Citadel | 7 options: Rain-Soaked Citadel, Skybound Orchard, Desert Mirage Bazaar, Submerged Temple, Skyline Rooftops, Luminal Skyway, +1 |
| set_pieceopt | COMBO | Climactic Duel | 7 options: Climactic Duel, Heist Dash, Revelation Stillness, Rescue Descent, Diplomatic Standoff, Skyway Escape, +1 |
| tempoopt | COMBO | surging | 8 options: slow burn, measured build, surging, frantic, syncopated pulse, glacial stillness, +2 |
| focus_detailopt | STRING | — | |
| preset_actionopt | COMBO | none | 4 options: none, save, load, list |
| preset_nameopt | STRING | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| subject_focus | STRING | — |
| scene_setting | STRING | — |
| motion_arc | STRING | — |
| narrative_hook | STRING | — |
| extra_descriptors | STRING | — |
| preset_status | STRING | — |