Nodes/Shima/Shima Preview
ComfyUI Node

Shima Preview

Copy, Edit, Save on the node

By KDB-USJP·Created 6 months ago·Updated 6 months ago· 2
Shima Preview
  • images
  • shima.commonparams
  • images
  • preview_paths
filename
folder_path
save_with_workflowtrue
save_with_metadatatrue
use_commonparamstrue
allow_external_linkingfalse

ComfyUI's built-in Preview Image is fine, but it has one frustrating gap: after you look at a result you like, getting it somewhere useful means right-clicking, saving, dragging files around, or digging through output/. The Shima Preview puts three buttons right on the node - Copy, Edit, Save - so you can grab a result without leaving the canvas.

It's the image-preview node of the Shima (島, island) pack, which wraps workflows into composable subgraphs. That means Preview isn't just a viewer; it's wired into the pack's naming and folder machinery, so your saves land in the right place with workflow and metadata embedded.

How it works

On every execution the node writes the incoming batch to temp PNGs and pushes them to the frontend, where the Copy/Edit/Save toolbar is rendered in JS. The buttons act on the last executed batch via data the node stored server-side:

  • Copy - image to clipboard via the JS Clipboard API.
  • Edit - opens the image in your external editor.
  • Save - writes to disk, embedding the workflow JSON and generation prompt as PNG metadata when save_with_workflow / save_with_metadata are on (both default true).

Where it saves is the interesting part. If you connect a FileNamer node, its filename and folder_path outputs feed the Save button directly. If you connect shima.commonparams (from Shima.Commons) and keep use_commonparams on, the node assembles a filename from the bundle's project_name, timestamp, and collision_id and a folder from its save_path - so every island in a project can save with consistent, collision-free names.

The inputs that matter

Only images is required - feed it any IMAGE tensor and it works as a plain preview. The optional set is where the magic lives:

  • filename and folder_path - from FileNamer, control where Save writes.
  • shima.commonparams + use_commonparams - pull save defaults from Shima.Commons.
  • save_with_workflow / save_with_metadata - embed the workflow and prompt in saved PNGs (keep these on; it's how you later drag the image back in to reconstruct the graph).

The outputs

  • images - passthrough of the input batch, so you can keep chaining downstream.
  • preview_paths - STRING, the temp file paths of the previewed images, semicolon-separated. Useful if you want to log or post-process where the previews landed.

It's marked as an output node, so ComfyUI will always execute it (the same "always runs, cache works backwards from here" behavior as core Preview Image).

Install

cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
pip install -r requirements.txt

Restart and find it under Shima/Image → Shima Preview. ComfyUI Manager: search "Shima". The pack's installer auto-clones ComfyUI-Impact-Pack and cg-use-everywhere on first boot (the Use Everywhere dependency for island auto-linking) - expected, just not quiet.

Common issues

Two gotchas stand out. First, the Save button works on whatever was last previewed, so if you change the workflow and re-run before clicking Save, you save the new result - which is the correct behavior but a surprise if you expected the button to act on an older image you're looking at. Second, use_commonparams defaults to on; if a stale Commons bundle is connected it can silently redirect your saves to a folder you didn't expect. Check folder_path if files stop showing up in output/. And remember the buttons are frontend-only - they won't appear on the node in an API/headless run, so automation should use the preview_paths output instead.

CategoryShima/Image

Inputs (8)

NameTypeDefaultDescription
imagesIMAGEImages to preview.
shima.commonparamsoptDICTConfiguration bundle from Shima.Commons (for Save defaults).
filenameoptSTRINGFilename from FileNamer (for Save button).
folder_pathoptSTRINGFolder path from FileNamer (for Save button).
save_with_workflowoptBOOLEANtrueEmbed workflow in saved image.
save_with_metadataoptBOOLEANtrueEmbed generation metadata in saved image.
use_commonparamsoptBOOLEANtrueUse Shima.Commons settings if connected
allow_external_linkingoptBOOLEANfalseIf ON, this node broadcasts/receives OUTSIDE the Island (ignores group regex)

Outputs (2)

NameTypeDescription
imagesIMAGEPassthrough of input images.
preview_pathsSTRINGPaths to preview images (semicolon separated).