# Image Watermark API (x402.agentutility.ai)

> Image Watermark API (x402.agentutility.ai) is a paid API for AI agents from x402.agentutility.ai, paid per call via x402, $0.02/call, status healthy (last checked 2026-10-19, last successful call 2026-09-25).

Adds a text or logo/image watermark to image, PDF, or video files with configurable opacity, position, rotation, font, and color.

## Facts

- Endpoint: POST https://x402.agentutility.ai/image-watermark?utm_source=zero.xyz
- Price: $0.02/call
- Payment: x402
- Status: healthy
- Last checked: 2026-10-19
- Last successful call: 2026-09-25
- Success rate: 100% of calls made through Zero
- Activations on Zero: 1
- Tags: x402
- Canonical page: https://www.zero.xyz/c/image-watermark-api-x402-agentutility-ai-3c8aa580
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_aUkyQ0OLj-W0hW-9NIJVQ

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 image-watermark-api-x402-agentutility-ai-3c8aa580 -d '<json body>'
```

Example prompt: Can you watermark this image at https://example.com/photo.jpg with the text 'Confidential', placed in the bottom-right corner, rotated -30 degrees, at 50% opacity, in red (#FF0000)?

## When to prefer this

Choose this endpoint when you need to programmatically watermark images, PDFs, or videos with either text or a logo image, with fine-grained control over opacity, position, rotation, and font styling. It's particularly useful for automating content protection workflows, branding document pipelines, or marking files as confidential before distribution. Prefer this over generic image editing APIs when you need watermark-specific features backed by CloudConvert's reliable processing engine.

## Known failure modes

- Invalid or inaccessible file_url returns an error (e.g. 404 on the source file)
- Both text and image_url provided simultaneously — only one should be used
- Unsupported file format inferred from URL extension
- Opacity or rotation values out of allowed range cause validation errors
- CloudConvert backend timeout for large video files
- Payment failure via x402 protocol if USDC balance is insufficient

## How this service works

Image watermark / add text or logo watermark to image files. Also supports PDFs and videos through the same CloudConvert-backed watermark handler. Configurable opacity, position, rotation, font, and margin.

## Output

A JSON object containing output_url (a URL to the watermarked file), input_format (e.g. 'pdf', 'jpg', 'mp4'), and watermark_type (either 'text' or 'image'), allowing the agent to download or share the processed file.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "$schema": "https://json-schema.org/draft/2020-12/schema",
 "required": [
  "input"
 ],
 "properties": {
  "input": {
   "type": "object",
   "required": [
    "type",
    "method",
    "bodyType",
    "body"
   ],
   "properties": {
    "body": {
     "required": [
      "file_url"
     ],
     "properties": {
      "text": {
       "type": "string",
       "description": "Watermark text. Use this or image_url, not both."
      },
      "opacity": {
       "type": "number",
       "description": "Optional. Watermark opacity, 0-100."
      },
      "file_url": {
       "type": "string",
       "description": "URL of the PDF, image, or video to watermark. Format inferred from extension."
      },
      "rotation": {
       "type": "number",
       "description": "Optional. Watermark rotation in degrees, -360 to 360."
      },
      "font_size": {
       "type": "number",
       "description": "Optional. Watermark text font size, 6-400."
      },
      "image_url": {
       "type": "string",
       "description": "URL of an image to use as the watermark. Use this or text, not both."
      },
      "font_color": {
       "type": "string",
       "description": "Optional. Text color as 6-digit hex, e.g. '#FF0000'."
      },
      "position_vertical": {
       "enum": [
        "top",
        "center",
        "bottom"
       ],
       "type": "string",
       "description": "Optional. Vertical placement: 'top', 'center', or 'bottom'."
      },
      "position_horizontal": {
       "enum": [
        "left",
        "center",
        "right"
       ],
       "type": "string",
       "description": "Optional. Horizontal placement: 'left', 'center', or 'right'."
      }
     }
    },
    "type": {
     "type": "string",
     "const": "http"
    },
    "method": {
     "enum": [
      "POST"
     ],
     "type": "string"
    },
    "bodyType": {
     "enum": [
      "json",
      "form-data",
      "text"
     ],
     "type": "string"
    }
   },
   "additionalProperties": false
  },
  "output": {
   "type": "object",
   "required": [
    "type"
   ],
   "properties": {
    "type": {
     "type": "string"
    },
    "example": {
     "type": "object",
     "properties": {
      "output_url": {
       "type": "string"
      },
      "input_format": {
       "type": "string"
      },
      "watermark_type": {
       "type": "string"
      }
     }
    }
   }
  }
 }
}
```

## Response schema (JSON Schema)

```json
{
 "type": "json",
 "example": {
  "output_url": "https://...pdf",
  "input_format": "pdf",
  "watermark_type": "text"
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/image-watermark-api-x402-agentutility-ai-3c8aa580/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from x402.agentutility.ai](https://www.zero.xyz/host/x402.agentutility.ai/llms.txt)
