Spaces:
Running on Zero
Running on Zero
Commit History
-
feat: switch to PowerPaint (BrushNet) for object removal - the actually right tool for the job
nmdbbbResearch confirmed vanilla SD1.5/SDXL inpainting checkpoints are trained purely for 'replace masked region with what the prompt describes', not pure removal - they have no notion of 'nothing should be here', which is exactly why they kept hallucinating a replacement subject regardless of prompt/mask engineering (5+ attempts today across two model architectures). PowerPaint v2 (BrushNet) is trained with distinct task tokens: 'P_ctxt' means 'this is just background context, nothing new' and 'P_obj' (used as a negative prompt) suppresses new-object content - a real architectural distinction between removal and generation that prompt wording alone can't replicate on a generic inpainting model. Vendored PowerPaint's custom pipeline/model code (powerpaint/models, powerpaint/pipelines, powerpaint/utils - not available as an installable package or in mainline diffusers) faithfully following their own reference loading sequence (app.py's PowerPaintController). Replaced the mmengine logging de…b0c4bef -
feat: switch cloud inpainting from SD1.5 to SDXL for better quality
nmdbbbAfter repeated mask-engineering attempts (dilation, organic edges, rect bias, padding safety) still produced inconsistent results with SD1.5's runwayml/stable-diffusion-inpainting on real photos, switching to diffusers/stable-diffusion-xl-1.0-inpainting-0.1 (1024x1024, ~3x the parameters, much better prompt/context understanding) per user request. ZeroGPU's A10G (24GB VRAM) has plenty of headroom. Made safety_checker=None tolerant of pipelines that don't accept it (SDXL's inpainting pipeline doesn't have this kwarg at all, unlike SD1.5's).beb409d -
fix: sync inpainting.py/model_loader.py with main repo - deploy real StableDiffusionInpainter
nmdbbbThe Space had been running a stale LamaModelInpainter this whole time (the crop-back-to-original-size fix for SimpleLama's multiple-of-8 padding was never pushed here), which crashed with 'images do not match' on any crop whose dimensions weren't already divisible by 8 - i.e. almost every real photo, only missed by tiny square 256x256 test images. Also brings over StableDiffusionInpainter, RemoteInpainter, proportional crop padding, and CORS middleware from the main repo.0fb4a38 -
Fix SAM2/LaMa model loading to match real library APIs
nmdbbb523a925 -
Deploy object removal API (SAM2 + LaMa on ZeroGPU)
nmdbbbea2b072