Design
Apply affine transformation for scaling, rotation, shearing, and translation
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-affine' \
-F 'file=@/path/to/imageFile.ext'
# 2) Call the tool with the returned filePath values
curl -X POST 'https://api.elysiatools.com/en/api/tools/image-affine' \
-F 'imageFile=/path/to/file.ext' \
-F 'scaleX=1.0' \
-F 'scaleY=1.0' \
-F 'angle=0' \
-F 'shearX=0' \
-F 'shearY=0' \
-F 'translateX=0' \
-F 'translateY=0' \
-F 'background=transparent' \
-F 'format=original' \
-F 'quality=95'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-affine| Name | Type | Required | Description |
|---|---|---|---|
| imageFile | fileupload required | Yes | Upload any image file (JPEG, PNG, WebP, GIF, BMP, TIFF) for affine transformation |
| scaleX | range | No | Horizontal scaling factor (0.1 to 10.0, 1.0 = original size) |
| scaleY | range | No | Vertical scaling factor (0.1 to 10.0, 1.0 = original size) |
| angle | range | No | Rotation angle in degrees (-180 to 180, 0 = no rotation) |
| shearX | range |
| No |
| Horizontal shearing factor (-2.0 to 2.0, 0 = no shear) |
| shearY | range | No | Vertical shearing factor (-2.0 to 2.0, 0 = no shear) |
| translateX | range | No | Horizontal translation in pixels (-1000 to 1000, 0 = no translation) |
| translateY | range | No | Vertical translation in pixels (-1000 to 1000, 0 = no translation) |
| background | text | No | Background color for transparent areas (hex #RRGGBB or #RRGGBBAA, or color name) |
| format | select | No | Choose output format or keep original. PNG recommended for transparency |
| quality | number | No | Output quality for lossy formats (JPEG, WebP). Higher = better quality but larger file size |
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-affine": {
"name": "image-affine",
"description": "Apply affine transformation for scaling, rotation, shearing, and translation",
"baseUrl": "https://api.elysiatools.com/mcp/sse?toolId=image-affine",
"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-affine",
"arguments": {
"imageFile": "https://example.com/file.ext",
"scaleX": "1.0",
"scaleY": "1.0",
"angle": "0",
"shearX": "0",
"shearY": "0",
"translateX": "0",
"translateY": "0",
"background": "transparent",
"format": "original",
"quality": 95
}
}
}Questions or issues? Contact [email protected]