Local image editing is the practical follow-on to local image generation: upscale a photo, cut out a background, erase an object, repair a face. It is also where the code ages fastest and the licence terms quietly decide what you may ship, because the wrappers and the weights are licensed separately and rarely updated together.
Everything below was read on 2026-10-27 from the projects’ own repositories, licence files and model pages. Release dates move; licence terms do not.
The short answer
| Job | What to reach for | Code licence | The catch |
|---|---|---|---|
| Upscale a photo | Upscayl or the ncnn Vulkan build of Real-ESRGAN | AGPL-3.0, or BSD-3-Clause and MIT | Both need a Vulkan GPU, and Upscayl’s newest release is v2.15.0 from December 2024 |
| Remove a background | rembg | MIT | The default weights are CC BY-NC 4.0 and need an account |
| Erase an object | LaMa inside ComfyUI | Apache-2.0 and GPL-3.0 | The dedicated wrapper, IOPaint, is archived |
| Restore a face | GFPGAN | Apache-2.0 | The other popular option, CodeFormer, is non-commercial |
Upscaling: old engines that still work
Real-ESRGAN is still the reference implementation, and the most useful thing to install first. It is BSD-3-Clause, it has 37,241 stars, and the last push to the repository was 2024-08-06. Nothing has moved in over two years, which is the point: the weights are small and the licence is clean.
The project’s own model list gives the line-up, with sizes taken from the release assets:
| Model | Scale | Size |
|---|---|---|
| RealESRGAN_x4plus | x4 | 63.94 MB |
| realesr-general-x4v3 | x4, also usable at x1 to x3 | 4.66 MB |
| RealESRGAN_x4plus_anime_6B | x4 | 17.11 MB |
| realesr-animevideov3 | x4 | 2.39 MB |
The cheapest way in is Real-ESRGAN-ncnn-vulkan, which is MIT licensed and needs no Python. The main repository’s v0.2.5.0 release still carries portable Windows, Linux and macOS archives of 43.37 MB, 44.76 MB and 49.42 MB, described by the project as executable files for Intel, AMD and Nvidia GPUs, which is the shortest path on a card that has lost CUDA support.
Upscayl is the desktop app built on that backend. It is AGPL-3.0 with 51,125 stars, its repository was pushed on 2026-10-05, and its newest release tag is still v2.15.0 from 2024-12-25: the code moves, the shipped builds do not. Its documentation requires a Vulkan-compatible GPU and says it will not work with most iGPUs or CPUs. The command line backend, upscayl-ncnn, is AGPL-3.0 too, with builds tagged 20251207-174704.
Two alternatives matter. chaiNNer is GPL-3.0 and node based, with a dependency manager that installs PyTorch, NCNN, ONNX or TensorRT on demand, and points at NCNN or PyTorch with ROCm for AMD cards. ComfyUI, GPL-3.0 at v0.43.0, ships built-in nodes named Load Upscale Model and Upscale Image (using Model), and its loader optionally registers a package its source comments describe as support for non commercial upscale models. Community models sit in the custom-models repository.
Background removal: rembg, and the licence on the default model
rembg is the one project here that is unambiguously alive: MIT licensed, 25,197 stars, pushed on 2026-10-21 and released as v2.0.86 the same day. It wants Python 3.11 to 3.13, and documents install paths for CPU, for NVIDIA through onnxruntime-gpu and for AMD through onnxruntime-rocm. Models download on first use into ~/.rembg/models/, and the same code runs as a CLI, a library and an HTTP server.
The model choice is where the licensing trouble sits. The default is bria-rmbg, at roughly 1.02 GB and 1024x1024, which the project notes is slower than the older u2net. Those weights come from briaai/RMBG-2.0, which carries a Creative Commons Attribution-NonCommercial 4.0 licence, is gated so an account is needed to reach the conditions, and points at a paid agreement for commercial use. The rembg documentation is clear about the general case: the weights carry their own licences, independent of the MIT licence on the tool.
The BiRefNet family is the alternative when the licence has to be clean. The BiRefNet repository is MIT licensed, and rembg ships birefnet-general, birefnet-general-lite, birefnet-portrait, birefnet-dis, birefnet-hrsod, birefnet-cod and birefnet-massive as separate choices. The older models come from U-2-Net, Apache-2.0, covering u2net, the lighter u2netp and silueta at 43 MB.
Getting the edge right matters as much as the mask. rembg offers four modes: the default naive cut-out, decontamination with -dc for the coloured halo left around hair, alpha matting with -a for a mask that cut through strands, and -vm for ViTMatte, which predicts the alpha with a network and costs an extra download of about 110 MB, or 380 MB for a base checkpoint. The documentation is explicit that the newer models rarely need -a and the older ones benefit most from it.
Object removal: the model is fine, the wrapper is archived
LaMa is the model that carries most object removal, and it is Apache-2.0 with the weights published under the same licence on Hugging Face. The repository has 10,347 stars and was last pushed on 2025-02-05.
What changed is the tooling around it. IOPaint was the application that stitched this page together, with erase, inpainting and outpainting in one interface and plugins covering LaMa, rembg, GFPGAN, RestoreFormer and RealESRGAN. It is Apache-2.0 with 23,300 stars, and GitHub reports it as archived, with the last commit on 2025-04-29 and the last release, iopaint-1.5.3, published on 2024-11-23. The model is permissively licensed and still downloadable, but the interface is not maintained, and the pipeline work has moved to ComfyUI, covered here in the ComfyUI install guide.
Face restoration: the licence decides the pick
GFPGAN is licensed under Apache 2.0, with named third-party components listed separately in its licence file: numpy under BSD 3-Clause, facexlib and opencv-python under MIT, and tqdm under MIT with an MPL-2.0 exception. The repository was last pushed on 2024-07-26 and the newest release is v1.3.8 from 2022-09-16. Its v1.3.4 release assets still hold the weights most people use: GFPGANv1.4.pth at 332.48 MB, CodeFormer.pth at 359.19 MB and RestoreFormer.pth at 277.31 MB.
CodeFormer is the one to know about before shipping anything. Its licence is the S-Lab License 1.0, which permits redistribution and use for non-commercial purposes in source and binary form and asks anyone needing commercial use to contact the contributors. The repository was last pushed on 2025-11-18 and still points at a 2022 release tag, and its own codeformer.pth is 359.19 MB. The same restriction applies to SUPIR, whose licence file limits the source code and the neural network weights to non-commercial use unless a commercial licence is agreed.
Hosting is a second annoyance: on Hugging Face, an anonymous request for the model pages of CodeFormer, GFPGAN, Real-ESRGAN and RestoreFormer returns HTTP 401, so reaching those weights there means an account. The same files are GitHub release assets, which is where the sizes above come from.
Where the licences bite
| Project | Licence | Commercial use |
|---|---|---|
| rembg (the tool) | MIT | Allowed |
| bria-rmbg weights, the rembg default | CC BY-NC 4.0 | Paid agreement with BRIA, account required |
| BiRefNet weights | MIT | Allowed |
| Real-ESRGAN | BSD-3-Clause | Allowed |
| Real-ESRGAN-ncnn-vulkan | MIT | Allowed |
| Upscayl and upscayl-ncnn | AGPL-3.0 | Allowed, copyleft |
| chaiNNer | GPL-3.0 | Allowed, copyleft |
| ComfyUI | GPL-3.0 | Allowed, copyleft |
| LaMa | Apache-2.0 | Allowed |
| GFPGAN | Apache-2.0, third-party BSD and MIT | Allowed |
| CodeFormer | S-Lab License 1.0 | Not without an agreement |
| IOPaint | Apache-2.0 | Allowed, project archived |
| SUPIR | Proprietary, non-commercial | Needs a commercial licence |
Bottom line
Pick by the job, then check the weights rather than the wrapper, because the licence lives on the model far more often than on the app. rembg is the only project here that is both actively maintained and easy to install, and if the output has to be sellable, BiRefNet is the model to choose rather than the default. Upscaling needs no Python if you take the ncnn Vulkan build, which also runs on AMD and Intel cards; Upscayl is the friendly way to do the same thing on a machine with a working Vulkan driver. GFPGAN is the face restorer whose terms let you ship the result, and CodeFormer is the one that does not. LaMa remains the permissive choice for erasing objects, but the wrapper most people used for it stopped being maintained in 2025, so that work now runs through ComfyUI.
Release dates and star counts will drift; licence terms will not, so they are the part worth re-reading before any of this goes into something you sell. The GPU comparison guide covers what each card unlocks, and local image generation by VRAM covers the generation half of the same pipeline.