ProgressBar
A tiny status image you render inside your own loop
- colour
- background
- image
When you're running a long sweep with comfyui-job-iterator - twenty seeds, a grid of samplers, whatever - the console fills with text and it's genuinely hard to tell how far along you are just by looking at it. ProgressBar is the pack's answer: it doesn't track progress itself, it just draws a progress-bar bitmap from a number you hand it. Feed it a fraction and it hands back a real IMAGE you can preview, save, or stitch under your actual output so a contact sheet tells its own story.
How it works
It's a small PIL drawing routine wearing a ComfyUI node's clothes. It draws a rectangle outline sized to width/height, inset by padding, and if progress is greater than zero it fills a portion of that rectangle proportional to the value - so 0.3 fills roughly a third of the bar, 1.0 fills it completely. The result gets normalized to a float tensor the same way every other ComfyUI image does. There's no animation, no state; it renders exactly one frame, at exactly the progress value it was given, every time it runs.
The inputs and outputs that matter
progress(FLOAT) - the fraction to draw, 0 to 1. This one's worth knowing about specifically: it's setforceInput, meaning ComfyUI hides the little number widget and makes you wire something into it. There's no typing a value by hand here. In practice you compute it yourself - something like the current step index divided by the total step count, which you can get from CombineJobs' or EnumerateJob'scountoutput.width/height(INT, default 384×16) - a thin banner strip by default, not a big image. Bumpheightif you want something chunkier.padding(INT, default 3) - the border gap between the outline and the edge of the canvas.colour/background(COLOR) - bar fill/outline color and the backdrop, as name or hex string.
Output is a single image (IMAGE). It doesn't wire into anything special - drop it into Preview Image, Save Image, or into JoinImages/Join Image Batch to stack it beneath the real output of that step.
How to install it
Via ComfyUI Manager: search comfyui-job-iterator, install, restart. Or by hand:
cd ComfyUI/custom_nodes
git clone https://github.com/ali1234/comfyui-job-iterator
Restart ComfyUI. The README is explicit that the pack itself has no dependencies to install - and this node's only real requirement, Pillow, already ships as part of a normal ComfyUI setup, so there's nothing extra to pull in.
Common issues & troubleshooting
"Why is there no slider on progress?" Because it's forced to be an input connection, not a widget. If you leave it unwired, ComfyUI will refuse to queue the node - plug something into it, even a hardcoded float from a Primitive node if you're just testing the look of the bar.
The bar looks completely full when it shouldn't. The node doesn't clamp or validate progress for you - if you accidentally wire in a raw step index (like 3) instead of a fraction (0.3), you'll draw well past 100% and the bar will render as maxed out or visually overflow. Divide your step index by the total count before feeding it in.
It renders but nothing shows up in your grid. Remember this outputs a standalone IMAGE - it doesn't automatically attach to anything. You still need to explicitly wire it into a Join-style node or a second Save Image call if you want it alongside your main output rather than replacing it.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| progress | FLOAT | 0.00 | — |
| padding | INT | 3 | — |
| width | INT | 384 | — |
| height | INT | 16 | — |
| colour | COLOR | white | — |
| background | COLOR | black | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |