Show Seed
Catch the actual seed before ComfyUI rolls it away
- images
- images
- seed_info
Here's the annoying default-ComfyUI moment this node exists to fix: you queue a batch, one image comes out great, you go to check the seed on your KSampler node so you can lock it in - and it's already gone. If control_after_generate is set to randomize or increment (which it is, out of the box, on basically every template), the widget doesn't hold still and show you what it just used. It jumps to the next seed the instant the run finishes. You're staring at the wrong number.
Show Seed's whole job is to grab the seed that actually produced the image you're looking at and pin it down as text, before ComfyUI moves on. That's it. It's a one-trick node, and the trick is genuinely useful.
How it works
You wire it in as a passthrough, right after your KSampler → VAE Decode chain, before Save Image. Notice the node only has one input on its face: images. No seed input, no wire back to the sampler - a stock KSampler doesn't even expose seed as an output socket, so there's nothing to wire regardless. Instead, Show Seed reaches into the workflow data ComfyUI hands every node behind the scenes, finds whichever KSampler fed the image you passed in, and reads the seed it actually ran with. The image itself passes through untouched; the node just rides along and reports what it saw, matching the README's own example: images in one side, images back out the other into Save Image, and a second output - seed_info - carrying the seed as a string you can route wherever you actually want to see it.
Inputs and outputs
images(required,IMAGE) - the generated image, straight out of VAE Decode. This is the only thing you connect going in.images(output,IMAGE) - identical passthrough. Wire it to Save Image exactly like you would without this node in the chain.seed_info(output,STRING) - the extracted seed, as text. Wire it to a Show Text / Save Text node, or into a filename-prefix input, and now the seed that made a specific file is sitting right next to it instead of buried in a widget that already moved on.
That's the entire interface. No config, no toggles - which tracks with the author's own framing of it as "zero configuration required."
Why this is worth having
Locking a seed and changing one thing at a time is close to universal advice in the community for actually debugging a workflow - you can't tell what a CFG or LoRA-weight change did if the seed moved too. That discipline only works if you can reliably read the seed you're on, and the default UI makes that surprisingly fiddly once auto-increment is involved. Show Seed is a small, single-purpose fix for that friction, nothing more ambitious than a label on a wire. If you already run rgthree-comfy, its Seed node solves an adjacent problem - generating and remembering seeds going into a sampler - rather than this one, reading the seed a run actually used after the fact. The two aren't substitutes.
Installing it
Through ComfyUI Manager: open the Manager tab, search "Show Seed", install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/dreamhartley/ComfyUI_show_seed.git
Restart ComfyUI afterward either way. There's nothing else to it - no model downloads, no Python dependencies beyond what ComfyUI already ships, per the README. It's a genuinely tiny, single-file-scale node.
Troubleshooting
- Nothing shows up, or it looks wrong: check that
imagesis actually wired from the output of the same VAE Decode that came off your KSampler - the node identifies the seed by tracing that chain, so if it's plugged into an unrelated image (a LoadImage, say), there's no sampler to trace back to. - Multiple KSamplers in the graph (a two-pass or hires-fix setup): be a little skeptical of which seed you're getting back if you have more than one sampler upstream of the image you fed in - the README's own example is a single-KSampler workflow, and it doesn't document behavior for chained samplers.
- It's a small, single-maintainer pack: this is a one-feature project with no recent community chatter that we could find, so if a future ComfyUI core update changes how workflow data is passed to custom nodes internally, a node like this - which depends on that internal plumbing rather than a documented socket - is the kind of thing that can quietly stop working before anyone notices. Worth a quick sanity check after major ComfyUI upgrades.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| images | IMAGE | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| images | IMAGE | — |
| seed_info | STRING | — |