Nodes/ComfyUI Nox Prompter/Nox Prompt Pipeline Combiner
ComfyUI Node

Nox Prompt Pipeline Combiner

The node that turns your whole graph into one prompt

By jamesk9526·Created 11 months ago·Updated 11 months ago· 0
Nox Prompt Pipeline Combiner
    • master_prompt
    • negative_prompt
    • pipeline_order
    • reference_notes
    core_prompt
    enhanced_prompt
    character_prompt
    human_prompt
    wardrobe_prompt
    action_prompt
    lighting_prompt
    nsfw_prompt
    narrative_subject
    narrative_scene
    narrative_motion
    narrative_hook
    palette_overrides
    custom_keywords
    extra_descriptors
    negative_prompt
    additional_negative
    safety_notes
    sequence_notes
    section_separator
    content_separator,
    include_labelstrue
    builder_dynamic_notes
    action_notes
    lighting_notes_detail
    nsfw_action_notes
    camz_notes
    camera_overrides

    This is the terminal node of the Nox Prompter pack - the one you wire every other node's output into when you want one master prompt instead of seven fragments. Nox Prompt Pipeline Combiner takes the Builder's prompt, the character/human/wardrobe outputs, narrative fragments, palette overrides, action notes, lighting notes, NSFW notes, and a handful of custom strings, and weaves them into a single master_prompt plus an aggregated negative list, a pipeline order, and grouped reference notes. If the pack is a set of ingredients, this is the bowl you mix them in.

    How it works

    Unlike the simple string concat of Nox Prompt Combiner, this node actually curates. It collects every non-empty optional input, formats the palette and keyword blocks, and assembles sections using section_separator (default newlines) and content_separator (default , ), with include_labels (default on) tagging each section. Then it runs a contradiction check: the detect_prompt_contradictions helper compares fragments against PROMPT_CONTRADICTION_RULES in constants.py - time-of-day conflicts, palette mismatches, and similar descriptor disagreements - and appends a "Consistency:" warning line to the reference notes when it finds one. That's the feature that makes this more than a glue node: it's the pack's quality gate.

    pipeline_order lists every node that contributed, matching the Usage Guide's recommended sequence - useful for review sessions and for anyone else loading your workflow. reference_notes groups the camera, motion, palette, and safety notes by theme, which is what you archive, not what you encode.

    Inputs and outputs that matter

    Only core_prompt is required - everything else (27 optional strings) is additive. If you're building incrementally, start by feeding the Builder's prompt into core_prompt, the Builder's negative_prompt into negative_prompt, then attach character/wardrobe/narrative/lighting as you add nodes. Outputs: master_prompt, negative_prompt (the merged list), pipeline_order, reference_notes. Note there's no preset_status here and no preset support - it's stateless by design.

    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.

    Gotchas

    Same stale-README warning. Practical advice: don't wire every output from every node in - the more inputs you fill, the more duplicate terms you invite, and the contradiction checker can't dedupe your own double-feeds (feed it a scene prompt in both core_prompt and narrative_scene and it'll happily include both). Keep one source per concept. And remember the negatives here are merged by concatenation, so if you're on an LLM-encoded model where negatives barely register, don't expect the merged list to do more than the sum of its parts.

    CategoryNoxPrompter/Workflow

    Inputs (28)

    NameTypeDefaultDescription
    core_promptSTRING
    enhanced_promptoptSTRING
    character_promptoptSTRING
    human_promptoptSTRING
    wardrobe_promptoptSTRING
    action_promptoptSTRING
    lighting_promptoptSTRING
    nsfw_promptoptSTRING
    narrative_subjectoptSTRING
    narrative_sceneoptSTRING
    narrative_motionoptSTRING
    narrative_hookoptSTRING
    palette_overridesoptSTRING
    custom_keywordsoptSTRING
    extra_descriptorsoptSTRING
    negative_promptoptSTRING
    additional_negativeoptSTRING
    safety_notesoptSTRING
    sequence_notesoptSTRING
    section_separatoroptSTRING
    content_separatoroptSTRING,
    include_labelsoptBOOLEANtrue
    builder_dynamic_notesoptSTRING
    action_notesoptSTRING
    lighting_notes_detailoptSTRING
    nsfw_action_notesoptSTRING
    camz_notesoptSTRING
    camera_overridesoptSTRING

    Outputs (4)

    NameTypeDescription
    master_promptSTRING
    negative_promptSTRING
    pipeline_orderSTRING
    reference_notesSTRING