CleanUp.pictures
This is the code repository for CleanUp.pictures, a free web application that lets you quickly cleanup or remove objects in any image.
CleanUp.pictures consists in 3 main blocks:
- A frontend built with React / Typescript / TailwindCSS
- A Nodejs Firebase function to proxy the fetch requests on a secure HTTPS endpoint with AppCheck/reCAPTCHA v3
- An inpainting service. We use a custom LaMa API that can handle high resolutions images without repeating patterns. You can also run the original LaMa model locally: here is an example implementation by @Sanster
Setup
- Function:
cd functions && npm i
- Frontend:
npm i
Then edit the .env file (or add a new .env.local
file) that matches your firebase & backend settings.
To point the frontend to the local functions emulator, update your .env file with:
REACT_APP_INPAINTING_ENDPOINT=http://localhost:5001/cleanup-pictures/us-central1/cleanup
In-painting API
If you don't have access to GPUs and/or don't want to deploy the service on remote GPUs, we provide an API that can be used to run fast high resolution inpainting.
The documentation is available here: https://clipdrop.co/apis/docs/inpainting
Development
- Function:
cd functions && npm run serve
- Frontend:
npm run dev
Deployment
- Function:
firebase deploy --only functions
- Frontend: The frontend is automatically deployed when a PR is created/merged
Acknowledgements
CleanUp.pictures wouldn't be possible without LaMa: Resolution-robust Large Mask Inpainting with Fourier Convolutions by Samsung Research.
Our tools
Cleanup.pictures is made with love by ClipDrop. Take a look at our other tools:
Or try one of our mobile apps: