Nodes/BV Nodes/πŸŒ€ BV Upscale Config
ComfyUI Node

πŸŒ€ BV Upscale Config

One node decides how your whole dataset gets upscaled

By BlackVortexAIΒ·Created 2 years agoΒ·Updated 11 months agoΒ· 3
πŸŒ€ BV Upscale Config
    • CAPTION_CONFIG_PIPE
    β—„upscale_lowrestrueβ–Ί
    β—„lowres_limit768β–Ί
    β—„resolution_steps256β–Ί
    β—„max_resolution1024β–Ί

    Every workflow has the settings node - the one place where all the policy for a stage of the pipeline lives, so you're not hunting through ten nodes to change one number. BV Upscale Config is that for the BV Nodes batch upscaling logic. It packages four upscaling decisions into a single BV_UPSCALE_CONFIG_PIPE that you hand to the Conditional ImagePipe Splitter, keeping every threshold in one place instead of hardcoded across the graph.

    The context here matters: the community's number one upscaling mistake is not knowing which of three different jobs they're doing - adding pixels, adding detail, or restoring damage. This node doesn't pick your upscaler; it decides the policy around it: which images count as low-res, how aggressively to bucket by resolution, and what the ceiling is. The actual upscale work stays in whatever nodes you put on the TO_UPSCALE branch.

    The four knobs

    • upscale_lowres (default true) - whether the lowres branch should be upscaled at all. Turn it off when the set is already clean and you just want the split without the processing.
    • lowres_limit (default 768, stepped 256–2048) - the threshold below which an image counts as low-res. Same cutoff the splitter uses.
    • resolution_steps (default 256) - the granularity for resolution bucketing. This is the step that the Caption Saver uses for its subfolders, so 256 means a 768Γ—1024 and a 1024Γ—1024 are different tiers.
    • max_resolution (default 1024) - the cap. Anything above this on the high side is... policy for what counts as "enough". Set it to the native resolution your target model is trained at and let the rest of the pipeline follow.

    One output:

    • CAPTION_CONFIG_PIPE - yes, that's its name, even though it's an upscale config. It's the type that plugs into the Splitter's opt_caption_config_pipe input.

    Why centralize

    The alternative is setting lowres_limit and upscale_lowres directly on the splitter, which works fine for a one-off. The config pipe wins when you reuse the same policy across several workflows, or when you want to swap the whole dataset policy by changing one node. It's a small thing that pays off exactly once - when you change 768 to 896 and the whole pipeline follows.

    Install

    cd ComfyUI/custom_nodes
    git clone https://github.com/BlackVortexAI/ComfyUI-BVortexNodes.git
    

    or via ComfyUI Manager ("BV Nodes"). Restart; no deps, no models.

    The trap

    Don't set a threshold here and on the splitter at the same time - that's how you get the "why does my splitter ignore my setting" moment. Pick the config node or the splitter's own fields, not both. The config pipe is meant to be the single source of truth; let it be.

    CategoryπŸŒ€ BVortex Nodes/Captioning

    Inputs (4)

    NameTypeDefaultDescription
    upscale_lowresBOOLEANtrueβ€”
    lowres_limitINT768256–2048β€”
    resolution_stepsINT256256–2048β€”
    max_resolutionINT1024256–2048β€”

    Outputs (1)

    NameTypeDescription
    CAPTION_CONFIG_PIPEBV_UPSCALE_CONFIG_PIPEβ€”