luogaara / lama-cleaner

Image inpainting tool powered by SOTA AI Model

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Lama-cleaner: Image inpainting tool powered by SOTA AI model

  • Support multiple model architectures
    1. LaMa
    2. LDM
  • High resolution support
  • Multi stroke support. Press and hold the cmd/ctrl key to enable multi stroke mode.
  • Zoom & Pan
  • Keep image EXIF data

Quick Start

  1. Install requirements: pip3 install -r requirements.txt
  2. Start server: python3, open http://localhost:8080

Available commands for

Name Description Default
--model lama or ldm. See details in Model Comparison lama
--device cuda or cpu cuda
--ldm-steps The larger the value, the better the result, but it will be more time-consuming 50
--crop-trigger-size If image size large then crop-trigger-size, crop each area from original image to do inference. Mainly for performance and memory reasons on very large image. 2042,2042
--crop-margin Margin around bounding box of painted stroke when crop mode triggered. 256
--port Port for web server 8080
--gui Launch lama-cleaner as a desktop application
--gui_size Set the window size for the application 1200 900

Model Comparison

Diffusion model(ldm) is MUCH MORE slower than GANs(lama)(1080x720 image takes 8s on 3090), but it's possible to get better result, see below example:

Original Image LaMa LDM
photo-1583445095369-9c651e7e5d34 photo-1583445095369-9c651e7e5d34_cleanup_lama photo-1583445095369-9c651e7e5d34_cleanup_ldm

Blogs about diffusion models:


Only needed if you plan to modify the frontend and recompile yourself.


Frontend code are modified from, You can experience their great online services here.

  • Install dependencies:cd lama_cleaner/app/ && yarn
  • Start development server: yarn dev
  • Build: yarn build


Run within a Docker container. Set the CACHE_DIR to models location path. Optionally add a -d option to the docker run command below to run as a daemon.

Build Docker image

docker build -f Dockerfile -t lamacleaner .

Run Docker (cpu)

docker run -p 8080:8080 -e CACHE_DIR=/app/models -v  $(pwd)/models:/app/models -v $(pwd):/app --rm lamacleaner python3 --device=cpu --port=8080

Run Docker (gpu)

docker run --gpus all -p 8080:8080 -e CACHE_DIR=/app/models -v $(pwd)/models:/app/models -v $(pwd):/app --rm lamacleaner python3 --device=cuda --port=8080

Then open http://localhost:8080

Like My Work?



Image inpainting tool powered by SOTA AI Model

License:Apache License 2.0


Language:TypeScript 55.0%Language:Python 38.9%Language:HTML 3.4%Language:CSS 1.1%Language:JavaScript 0.9%Language:Dockerfile 0.7%Language:Shell 0.0%