# x402 Image Tools – Watermark (Text Overlay)

> x402 Image Tools – Watermark (Text Overlay) is a paid API for AI agents from image.kagurazaka.dev, paid per call via x402, $0.003/call, status unknown (last checked 2026-10-29).

Draws a line of text over an image at a specified position, size, color, and opacity, returning the watermarked image.

## Facts

- Endpoint: POST https://image.kagurazaka.dev/v1/watermark?utm_source=zero.xyz
- Price: $0.003/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-29
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/x402-image-tools-watermark-text-overlay-1add44ef
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_UtA0q_wZ3rL-Kd_ZxSqDq

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability x402-image-tools-watermark-text-overlay-1add44ef -d '<json body>'
```

Example prompt: Add a semi-transparent white watermark that says '© Morning Bloom 2025' to the bottom-right corner of this image (https://example.com/photo.jpg) — make the text 5% of the image width and 60% opacity, and return it as a WebP.

## When to prefer this

Choose this endpoint when you need to programmatically add text (copyright notices, credits, labels, draft stamps) to an existing image at a specific position with fine-grained control over font size relative to image dimensions, color, and opacity. It is ideal for bulk content pipelines, e-commerce photo workflows, or any scenario where consistent text branding must be applied to images fetched from URLs. Prefer it over full image editors when you need a fast, single-operation, pay-per-use text overlay without setting up local tooling.

## Known failure modes

- Image URL not reachable or returns non-image content (HTTP error or invalid MIME type)
- Image exceeds 20 MB or 40 megapixels size limit
- Text exceeds 100 characters or contains unsupported character sets (non-Latin/Greek/Cyrillic)
- Font size outside 1–20 range or opacity outside 0.05–1 range
- Invalid hex color format
- Unsupported input image format
- x402 payment not fulfilled or insufficient USDC balance

## How this service works

Draw a line of text over an image at a corner, an edge or the center, with a size relative to the image width, a color and an opacity.

## Output

A JSON object containing a temporary CDN URL to the watermarked image, its width and height in pixels, output format, file size in bytes, and an expiry duration in seconds. If the result is under 1 MB and inline was requested, a base64 data URL is also included.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "url": {
   "type": "string",
   "description": "https URL of a JPEG, PNG, WebP, AVIF, GIF, TIFF or SVG image (up to 20 MB, 40 megapixels)"
  },
  "size": {
   "type": "number",
   "description": "font size in percent of the image width (1-20, default 4)"
  },
  "text": {
   "type": "string",
   "description": "the text (up to 100 characters; Latin, Greek, Cyrillic and common symbols)"
  },
  "color": {
   "type": "string",
   "description": "hex color (default #ffffff)"
  },
  "format": {
   "enum": [
    "webp",
    "avif",
    "png",
    "jpeg",
    "gif",
    "tiff"
   ],
   "type": "string",
   "description": "output format (default: the input's)"
  },
  "inline": {
   "type": "boolean",
   "description": "also return the image as a data URL when it is at most 1 MB"
  },
  "opacity": {
   "type": "number",
   "description": "0.05-1 (default 0.5)"
  },
  "position": {
   "enum": [
    "top-left",
    "top",
    "top-right",
    "left",
    "center",
    "right",
    "bottom-left",
    "bottom",
    "bottom-right"
   ],
   "type": "string",
   "description": "where (default bottom-right)"
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "url": "https://dn8i8p8knpn68.cloudfront.net/results/images/3f1c2b9e.webp?Expires=...",
  "bytes": 48213,
  "width": 800,
  "format": "webp",
  "height": 600,
  "expires_in": 3600,
  "input_bytes": 912345
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/x402-image-tools-watermark-text-overlay-1add44ef/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from image.kagurazaka.dev](https://www.zero.xyz/host/image.kagurazaka.dev/llms.txt)
