ComfyUI Node
Add Watermark
Stamps a text or image watermark onto an image: text size as a percentage of the base height, opacity, a nine-cell anchor with percentage offsets, colour, tiling, rotation and tile spacing; image watermarks scale by a percentage of their own size. Only the first frame of a batch is watermarked, and the output is a single frame.
Add Watermark
- image
- watermark_image
- image
◄watermark_textWatermark►
◄fontArial►
◄size_percent5►
◄opacity50►
◄h_position▾►
◄v_position▾►
◄x_offset0►
◄y_offset0►
◄text_color#FFFFFF►
◄tilefalse►
◄angle0►
◄spacing10►
◄alpha_outputfalse►
CategoryQG-tools/Image
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| image | IMAGE | The image to watermark, shaped [B,H,W,C]. Only the first frame is used, matching the reference node - the output is a single frame. | |
| watermark_text | STRING | Watermark | Text to draw. Ignored when an image watermark is connected. |
| font | COMBO | Arial | Typeface for the text watermark. Lists the plugin's own fonts/ folder plus the system fonts; a name that is not installed falls back to the default face, so an old workflow still runs. |
| size_percent | INT | 50–100 | Text size as a percentage of the base image height. For an image watermark this is a percentage of the watermark's own size instead - two different bases, both matching the reference. |
| opacity | INT | 500–100 | Watermark opacity in percent; 100 is fully opaque. |
| h_position | COMBO | Horizontal cell of the nine-cell anchor. The X offset below is applied relative to this cell. | |
| v_position | COMBO | Vertical cell of the nine-cell anchor. The Y offset below is applied relative to this cell. | |
| x_offset | INT | 00–50 | Horizontal shift as a percentage of the base width, measured away from the chosen cell (positive always moves inward). |
| y_offset | INT | 00–50 | Vertical shift as a percentage of the base height, measured away from the chosen cell (positive always moves inward). |
| text_color | STRING | #FFFFFF | Text colour as #RRGGBB. Click the swatch on the node to pick one, or type the hex. The same value works in the reference node's colour input. |
| tile | BOOLEAN | false | Repeat the watermark across the whole image. The anchor and both offsets are ignored in this mode; the spacing below sets the gap. |
| angle | INT | 0-90–90 | Rotation in degrees, positive counter-clockwise. |
| spacing | INT | 100–50 | Gap between tiles as a percentage of the base height. Only used when tiling is on. |
| alpha_output | BOOLEAN | false | Keep the alpha channel and return RGBA. Off returns RGB, matching the reference. |
| watermark_imageopt | IMAGE | Optional image watermark. When connected every text setting is ignored: this image is scaled by the percentage above and stamped instead. Also first frame only. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| image | IMAGE | — |