Design
Add watermarks with custom opacity to images, supporting both text and image watermarks with advanced opacity controls
Call this tool from your code in three languages.
# 1) Upload each file first → returns { filePath }
curl -X POST 'https://api.elysiatools.com/upload/image-watermark-opacity' \
-F 'file=@/path/to/imageFile.ext'
curl -X POST 'https://api.elysiatools.com/upload/image-watermark-opacity' \
-F 'file=@/path/to/watermarkImageFile.ext'
# 2) Call the tool with the returned filePath values
curl -X POST 'https://api.elysiatools.com/en/api/tools/image-watermark-opacity' \
-F 'imageFile=/path/to/file.ext' \
-F 'watermarkType=text' \
-F 'watermarkText=© Watermark' \
-F 'watermarkImageFile=/path/to/file.ext' \
-F 'position=bottom-right' \
-F 'opacity=0.7' \
-F 'textOpacity=0' \
-F 'backgroundOpacity=0' \
-F 'fontSize=40' \
-F 'fontColor=#ffffff' \
-F 'backgroundColor=#000000' \
-F 'rotation=0' \
-F 'scale=0.2' \
-F 'margin=20' \
-F 'blendMode=over' \
-F 'textStyle=normal' \
-F 'fontWeight=bold' \
-F 'textAlign=left' \
-F 'shadowEnabled=false' \
-F 'shadowOpacity=0.5' \
-F 'shadowBlur=3' \
-F 'shadowOffsetX=2' \
-F 'shadowOffsetY=2' \
-F 'gradientEnabled=false' \
-F 'gradientStartColor=#ffffff' \
-F 'gradientEndColor=#cccccc' \
-F 'gradientDirection=horizontal'Send a POST request with your inputs as JSON. File parameters require a separate upload first.
POST https://api.elysiatools.com/en/api/tools/image-watermark-opacity| Name | Type | Required | Description |
|---|---|---|---|
| imageFile | fileupload required | Yes | — |
| watermarkType | select | Yes | — |
| watermarkText | text | No | — |
| watermarkImageFile | fileupload required | No | — |
| position | select | Yes | — |
| opacity | number | No | — |
| textOpacity | number | No | — |
| backgroundOpacity | number | No | — |
| fontSize | number | No | — |
| fontColor | color | No | — |
| backgroundColor | color | No | — |
| rotation | number | No | — |
| scale | number | No | — |
| margin | number | No | — |
| blendMode | select | No | — |
| textStyle | select | No | — |
| fontWeight | select | No | — |
| textAlign | select | No | — |
| shadowEnabled | checkbox | No | — |
| shadowOpacity | number | No | — |
| shadowBlur | number | No | — |
| shadowOffsetX | number | No | — |
| shadowOffsetY | number | No | — |
| gradientEnabled | checkbox | No | — |
| gradientStartColor | color | No | — |
| gradientEndColor | color | No | — |
| gradientDirection | select | No | — |
File result
{
"filePath": "/public/processing/randomid.ext",
"fileName": "output.ext",
"contentType": "application/octet-stream",
"size": 1024,
"metadata": {
"key": "value"
},
"error": "Error message (optional)",
"message": "Notification message (optional)"
}Add this tool to your Model Context Protocol server so AI agents can list and call it.
Add this block to your MCP client configuration:
{
"mcpServers": {
"elysiatools-image-watermark-opacity": {
"name": "image-watermark-opacity",
"description": "Add watermarks with custom opacity to images, supporting both text and image watermarks with advanced opacity controls",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=image-watermark-opacity",
"command": "",
"args": [],
"env": {},
"isActive": true,
"type": "sse"
}
}
}After connecting to the SSE endpoint, list the exposed tools:
{
"jsonrpc": "2.0",
"id": 1,
"method": "tools/list"
}Invoke the tool by its id, passing arguments built from its parameters:
{
"jsonrpc": "2.0",
"id": 2,
"method": "tools/call",
"params": {
"name": "image-watermark-opacity",
"arguments": {
"imageFile": "https://example.com/file.ext",
"watermarkType": "text",
"watermarkText": "© Watermark",
"watermarkImageFile": "https://example.com/file.ext",
"position": "bottom-right",
"opacity": 0.7,
"textOpacity": 0,
"backgroundOpacity": 0,
"fontSize": 40,
"fontColor": "#ffffff",
"backgroundColor": "#000000",
"rotation": 0,
"scale": 0.2,
"margin": 20,
"blendMode": "over",
"textStyle": "normal",
"fontWeight": "bold",
"textAlign": "left",
"shadowEnabled": false,
"shadowOpacity": 0.5,
"shadowBlur": 3,
"shadowOffsetX": 2,
"shadowOffsetY": 2,
"gradientEnabled": false,
"gradientStartColor": "#ffffff",
"gradientEndColor": "#cccccc",
"gradientDirection": "horizontal"
}
}
}Questions or issues? Contact [email protected]