imagepeek: add a text watermark to an image
image_watermarkAdd a text watermark to an image at one of nine positions or tiled across it, with adjustable opacity, color, font size, and angle. Outputs the watermarked image.
Instructions
imagepeek: Add a text watermark to an image. For PDFs use pdf_watermark. Returns the image with a text watermark (1-200 printable characters, DejaVu Sans Mono) at one of 9 positions, or tiled in a staggered grid, with opacity, font_size (default 5% of the short side), color, angle and margin; text larger than the image is shrunk to fit. Reads PNG, JPEG, WebP, GIF, TIFF, BMP, ICO and AVIF; other formats and images over 40 megapixels are refused (not charged). Output: base64 data_base64, without EXIF, GPS, XMP or IPTC; over 15 MB or 50 megapixels is a 413 (not charged). Images are not logged; a result is kept only with output "url" (24 h). Typically 0.5-2 s. Price: USD 0.002. Free: 3 imagepeek calls per IP per UTC day. Docs: https://tanod.dev/learn/image-watermark-api.html
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | Public http(s) URL of the image (at most 10 MB; private, internal and IP-literal hosts are refused); or use image_base64. | |
| text | Yes | 1-200 printable characters. | |
| tile | No | A staggered grid (at most 2,500 marks). | |
| angle | No | Text rotation in degrees, clockwise (-180 to 180, default 0). | |
| color | No | Text colour as #rrggbb or #rrggbbaa (default #ffffff). | #ffffff |
| format | No | Output format (default: the input's; ICO in, PNG out). | |
| margin | No | Pixels from the edge (default half the font size, at least 4); with tile, the gap between marks. | |
| output | No | base64 (default): the file comes back inline as base64. url: the file is stored for 24 hours and the reply carries a download link (url, expires_at, bytes, content_type, sha256) instead of the base64, which keeps the file out of your context window. | base64 |
| opacity | No | 0 (invisible) to 1 (opaque); default 0.5. | |
| quality | No | Encoder quality 1-100 (lossy formats). | |
| position | No | Single mark's place: center, top, bottom, left, right, top-left, top-right, bottom-left or bottom-right (default). | bottom-right |
| font_size | No | Default: 5% of the short side. | |
| auto_orient | No | Apply the EXIF orientation first. | |
| image_base64 | No | The image as standard or url-safe base64 (at most 10 MB decoded; a data:image/...;base64, prefix is fine); or use url. |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| url | No | ||
| font | No | ||
| bytes | No | ||
| error | No | Only on an error result: an object {code, message}, or the reason string of an x402 PaymentRequired object. | |
| input | No | ||
| marks | No | ||
| notes | No | ||
| width | No | ||
| format | No | ||
| height | No | ||
| sha256 | No | ||
| source | No | ||
| final_url | No | ||
| font_size | No | ||
| operation | No | ||
| expires_at | No | ||
| source_url | No | ||
| data_base64 | No | ||
| content_type | No |