进度指示器
A node that draws a progress bar as an image
- image
What you're actually getting
ProgressIndicator does one thing: it renders a progress bar - title text, a status line, a filled bar, and an optional percentage - as an image. That's it. No model, no network call, no hidden state. It's a drawing node, and it ships in the same "learning center" pack (ComfyUI 学习中心) that uses it to stamp status cards onto tutorial chapter images.
Its audience is honestly narrow. If you build workflows whose output is a summary dashboard - a before/after card, a "where your batch stands" image, a tutorial screenshot - this kind of node is handy. For everyone else, it's a curiosity that does nothing a sticker in Preview can't.
How it works
The whole thing is PIL ImageDraw on a dark gray canvas. Width drives the layout: height is always 20% of width, and the bar fills progress × width pixels. The progress value is whatever you type into the widget - nothing updates it for you; it's a label, not a live gauge.
Inputs that matter:
title(STRING, default "学习进度") andstatus(STRING, default "学习中...") - the two text lines at the top.progress(FLOAT, 0 to 1, default 0.5) - the bar fill. 0.5 = half full.completed_color- one of 绿色 (green), 蓝色 (blue), 橙色 (orange), 紫色 (purple).width(INT, 256–1024 in steps of 8, default 512) - canvas width.show_percentage(BOOLEAN, default on) - the percent label in the middle of the bar.
Output is image (IMAGE), and the node is flagged as an output node, so it's meant to sit at the end of a graph as a display.
The trap: Chinese text renders as boxes
Here's the gotcha that will trip you up the fastest. The defaults are Chinese - "学习进度" and "学习中..." - and the code draws text with PIL's built-in default font, which has no CJK glyphs. On essentially any system, the default title and status come out as little empty rectangles (tofu). Unlike its sibling ChapterInfoDisplay, this node doesn't even try to load a system CJK font. So pass ASCII text like "Training" and "45% done", or expect boxes. That's the single most common thing to hit here.
Installing
Same pack, same install - it's one of three nodes in assemly/comfyui-extras (the learning-center pack):
cd ComfyUI/custom_nodes
git clone https://github.com/assemly/comfyui-extras
# restart ComfyUI
Or ComfyUI Manager → search "comfyui-extras". Dependencies are pillow and aiohttp, both already present in a stock install; there's nothing else to grab and no model files.
Verdict
It's a cute widget, not a workflow necessity. Reach for it if you're building display cards or tutorial-style images; otherwise skip it guilt-free. And if you do use it, remember the font issue - that's the one thing that makes the defaults look broken.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| title | STRING | 学习进度 | — |
| status | STRING | 学习中... | — |
| progress | FLOAT | 0.500–1 | — |
| completed_coloropt | COMBO | 绿色 | 4 options: 绿色, 蓝色, 橙色, 紫色 |
| widthopt | INT | 512256–1024 | — |
| show_percentageopt | BOOLEAN | true | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |