Shima Crystal Ball
Preview your render inside a glowing hologram sphere
ComfyUI's built-in Preview Image node is honest, practical, and - let's say it - a bit boring. Shima Crystal Ball is the opposite: it takes your generated image and shows it inside a glowing hologram sphere (or a rounded rectangle, if you prefer), with an animated emergence effect and a color you choose. It's a preview node wearing a party hat. It does not enhance, crop, or transform your image one bit - the pixels pass through untouched. What it does is make the output look like it belongs in a sci-fi control room, and for demoing or screenshotting a workflow, that's genuinely the whole point.
How it works
The backend's job is minimal: it saves each image in the batch to ComfyUI's temp directory and returns the images unchanged as the output. The eye candy - the sphere, the glow, the hologram treatment, the animated reveal - is all frontend rendering. That split is worth knowing because it means the node's data behavior is trivial (pass-through), while its appearance is where all the effort went.
The mode dropdown picks between "Hologram" and "Panel" styling, and shape switches between "Sphere" and "Rounded Rectangle" - so you can go full orb or keep it professional. glow_color sets the accent, defaulting to a blue #0088ff.
Then there are current_step and total_steps. These exist so the display can show progress - the node is designed to sit between a sampler's iterations and give the hologram a sense of the generation "emerging." The backend doesn't strictly need them to do anything to the pixels; they drive the presentation, and they're useful when the node is wired into a sampling loop where step numbers are flowing anyway.
The inputs and outputs
- The image input - and here's a quirk: it's literally named a space (
" "), so don't be startled when the port label looks empty. The node reads it out of kwargs, so the unnamed-looking socket is just an input you connect an IMAGE to. - current_step / total_steps - progress display values.
- mode / shape / glow_color - the cosmetics.
The output is the image, passed through unchanged. The node is an output node, so it runs even with nothing downstream.
Installing it
Part of the Shima pack - ComfyUI Manager → search Shima, or:
cd ComfyUI/custom_nodes
git clone https://github.com/KDB-USJP/shima_wf.git Shima
Restart ComfyUI. First launch auto-installs the pack's deps and companion repos (ComfyUI-Impact-Pack, cg-use-everywhere).
Common issues
- "The output doesn't match my image / looks off." The pass-through is exact - but the preview saves to temp at whatever resolution the render came out as, and the display is scaled to fit the node. If the on-node image looks small or soft, that's display scaling, not data loss. Your actual image is intact downstream.
- "No image shows." Nothing connected, or the temp save failed. Wire an IMAGE into the space-named input; the fallback is a blank 64×64 tensor.
- "Why is the input unnamed?" That's the space-name quirk. It's cosmetic and by design.
Honest take: you don't need this node. But if you build workflows for other people to look at, or you're the kind of person who likes their workspace to feel alive, it's a fun, zero-risk upgrade over the stock preview. The pixels you see are the pixels you get - just with better lighting.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| IMAGE | — | ||
| current_stepopt | INT | 00–10000 | — |
| total_stepsopt | INT | 201–1000 | — |
| modeopt | COMBO | Hologram | 2 options: Hologram, Panel |
| shapeopt | COMBO | Sphere | 2 options: Sphere, Rounded Rectangle |
| glow_coloropt | STRING | #0088ff | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| IMAGE | — |