Nodes/DOGMA Nodes/DOGMA Object Settings v34 — Short Prompt / Base 0.35
ComfyUI Node

DOGMA Object Settings v34 — Short Prompt / Base 0.35

The 18-word limit that fixes local prompts

By axior·Created 4 months ago·Updated 3 days ago· 1
DOGMA Object Settings v34 — Short Prompt / Base 0.35
    • group_radius
    • context_px
    • max_source_side
    • target_long_side
    • max_crops
    • stitch_strength
    • vlm_request
    • summary
    category
    restoration_brief

    Ask a vision model to describe a crop and it will happily write you three paragraphs - which is exactly how a local repair pass turns into a wholesale reinterpretation. DOGMAObjectSettingsV34 exists to stop that: it keeps v27's whole-object crop geometry and replaces the long per-crop instruction with a request for one line, max 18 words.

    What it does

    Same shape as the rest of the family - category and restoration_brief in; group_radius, context_px, max_source_side, target_long_side, max_crops, stitch_strength, vlm_request, summary out. But the numbers come straight from v27's table (it's a subclass, so faces stay at (48, 112, 2304, 2048, 8, …) and hands at (40, 104, 2048, 1792, 8, …)), and two things change.

    stitch_strength is forced to 1.0 for every category. That's the "safe stitch" promise in the docstring: the stitched region is the model's output, not a blend that drags faint original pixels back through the repair. The paired v34 stitch behaviour keeps the mask core fully opaque and feathers only outside it, so you don't get a ghosted double-image where the patch meets the scene.

    vlm_request becomes a one-liner with a hard format lock, assembled per category:

    Inspect only the existing {category} in this crop. Return ONE line, max 18 words, starting exactly 'FIX VEHICLES:'. Name the visible geometry/anatomy/material defect to repair. If none, write 'none'. Preserve count and position. Never request text changes.

    That format is not cosmetic. The downstream composer strips the FIX VEHICLES: prefix it asked for and rebuilds a Klein instruction that starts with those two words, because on an LLM-encoded model like Flux 2 Klein the first tokens dominate - the pack's own comment says Klein is "highly sensitive to the first words". It also hard-filters destructive verbs: if the VLM answers with remove, replace, rewrite, rename, invent, add new or create new, the whole answer is thrown away and treated as no defect.

    Why the short prompt matters

    Long local prompts are the single most common way an "object repair" becomes an object redesign. The crop is 2000px of one car; the model sees a car, gets eleven clauses of instruction, and rewrites the car. Cutting the instruction to what's visibly broken keeps the pass surgical, and it costs nothing: 18 words is plenty to say "fused wheel arches and doubled door handles".

    The summary output states the whole policy so you don't have to reconstruct it: v34 vehicles: v27 whole-object crop; Base 9B 20-step CFG4 denoise 0.35; short front-loaded prompt; groups≤8; stitch core opaque.

    Install

    ComfyUI Manager → DOGMA Nodes, or:

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

    Nothing extra to install. The README covers the pack's WAN VACE and sampler nodes and says nothing about this one - the semantic family ships with blank descriptions, so map version numbers from the source when the node list confuses you.

    Gotchas

    The Base 9B line is load-bearing. v34's summary assumes Flux 2 Klein base at 20 steps, CFG 4, denoise 0.35 for the local crop pass. Base and distilled are different animals: distilled runs 4 steps at CFG 1, so running the distilled checkpoint at CFG 4 is overcooking, and running base at 4 steps looks broken. Pick your checkpoint first, then your CFG.

    You still need a VLM. This node writes the request; something has to answer it. If you're on a v31-style graph that already does one full-frame audit, don't stack v34's per-crop request on top unless you want two audit passes.

    none is a real answer. The request explicitly allows the VLM to say the crop is fine, and the v34 pipeline turns that into a PRESERVE instruction plus an exact-original-crop gate downstream. That's the design working: no visible defect means no change. If you're seeing untouched crops and assuming a bug, check whether the VLM answered none.

    CategoryDOGMA/Semantic Detailer

    Inputs (2)

    NameTypeDefaultDescription
    categorySTRING
    restoration_briefSTRING

    Outputs (8)

    NameTypeDescription
    group_radiusINT
    context_pxINT
    max_source_sideINT
    target_long_sideINT
    max_cropsINT
    stitch_strengthFLOAT
    vlm_requestSTRING
    summarySTRING