ComfyUI Node

Runware Refiner

Handing the Last Steps to a Refiner

By Runware·Created 2 years ago·Updated about a month ago· 140
Runware Refiner
    • refiner
    model
    startStepfalse
    startStep_value1
    startStepPercentagefalse
    startStepPercentage_value1

    Some models are great at composition and rough at fine detail - and the classic fix is a second, smaller model that takes over for the final stretch of denoising. That's the refiner, and RunwareBuild_refiner is how you bolt one onto a Runware image model without hosting anything. It's a builder node: it produces a refiner object, you wire it into an image model that exposes that socket (Juggernaut, the Qwen-Image family, FLUX, Z-Image - most of the image catalog), and the model runs a two-pass generation where the base model does the heavy lifting and the refiner polishes the end.

    How it works

    ComfyUI's local equivalent is chaining a second checkpoint mid-sampling - do most of your steps in the base model, then swap. This is the same idea minus the VRAM juggling: the base model denoises up to a switching point, then the refiner model takes over and refines the remaining steps. The one setting that matters is when that switch happens, and this node gives you two ways to say it.

    The inputs that matter

    • model - the refiner model identifier, currently a single hosted model (runware:101055@128080). There's one choice; pick it and move on.
    • startStep - a toggle. Flip it on and you get startStep_value: the absolute step number where the refiner takes over. If your run is 30 steps and you want the refiner from step 20 on, set it to 20.
    • startStepPercentage - the same idea as a percentage of total steps. startStepPercentage_value runs 1–99, so 70 means "refiner takes over after 70% of the run."

    Both toggles default to off, which means "use the model's default switching point" - honestly a fine place to start. The percentage version survives step-count changes, so it's the one to reach for once you start tweaking steps. The absolute version is for when you've locked your step count and want surgical control.

    Note the gate pattern: startStep is the enable checkbox, startStep_value is the actual number, and the pack only sends the number when the toggle is on. Leave the toggle off and the request omits the field entirely, letting the model use its default. That's a deliberate design across this pack - nothing is silently sent with a wrong default.

    Wiring it in

    The output is refiner, a single (non-stackable) object. Wire it into an image model node's refiner socket alongside your prompt and dimensions. Chain it with the other builders as you like - refiner and LoRA and ControlNet all coexist on the same model node.

    Install and setup

    Standard for this pack: ComfyUI Manager → search "Runware" → install → restart, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Runware/ComfyUI-Runware
    pip install -r ComfyUI-Runware/requirements.txt
    

    Restart, then drop in a Runware API key - Settings → Runware API key, RUNWARE_API_KEY, or runware auth login. Nothing is downloaded locally; the refiner model runs on Runware's hardware and you pay per run (the node title bar shows each run's cost). Two-pass generation costs roughly double a single pass, so it's worth a quick A/B before you leave it on for a whole batch.

    Troubleshooting

    • No visible difference - check when the refiner is taking over. A startStepPercentage of 99 means the refiner barely does anything; a very early switch can also fight the base model. Try 70–85.
    • Toggle on but no value sent - the gate pattern means the value widget only goes out when the toggle is on. Make sure you flipped startStepPercentage, not just changed the number.
    • Socket missing - not every model exposes refiner. Video and audio models won't have it; stick to the image models.

    It's one of those nodes that looks trivial - a dropdown and two toggles - but it's the entire two-pass refinement pipeline in a box, and the only moving part (when to switch) is exactly the knob you'd tune locally.

    CategoryRunware/Params

    Inputs (5)

    NameTypeDefaultDescription
    modelCOMBORefiner model identifier.
    startStepoptBOOLEANfalseEnable to set startStep. Off uses the model's default.
    startStep_valueoptINT1Absolute step number to switch from the base model to the refiner.
    startStepPercentageoptBOOLEANfalseEnable to set startStepPercentage. Off uses the model's default.
    startStepPercentage_valueoptINT11–99Percentage of total steps at which to switch from the base model to the refiner.

    Outputs (1)

    NameTypeDescription
    refinerRUNWARE_REFINER