Anchoring on Reality: Breaking the Pseudo-Target Ceiling in Makeup Transfer
Paper • 2606.31089 • Published • 1
How to use csbowei/ART with Diffusers:
pip install -U diffusers transformers accelerate
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.1-Kontext-dev", dtype=torch.bfloat16, device_map="cuda")
pipe.load_lora_weights("csbowei/ART")
prompt = "Turn this cat into a dog"
input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png")
image = pipe(image=input_image, prompt=prompt).images[0]import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("black-forest-labs/FLUX.1-Kontext-dev", dtype=torch.bfloat16, device_map="cuda")
pipe.load_lora_weights("csbowei/ART")
prompt = "Turn this cat into a dog"
input_image = load_image("https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/cat.png")
image = pipe(image=input_image, prompt=prompt).images[0]This repository provides the model weights for ART: Anchoring on Reality: Breaking the Pseudo-Target Ceiling in Makeup Transfer.
ART is a makeup transfer framework that applies a reference cosmetic style to a source face while preserving identity, geometry, and fine-grained makeup details.
| File | Task |
|---|---|
art_transfer_lora_512.safetensors |
Makeup transfer |
art_transfer_lora_1024.safetensors |
Makeup transfer |
art_demakeup_lora_512.safetensors |
Makeup removal |
art_demakeup_lora_1024.safetensors |
Makeup removal |
Higher-resolution checkpoints will be released in the future. Stay tuned.
These LoRA adapters are for black-forest-labs/FLUX.1-Kontext-dev.
Refer to the project repository: https://github.com/csbowei/ART
Example:
# Makeup transfer: apply the reference's makeup onto the input face
python infer.py \
--task mt \
--input ./examples/source/src_001.jpg \
--ref ./examples/ref/ref_001.jpg \
--lora_path /path/to/art_transfer_lora_1024.safetensors \
--resolution 1024
# Makeup removal: strip cosmetics from the input face
python infer.py \
--task demakeup \
--input ./examples/ref/ref_002.jpg \
--lora_path /path/to/art_demakeup_lora_1024.safetensors \
--resolution 1024
@article{wei2026art,
title={Anchoring on Reality: Breaking the Pseudo-Target Ceiling in Makeup Transfer},
author={Wei, Bo and Lin, Xianhui and Dong, Yi and Li, Zhongzhong and Li, Zonghui and Wang, Zirui and Yang, Jiachen and Liu, Xing and Gu, Hong and Li, Xiaoming and Zuo, Wangmeng},
journal={arXiv preprint arXiv:2606.31089},
year={2026}
}
Base model
black-forest-labs/FLUX.1-Kontext-dev