Install
openclaw skills install snowsand-watermark-removerRemove watermarks from images using Florence-2 detection + IOPaint (LaMa) inpainting. Supports batch processing and manual/automatic modes.
openclaw skills install snowsand-watermark-removerAutomatically detect and remove watermarks (especially MLS watermarks) from listing photos using Florence-2 for detection and IOPaint (LaMa) for inpainting.
pip install iopaint transformers torch pillow
# Optional OCR fallback:
pip install paddleocr paddlepaddle
Models auto-download on first run (~560MB total): LaMa (~100MB) + Florence-2 (~460MB).
# Single image
python ~/.openclaw/workspace/skills/watermark-remover/scripts/remove_watermark.py \
--input photo.jpg --output photo_clean.jpg
# Batch directory
python ~/.openclaw/workspace/skills/watermark-remover/scripts/remove_watermark.py \
--input ./photos/ --output ./photos_clean/ --suffix _clean
remove_watermark.py--input — file or directory--output — file or directory (created if missing)--suffix — append to output filenames (e.g. _clean)--model — lama (default), mat, migan, or ldm--device — cpu, cuda, or mps (auto-detected)--confidence — detection threshold 0.0–1.0 (default: 0.5)--padding — mask expansion in pixels (default: 10)--dry-run — detect only, skip inpainting--preserve-exif — copy EXIF metadata (default: on)Supported: .jpg, .jpeg, .png, .webp, .tiff
Start with lama. Switch to ldm only if LaMa leaves visible artifacts.
--padding or try ldmldm for complex backgrounds--confidence to 0.3--device cpu or migan model--match-histograms (IOPaint ≥1.5)See references/model-comparison.md for detailed model benchmarks.