Install
openclaw skills install image-handlerRead, analyze metadata, convert formats, resize, rotate, crop, compress, and batch process PNG, JPG, GIF, WebP, TIFF, BMP, HEIC, SVG, and ICO images.
openclaw skills install image-handlerAnalyze, convert, and manipulate image files.
| Format | Extensions | Read | Convert | Metadata |
|---|---|---|---|---|
| PNG | .png | ✅ | ✅ | ✅ |
| JPEG | .jpg, .jpeg | ✅ | ✅ | ✅ |
| GIF | .gif | ✅ | ✅ | ✅ |
| WebP | .webp | ✅ | ✅ | ✅ |
| TIFF | .tiff, .tif | ✅ | ✅ | ✅ |
| BMP | .bmp | ✅ | ✅ | ✅ |
| HEIC | .heic, .heif | ✅ | ✅ | ✅ |
| SVG | .svg | ✅ | ✅ | - |
| ICO | .ico | ✅ | ✅ | ✅ |
# Get all properties
sips -g all image.jpg
# Get specific properties
sips -g pixelWidth -g pixelHeight -g format -g dpiWidth -g dpiHeight image.jpg
# JSON-like output (parseable)
sips -g all image.jpg 2>&1 | tail +2
# Convert to PNG
sips -s format png input.jpg --out output.png
# Convert to JPEG with quality
sips -s format jpeg -s formatOptions 85 input.png --out output.jpg
# Convert HEIC to JPEG
sips -s format jpeg input.heic --out output.jpg
# Batch convert (shell)
for f in *.heic; do sips -s format jpeg "$f" --out "${f%.heic}.jpg"; done
# Resize to max dimensions (maintains aspect ratio)
sips --resampleWidth 1920 image.jpg --out resized.jpg
sips --resampleHeight 1080 image.jpg --out resized.jpg
# Resize to exact dimensions
sips --resampleWidth 1920 --resampleHeight 1080 image.jpg --out resized.jpg
# Scale by percentage
sips --resampleWidth 50% image.jpg --out half.jpg
# Rotate 90 degrees clockwise
sips --rotate 90 image.jpg --out rotated.jpg
# Rotate 180 degrees
sips --rotate 180 image.jpg --out rotated.jpg
# Flip horizontal
sips --flip horizontal image.jpg --out flipped.jpg
# Flip vertical
sips --flip vertical image.jpg --out flipped.jpg
# Crop to specific pixels (x, y, width, height)
sips --cropToHeightWidth 500 500 image.jpg --out cropped.jpg
# Crop from center
sips --cropToHeightWidth 500 500 --cropOffset 100 100 image.jpg --out cropped.jpg
# Remove EXIF and all metadata
sips --deleteProperty all image.jpg --out clean.jpg
# WebP to PNG
ffmpeg -i input.webp output.png
# Extract frames from GIF
ffmpeg -i animation.gif frame_%03d.png
# Create GIF from images
ffmpeg -framerate 10 -i frame_%03d.png output.gif
# Resize with ffmpeg
ffmpeg -i input.jpg -vf scale=1920:-1 output.jpg
# Convert video to GIF
ffmpeg -i video.mp4 -vf "fps=10,scale=480:-1" output.gif
Get comprehensive image metadata.
~/Dropbox/jarvis/skills/image-handler/scripts/image_info.sh <image>
Convert between formats with options.
~/Dropbox/jarvis/skills/image-handler/scripts/convert_image.sh <input> <output> [quality]
Convert all images in a directory.
~/Dropbox/jarvis/skills/image-handler/scripts/batch_convert.sh <input_dir> <output_format> [output_dir]
sips -g all for dimensions, format, metadatasips is built into macOS — no installation neededffmpeg handles WebP, animated GIFs, and video-to-imagecat or text tools