How to use from the
Use from the
Diffusers library
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline

# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("fill-in-base-model", torch_dtype=torch.bfloat16, device_map="cuda")
pipe.load_lora_weights("QinmingZhou/OSOR")

prompt = "Astronaut in a jungle, cold color palette, muted colors, detailed, 8k"
image = pipe(prompt).images[0]

OSOR

Paper | Code

OSOR is a one-step diffusion inpainting framework for effect-aware object removal. This repository provides LoRA-based checkpoints for two implementations built with Diffusers and PEFT on FLUX.1 Fill [dev] and Stable Diffusion XL Inpainting.

Released Checkpoints

Model Stage Checkpoint Base model Model license
OSOR-FLUX-Fill Phase I osor-fluxfill/weights/fluxfill_phase1.pth FLUX.1 Fill [dev] FLUX.1-dev Non-Commercial License
OSOR-FLUX-Fill Phase II osor-fluxfill/weights/fluxfill_phase2.pth FLUX.1 Fill [dev] FLUX.1-dev Non-Commercial License
OSOR-SDXL-Inpainting Phase I osor-sdxlinpainting/weights/sdxlinpainting_phase1.pth SDXL Inpainting 0.1 CreativeML Open RAIL++-M
OSOR-SDXL-Inpainting Phase II osor-sdxlinpainting/weights/sdxlinpainting_phase2.pth SDXL Inpainting 0.1 CreativeML Open RAIL++-M

Phase I is trained with object-core supervision. Phase II introduces effect-aware supervision using CORNE.

Download

Download all released checkpoints:

hf download QinmingZhou/OSOR --local-dir ./OSOR-weights

Download one implementation only:

hf download QinmingZhou/OSOR \
  --include "osor-fluxfill/weights/*" \
  --local-dir ./OSOR-weights

hf download QinmingZhou/OSOR \
  --include "osor-sdxlinpainting/weights/*" \
  --local-dir ./OSOR-weights

Usage

Inference and training instructions are provided in the corresponding directories of the OSOR code repository:

  • osor-fluxfill/
  • osor-sdxlinpainting/

The released .pth files contain the trained LoRA parameters and, depending on the implementation and training phase, additional trainable output-layer parameters. They are raw PyTorch state dictionaries produced by the OSOR training code rather than standalone Diffusers adapter directories. Load them with the corresponding OSOR implementation instead of calling load_lora_weights() directly.

Data

License

The two checkpoint families inherit different base-model licenses:

  • OSOR-FLUX-Fill is subject to the FLUX.1-dev Non-Commercial License and is not released for commercial use.
  • OSOR-SDXL-Inpainting is subject to the CreativeML Open RAIL++-M License, including its use-based restrictions.
  • The source code in the OSOR GitHub repository is released under the MIT License. The code license does not replace or override the licenses of the model weights or their base models.

Users are responsible for reviewing the applicable license before using or redistributing a checkpoint.

Citation

@inproceedings{zhou2026osor,
  title     = {OSOR: One-Step Diffusion Inpainting for Effect-Aware Object Removal},
  author    = {Zhou, Qinming and Sun, Chenxi and Kong, Deyang and He, Junhao and Tang, Xiangheng and Yu, Peike and Wu, Haotian and Cao, Leilei and Zhang, Linfeng},
  booktitle = {European Conference on Computer Vision (ECCV)},
  year      = {2026},
  url       = {https://arxiv.org/abs/2606.28094}
}
Downloads last month
-
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Paper for QinmingZhou/OSOR