Skip to documentation
Open Workflow Studio
On this page

Add Image Watermark

Workflow reference | Model media outputs

Kind: ImageWatermark
Configuration object: imageWatermark

Use Add Image Watermark to composite a visible caption or logo onto a completed PNG or JPEG image. The output retains the source dimensions.

Inputs

imageSource must select one public HTTPS PNG/JPEG URL or a run-local media reference. For a Model result, select input._workflow_media[0].reference.

Source images must fit 128 MiB, have at most 8,192 pixels per side, and contain at most 16 million pixels. Remote media is downloaded without provider credentials.

Configuration

Property Default Usage
imageSource Input expression Expression selecting the source string.
kind Text Text or Image watermark.
text "Benchius" Static single-line caption, 1-200 characters for Text mode.
fontSize 48 8-256 pixels.
font SansSerif SansSerif, Serif, or Monospace.
fontStyle Bold Regular, Bold, Italic, or BoldItalic.
color "#FFFFFF" Six-digit hexadecimal RGB color.
opacity 0.8 Finite number greater than 0 and at most 1.
imageBase64 Unset Raw Base64 PNG/JPEG logo bytes. Required for Image mode; decoded size at most 192 KiB.
imageScale 0.2 Logo width relative to target width, 0.01-1. Height is constrained to fit.
x 0.04 Relative horizontal position, 0-1.
y 0.96 Relative vertical position, 0-1.
guide Rectangle Editor placement guide: Rectangle or Square.

Watermark x and y describe position within the available image area: 0 is the left/top edge and 1 is the right/bottom edge. They are separate from the node's canvas coordinates. The guide is an editor aid; output retains the source dimensions.

Outputs

Returns watermark_type, source width and height, position_x, position_y, and _workflow_media for one PNG artifact named watermarked-image.png. The runtime verifies that the processor returned a complete PNG with the original dimensions.

Example

{
  "id": "label-image",
  "name": "Label a review image",
  "kind": "ImageWatermark",
  "imageWatermark": {
    "imageSource": {
      "function": "input",
      "value": "input._workflow_media[0].reference"
    },
    "kind": "Text",
    "text": "Review copy",
    "fontSize": 48,
    "font": "SansSerif",
    "fontStyle": "Bold",
    "color": "#FFFFFF",
    "opacity": 0.8,
    "x": 0.04,
    "y": 0.96
  }
}

Connect a compatible image-producing Model directly to this step. For a source URL supplied as the entire input, change imageSource.value to "input".

Operational notes

The host needs its configured server or browser FFmpeg watermark backend and bundled fonts. Image-processing failures are surfaced explicitly. A visible watermark provides labeling and presentation; evaluate separate provenance requirements for ownership or authenticity.

An unhandled error has occurred. Reload 🗙