Nodes/draw-things-comfyui/Draw Things Refiner
ComfyUI Node

Draw Things Refiner

A second model that polishes the back half of your denoise

By drawthingsai·Created 9 months ago·Updated 2 months ago· 34
Draw Things Refiner
  • refiner_model
  • REFINER
refiner_start0.85

A refiner is a second model that takes over partway through sampling. The base model draws the rough composition in the early, high-noise steps; the refiner handles the later, detail-heavy steps where fine texture and clean rendering matter. SDXL shipped with a dedicated refiner checkpoint for exactly this, and the Draw Things engine supports the same two-model pipeline - DrawThingsRefiner is the node that sets it up.

It's a two-widget node: pick the refiner model and decide when it takes over, then wire the DT_REFINER output into the sampler's refiner input. The sampler then tells the server "run this model for the first chunk, this model for the rest." The example workflow shipped with the pack ("LoRAs, Upscaler and Refiner") shows it sitting happily next to the LoRA and upscaler nodes.

One honest note, same as every node here: the pack is deprecated and unmaintained - the README points to the official draw-things-comfyui extension. It still works today.

How it works

The node's add_to_pipeline just packages your two choices into a dict: the model and a start point. The sampler appends the refiner to the list of models it sends to the server, and the server runs the two-stage denoise. Because the refiner is a model, it also shows up in the LoRA nodes' mode setting - a LoRA set to Refiner applies only during that second stage, which is a nice way to keep style mods off the base pass.

The inputs that matter

  • refiner_model - the dropdown of models from Draw Things' model browser. You want the model that pairs with your base (the SDXL refiner with an SDXL base, for example). It's installed in Draw Things, not ComfyUI.
  • refiner_start - 0 to 1, default 0.85. This is when the refiner takes over, as a fraction of the denoising timeline. 0.85 means the base model does the first 85% of steps and the refiner does the final 15%. Lower it to give the refiner more of the job; raise it to keep it a light polish. 0.7–0.85 is the typical band - you don't want the refiner drawing composition, only finishing detail.

Installing it

ComfyUI Manager (search ComfyUI-DrawThings-gRPC) or:

cd ComfyUI/custom_nodes
git clone https://github.com/Jokimbe/ComfyUI-DrawThings-gRPC

Restart, and configure the server: Draw Things app with API Server on, gRPC, TLS enabled, Model Browser enabled, Response Compression disabled (or gRPCServerCLI --no-response-compression --model-browser).

Troubleshooting

The two classic refiner failures are a model mismatch and a handover set too early. If the refiner model isn't built to pair with your base, the output can visibly shift style or structure at the switch point - check that the file's docs say it's a refiner for the base you picked. If you see an obvious seam where the image's character changes partway through, refiner_start is too low (or too high - the handover can't be skipped entirely, so leave the base a meaningful share of the run). And the empty-dropdown problem again: the model browser must be enabled on the server, and the refiner checkpoint has to be installed on the Draw Things side.

CategoryDrawThings

Inputs (2)

NameTypeDefaultDescription
refiner_modelDT_MODEL
refiner_startFLOAT0.850–1

Outputs (1)

NameTypeDescription
REFINERDT_REFINER