Nodes/ComfyUI-Arisu-Nodes/Preview & Save Image (Upscale)
ComfyUI Node

Preview & Save Image (Upscale)

Spend the GPU time only on the frame you keep

By swqa7697·Created 5 days ago·Updated about 12 hours ago· 4
Preview & Save Image (Upscale)
  • images
  • images
pathComfyUI
upscale_modelnone

This is the same idea as Preview & Save Image - preview on the run, save only when you click the button - with one addition: you can pick an upscale model to apply at save time. The run itself never touches the model. You generate a batch of candidates at base resolution, watch them in the preview, and the single frame or image worth keeping gets upscaled as it's written to disk. No more upscaling forty candidates on the off chance one is a keeper.

If you've ever run a latent-upscale workflow where the upscale pass costs most of the wall-clock time, you know the shape of the waste this kills. The general upscaling lesson applies: upscaling every candidate is burned GPU time when only one gets kept. This node inverts it - the expensive pass happens once, on the exact image you click.

The inputs and outputs that matter

  • images - the batch to preview; the whole batch is upscaled and saved on click, one file each.
  • path - the save location under output/, same filename_prefix rules as Save Image (shots/aoutput/shots/a_00001_.png). Read at click time.
  • upscale_model - a dropdown listing whatever's in your models/upscale_models folder, defaulting to none, which saves at the original size.
  • images (output) - the input batch, unchanged and at the original size. The preview and the passthrough never reflect the upscale.

How the save-time upscale works

The button posts the preview to a route the pack registers on ComfyUI's server, and that request loads the model the same way the stock Load Upscale Model node does, then runs the tiled upscale Upscale Image (using Model) uses: 512px tiles with 32px overlap, halving the tile automatically if you run out of memory (down to a 128px floor). The model is moved to the GPU for the call and back to CPU afterwards, and PNG workflow metadata rides along into the saved file. Saved size is preview size times the model's factor - a 4x-... model gives 4× - while the preview and images output stay at the original resolution.

Two honest caveats from how it's built. Because it runs from an HTTP request rather than inside the prompt executor, there's no progress bar, and it shares the GPU with anything currently generating - so a big image on a busy card is slower, not broken. And it has to fit in the same VRAM as your running job; if you're mid-generation at near-full VRAM, the save might take a while as tiles shrink.

Installing it

Part of ComfyUI-Arisu-Nodes (swqa7697, GPL-3.0, released September 2026). The only thing this node needs beyond ComfyUI is an upscale model of your own in models/upscale_models - the pack itself declares no Python dependencies. Manager: Install Custom Nodes → "ComfyUI-Arisu-Nodes". Manual:

cd ComfyUI/custom_nodes
git clone https://github.com/swqa7697/ComfyUI-Arisu-Nodes.git

Restart ComfyUI; find it under Add Node → Arisu Nodes.

Gotchas

Selecting a model does not queue a run - the list refreshes when node definitions reload, so add a new upscale model and refresh the page before it shows up in the dropdown. And the core Preview & Save rule still applies: run first, then click. Clicking before the preview exists will just tell you to run the workflow again. Otherwise this is the node you want when your bottleneck is "waiting for upscales of images you threw away."

CategoryArisu Nodes/Common

Inputs (3)

NameTypeDefaultDescription
imagesIMAGEThe batch to preview; every image in it is saved on click.
pathSTRINGComfyUIWhere the save button writes: a filename prefix under ComfyUI's output directory, with Save Image's filename_prefix rules. 'shots/a' saves output/shots/a_00001_.png; %year%, %width% and the like are expanded; absolute paths and '..' are refused.
upscale_modelCOMBOnoneApplied when saving, not during the run; none saves the image at its original size.

Outputs (1)

NameTypeDescription
imagesIMAGEThe input batch, unchanged.