Nodes/ComfyUI-QG-tools/Add Watermark
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.

By live1617·Created about a month ago·Updated about 7 hours ago· 4
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)

NameTypeDefaultDescription
imageIMAGEThe 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_textSTRINGWatermarkText to draw. Ignored when an image watermark is connected.
fontCOMBOArialTypeface 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_percentINT50–100Text 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.
opacityINT500–100Watermark opacity in percent; 100 is fully opaque.
h_positionCOMBOHorizontal cell of the nine-cell anchor. The X offset below is applied relative to this cell.
v_positionCOMBOVertical cell of the nine-cell anchor. The Y offset below is applied relative to this cell.
x_offsetINT00–50Horizontal shift as a percentage of the base width, measured away from the chosen cell (positive always moves inward).
y_offsetINT00–50Vertical shift as a percentage of the base height, measured away from the chosen cell (positive always moves inward).
text_colorSTRING#FFFFFFText 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.
tileBOOLEANfalseRepeat the watermark across the whole image. The anchor and both offsets are ignored in this mode; the spacing below sets the gap.
angleINT0-90–90Rotation in degrees, positive counter-clockwise.
spacingINT100–50Gap between tiles as a percentage of the base height. Only used when tiling is on.
alpha_outputBOOLEANfalseKeep the alpha channel and return RGBA. Off returns RGB, matching the reference.
watermark_imageoptIMAGEOptional 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)

NameTypeDescription
imageIMAGE—