Nodes/DOGMA Nodes/DOGMA v37 Fixed Category Prompt
ComfyUI Node

DOGMA v37 Fixed Category Prompt

DOGMA v37 Fixed Category Prompt

By axior·Created 4 months ago·Updated 3 days ago· 1
DOGMA v37 Fixed Category Prompt
    • prompt
    • info
    family

    If you have ever watched an edit model "improve" a photo by quietly adding two extra cars and a modernised facade, this node is the antidote. It hands you a hand-written refinement prompt for one of six scene families, and every one of those prompts is built around a single instruction: change the detail, not the content.

    It's a preset. No model, no VLM, no thinking. You pick vehicles and you get a paragraph.

    What it is and where it sits

    The DOGMA pack is a semantic-detailer pipeline for restoring photographs - the loop described in the detection-and-detailing playbook: find a region, crop it, re-render it at a resolution where the model can actually resolve detail, paste it back. That's the same loop FaceDetailer and ADetailer run, and the reason people keep reaching for it is unchanged: a 1024px frame has no latent budget for a face that occupies 70 pixels, and no whole-frame editor can spend it locally either.

    Where this pack differs is the prompt half of the loop. Most detailers give you one prompt box and apply it to every detected region. DOGMA instead carries a category string through the graph and turns it into a per-category instruction, and DOGMAFixedCategoryPromptV37 is the version that removes the VLM from that step: the text is baked into the node, so the same family always yields the same prompt. Deterministic, reproducible, and free of a Qwen3-VL load.

    That matters more than it sounds if you're iterating on a workflow. When your prompts are generated by a language model, a "why did this tile change?" question has no stable answer. Here it does.

    How it works

    There's no mechanism to speak of - it's a dictionary lookup. The family widget selects one of six keys and the node returns the matching prompt. What's worth reading is what the prompts actually say, because they encode the author's entire philosophy.

    Every one of the six starts with REFINE THE EXISTING ... ONLY and then lists what is locked: exact count, position, scale, silhouette, occlusion, approximate colour. Vehicles must not be modernised, people must be neither added nor beautified, architecture must not be redesigned, "a lawn must remain the same lawn," street objects must not multiply, and road markings must not be invented. Three of the six end with an explicit text-preservation clause (Preserve plate text, Preserve all text and signs, Do not add objects or rewrite text).

    That last pattern is the pack's recurring obsession. Text that gets regenerated is text that gets rewritten into different words, so across the whole DOGMA line the author keeps protecting signage rather than trusting the model to leave it alone - the same reasoning as DOGMAGlobalRefineMaskV14, which excludes sign pixels from the refine mask outright.

    Inputs and outputs

    One input, and it's a dropdown: family, with six choices - vehicles, people, architecture, vegetation, street_objects, road_ground. There is nothing else to set. Two outputs: prompt (STRING) and info (STRING). The info is a one-line receipt, in the form v37 fixed prompt: vehicles, which is handy when you've got six of these nodes on a canvas and need to know which is which.

    prompt wires into a CLIP Text Encode (or whatever your Klein stack conditions with). info is for a text preview or just to leave dangling; nothing consumes it.

    Because the output is a plain STRING, the rest of the loop is unchanged. You still need a mask - SAM, or a YOLO pass - still need crops that match the mask, and still need a stitch node to put the result back. This node only removes the question of what to say about the region.

    Install

    Same as the rest of the pack. ComfyUI Manager → search DOGMA Nodes (publisher axior), install, restart. Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/axior/ComfyUI-DOGMA-Nodes
    # restart ComfyUI
    

    There is nothing to pip install - the pack's requirements.txt is a single comment line saying there are no external dependencies - and the pack itself ships no model weights. What you will need comes from the workflows around it: a FLUX.2 Klein checkpoint, a segmenter, and (for the VLM nodes in the same pack) Qwen3-VL.

    Common issues

    The README does not document this node, or any of the ~160 other semantic nodes in the pack. It still only covers the WAN VACE prep nodes and the DOGMA sampler select. So don't go looking for the docs; the node menu is the docs.

    The bigger practical trap is version soup. The pack registers every version it has ever written side by side, so searching "fixed category prompt" or "category prompt" in the node menu shows you a pile of near-identical names across several major versions. Pick the highest number you can find for the job - later versions in this pack are consistently more conservative, and that's the direction the author kept pushing. If you're on a v54-or-later workflow that expects a kind output, use DOGMAGenerativeCategoryPromptV54 instead of this one; that's the generative replacement, and the crops and mask nodes downstream are written around its OBJECT/STRUCTURE/SURFACE split.

    CategoryDOGMA/Semantic Detailer

    Inputs (1)

    NameTypeDefaultDescription
    familyCOMBO6 options: vehicles, people, architecture, vegetation, street_objects, road_ground

    Outputs (2)

    NameTypeDescription
    promptSTRING
    infoSTRING