Nodes/orama/Vision Model Settings
ComfyUI Node

Vision Model Settings

One set of dials for every vision model in the graph

By mamorett·Created 3 months ago·Updated 3 months ago· 0
Vision Model Settings
    • settings
    max_new_tokens512
    temperature0.70
    top_k50
    top_p0.90
    repetition_penalty1.00
    do_sampletrue

    If you've ever rebuilt a ComfyUI workflow with three of the same widget blocks, you know the pain this node exists to kill: the sampling dials for a vision model are the same on every inference node, and retyping them per node means changing them in three places whenever you want to experiment. Vision Model Settings is the "one source, many consumers" pattern applied to mamorett/orama's VLMs - a single block of generation parameters that any of the pack's inference nodes can read from.

    How it works

    The node bundles six generation parameters into one VISION_SETTINGS value. Wire that output into the settings input on any inference node - LFM2.5-VL, Step3-VL, or MiniCPM-V - and those values override the node's inline widgets when the run happens. Wire the same settings block into two or three inference nodes and they all sample identically, which is exactly what you want when you're comparing model output on the same image.

    It's just a dictionary under the hood. The inference node checks whether a settings value is connected and, if so, replaces its own defaults with whatever the dict carries.

    The inputs (these are the dials)

    All required, but every one has a sane default:

    • max_new_tokens - how long the answer may get. Default 512, max 8192.
    • temperature - sampling randomness, 0–2. Default 0.7. Lower for more consistent captions.
    • top_k - keep the top-K most likely tokens. Default 50, 0 = disabled.
    • top_p - nucleus sampling cutoff. Default 0.9.
    • repetition_penalty - 1.0 = off; nudge above 1.0 if the model starts looping phrases.
    • do_sample - True = stochastic sampling. Flip to False for pure greedy decoding (temperature is then ignored - deterministic, which is nice for captioning training sets).

    Output is a single VISION_SETTINGS socket.

    Two gotchas worth knowing

    First, the settings node's max_new_tokens tops out at 8192 - fine for the LFM and MiniCPM nodes, but the Step3-VL node itself allows up to 65536. If you want a genuinely long Step3 generation, set it on the node, not here.

    Second, connecting the settings node doesn't hide the inline widgets - it just wins the argument. If you tweak a temperature on the node itself and nothing changes, that's the settings block silently overriding you. Unplug it and tweak again.

    Install

    Same as the rest of the pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/mamorett/orama
    

    Restart ComfyUI (or search orama in ComfyUI Manager). No extra dependencies - it's pure plumbing.

    Categoryorama

    Inputs (6)

    NameTypeDefaultDescription
    max_new_tokensINT5121–8192
    temperatureFLOAT0.700–2
    top_kINT500–10000 = disabled
    top_pFLOAT0.900–1
    repetition_penaltyFLOAT1.001–2
    do_sampleBOOLEANtrue

    Outputs (1)

    NameTypeDescription
    settingsVISION_SETTINGS