Nodes/ComfyUI-ArchAi3d-Qwen/⚖️ Conditioning Balance
ComfyUI Node

⚖️ Conditioning Balance

One knob to rule every encoder's prompt-vs-image balance

By amir84ferdos·Created 11 months ago·Updated 5 months ago· 70
⚖️ Conditioning Balance
    • conditioning_balance
    nameconditioning_balance
    conditioning_balanceBalanced

    Every Qwen-VL editing workflow is really a tug-of-war between two inputs: how strongly the output should follow the image you fed in, and how strongly it should follow the prompt. Too far toward the image and your edit is a timid no-op; too far toward the text and the model redesigns things you told it to leave alone. ArchAi3D_Conditioning_Balance is a tiny node that centralizes that decision. It's a dropdown that outputs a string, and its entire purpose is to be connected to the conditioning_balance_override input of multiple encoder nodes at once, so you tune the whole graph from one place instead of hunting through five encoders.

    How it works

    The dropdown has six stops:

    • Image-Dominant - the reference image calls the shots. Use it when you want maximal fidelity to the source and a light edit.
    • Image-Priority - mostly image, some text.
    • Balanced - the default, and the sensible starting point for most edits.
    • Text-Priority - the prompt starts winning. This is the sweet spot for "change the material" or "repaint the wall" where you want the model to actually commit.
    • Text-Dominant - the prompt leads; expect bigger changes to composition and content.
    • Custom - you're overriding per-encoder with your own values elsewhere.

    Output is a single conditioning_balance string. There's also a name field (default conditioning_balance) - that's for web-interface integration, letting ComfyUI web frontends generate a form field from the workflow. It does nothing in the default desktop UI, so you can ignore it.

    Why this pattern exists

    If you've poked at the rest of this pack, you've noticed it has a lot of encoder variants, and the newer ones (V3 and friends) expose a conditioning_balance_override input that accepts exactly this string. Wiring a single dropdown to all of them is the pack author's answer to the "where is the strength knob" complaint. One master control beats changing a widget in five places, and it makes A/B testing balance settings trivial - you just drag the dropdown and re-run.

    When you'd actually use it

    Only if your graph has encoder nodes with the conditioning_balance_override input - it's a coordination node, not a standalone tool. If you're on the pack's older encoders without that input, this node has nothing to talk to and it's dead weight. And remember: it emits a string that a downstream encoder interprets; it does not compute or condition anything itself.

    Install

    Same pack, same drill:

    cd ComfyUI/custom_nodes
    git clone https://github.com/amir84ferdos/ComfyUI-ArchAi3d-Qwen.git
    cd ComfyUI-ArchAi3d-Qwen && pip install -r requirements.txt
    

    Or ComfyUI Manager → search "ArchAi3d Qwen" → Install → restart. You'll find it under ArchAi3d/Conditioning. No dependencies beyond what the pack already needs - this one is as close to dependency-free as the pack gets. License note as always: free personal, paid commercial.

    CategoryArchAi3d/Conditioning

    Inputs (2)

    NameTypeDefaultDescription
    nameSTRINGconditioning_balanceIdentifier name for this input (used by web interface)
    conditioning_balanceCOMBOBalancedChoose conditioning balance preset (Image-Dominant → Text-Dominant)

    Outputs (1)

    NameTypeDescription
    conditioning_balanceSTRING