Watermark image
image_watermarkAdd text or logo watermarks to photos, with configurable size, position, opacity, rotation, tiling, and output format to protect and brand images consistently across resolutions.
Instructions
Add a text or logo watermark to a photo. Size is a % of the photo width, margin a % of the shorter side, so the result looks the same on any resolution. One of 9 positions or tiled across the whole image (brick pattern), with opacity, rotation, colour, weight and a soft shadow for text. Logo: any image (PNG with transparency works best). Output keeps the input format (JPEG/PNG/WebP) or as chosen; name -watermarked.. Text uses the Inter font when installed, else a system sans-serif. Web version: https://s3eidat.github.io/watermark/
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| logo | No | Use this image as the watermark instead of text: a local path or base64. | |
| size | No | Watermark width as % of the photo width. Default 28. | |
| text | No | Watermark text (ignored when a logo is given). Default "© Your Name". | © Your Name |
| color | No | Text colour. Default #ffffff. | #ffffff |
| image | Yes | The photo: a local file path (absolute, or relative to the server's --root) or base64 data (raw or a data: URI). | |
| tiled | No | Repeat the watermark across the whole photo. | |
| format | No | Output format. Default keep. | keep |
| margin | No | Margin from the edge in % of the shorter side; spacing between tiles when tiled. Default 4. | |
| output | No | Where to write the result: a file path, or a folder ending in "/". Default: the server output folder (a temp folder unless --out-dir is set). | |
| shadow | No | Soft drop shadow behind text. Default true. | |
| weight | No | Font weight. Default 700. | 700 |
| opacity | No | Opacity in %. Default 60. | |
| quality | No | Quality 1-100 for JPEG / WebP / AVIF (ignored for PNG). Default 92, same as the website. | |
| position | No | Where the watermark sits (ignored when tiled). Default bottom-right. | bottom-right |
| rotation | No | Rotation in degrees (e.g. -30 for a diagonal tile). Default 0. | |
| returnBase64 | No | Also return the output as base64 in the result (only for small files). Default false. |