Image editing using Sharp. Supports compositing (QR codes, logos, watermarks), resizing, cropping, rotating, flipping, brightness/contrast/saturation adjustment, blur, sharpen. 图片编辑、图片合成、添加二维码、添加Logo、添加水印、图片缩放、图片裁剪、图片旋转、图片翻转、亮度对比度饱和度调整、模糊、锐化。
Performs image editing using the Sharp library for high-performance image processing.
Use this skill when:
| Tool | Purpose |
|---|---|
compositeImages | Overlay images onto a base image |
resizeImage | Resize, crop, or extend images |
transformImage | Rotate, flip images |
adjustImage | Brightness, saturation, blur, sharpen |
getImageMetadata | Get image dimensions and format info |
Call getImageMetadata first to understand the base image dimensions for accurate positioning.
Use the appropriate tool based on the task.
Return the output image URL to the user.
{
"base": "https://example.com/poster.jpg",
"layers": [{
"input": "https://example.com/qrcode.png",
"resize": { "width": 150, "height": 150 },
"gravity": "southeast"
}]
}
{
"base": "https://example.com/photo.jpg",
"layers": [{
"input": "https://example.com/logo.png",
"resize": { "scale": 0.5 },
"top": 20,
"left": 20,
"opacity": 0.7
}]
}
{
"input": "https://example.com/image.jpg",
"width": 1080,
"height": 1080,
"fit": "cover"
}
{
"input": "https://example.com/image.jpg",
"width": 200,
"height": 200,
"fit": "cover"
}
IMPORTANT: gravity and top/left are mutually exclusive. Do NOT mix them.
Use gravity alone to place layer at predefined anchor points:
northwest | north | northeast
----------+----------+----------
west | center | east
----------+----------+----------
southwest | south | southeast
Example: { "gravity": "southeast" } → bottom-right corner
Use top + left together for precise pixel positioning:
(0,0)────────────────────→ X (left)
│
│ ┌─────────┐
│ │ layer │ ← top=100, left=200
│ └─────────┘
↓
Y (top)
Example: { "top": 100, "left": 200 } → exact pixel position
resize.width / resize.height: Target dimensions in pixelsresize.scale: Scale factor (e.g., 0.5 = half size, 2 = double size)resize.fit: Resize mode (contain, cover, fill, inside, outside)| Mode | Behavior |
|---|---|
| cover | Crop to fill exact dimensions (default) |
| contain | Fit within bounds, may add padding |
| fill | Stretch to exact size (may distort) |
| inside | Fit within bounds, no upscaling |
| outside | Cover bounds, may exceed dimensions |