Instructions to use neonforestmist/Clover-Image-Tiny-Inpaint with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use neonforestmist/Clover-Image-Tiny-Inpaint 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("neonforestmist/Clover-Image-Tiny-Inpaint", dtype=torch.bfloat16, device_map="cuda") 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] - Notebooks
- Google Colab
- Kaggle
import torch
from diffusers import DiffusionPipeline
from diffusers.utils import load_image
# switch to "mps" for apple devices
pipe = DiffusionPipeline.from_pretrained("neonforestmist/Clover-Image-Tiny-Inpaint", dtype=torch.bfloat16, device_map="cuda")
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]Clover Image Tiny Inpaint HQ
SD 1.5-class inpainting for local, prompt-guided image edits.
Image + mask + prompt ยท Clover's shared components ยท Diffusers and separate Core ML resources.
Example ยท Model ยท Run it ยท Evaluation & documentation
Inpainting example
The white area of a mask selects what to regenerate; black selects what to preserve. This published example uses the prompt โadd blue sunglasses.โ
Model
Inpaint HQ uses the full Stable Diffusion 1.5 inpainting denoiser with Clover's text encoder, tokenizer, VAE, and scheduler. It is a larger model than the compact regular Clover text-to-image checkpoint. Regular Clover generates from text; Inpaint HQ requires an image and mask.
On the release's 24-edit held-out evaluation, HQ improved masked prompt alignment by 4.8% and reduced masked target error by 11.1% versus the previous Clover inpainting release. These are evaluation-set results; individual edits still depend on the image, mask, and prompt. See the quality gate and selection record below.
Run an edit with Python
Install the project's pinned Python dependencies. This example uses an NVIDIA CUDA GPU:
import torch
from diffusers import AutoPipelineForInpainting, DPMSolverMultistepScheduler
from diffusers.utils import load_image
pipe = AutoPipelineForInpainting.from_pretrained(
"neonforestmist/Clover-Image-Tiny-Inpaint",
torch_dtype=torch.float16,
).to("cuda")
pipe.scheduler = DPMSolverMultistepScheduler.from_config(pipe.scheduler.config)
image = pipe(
prompt="a glossy red enamel kettle resting naturally on the countertop",
negative_prompt="blurry, distorted, low detail",
image=load_image("source.png"),
mask_image=load_image("mask.png"),
num_inference_steps=20,
guidance_scale=6.0,
padding_mask_crop=96,
).images[0]
image.save("clover-inpaint.png")
Start with 20 steps, guidance 6.0, and 96 pixels of surrounding context.
Use a source image and same-size grayscale mask. Small selections benefit from a
context crop so the model can see both the edited region and its surroundings.
To use an already downloaded model offline, pass local_files_only=True to
from_pretrained.
Apple silicon and CPU
For Apple silicon, change .to("cuda") to .to("mps"). For CPU, use
torch_dtype=torch.float32 and .to("cpu"); generation is slower. Hardware,
precision, and dependencies can change the result even with the same seed.
Styles and Apple devices
The Clover iOS app linked above provides a native masking workflow. Core ML resources are published separately.
Published Clover attention-only LoRAs are mechanically compatible in Diffusers, but they were trained for text-to-image, so evaluate each style's editing quality. The shipping iOS inpainting screen does not enable dynamic styles. Adapter and deployment details are included in Evaluation and provenance below.
Limits and license
Small text, hands, faces, exact logos, and very small masks can be difficult. Review generated edits before sharing. The model inherits the limitations and CreativeML Open RAIL-M obligations of Clover and Stable Diffusion 1.5 inpainting.
Evaluation and provenance
Quality gate, selection record, Core ML, and LoRA compatibility
Quality gate
The release was evaluated on 24 deterministic, held-out, human-rated InpaintCOCO edits. Every output was also reviewed in three visual contact sheets before release.
| Metric | Previous Clover inpaint | HQ release | Change vs. previous Clover | SD 1.5 inpaint teacher |
|---|---|---|---|---|
| Masked prompt CLIP similarity โ | 0.2642 | 0.2768 | 4.8% higher | 0.2820 |
| Masked target MAE โ | 0.2510 | 0.2231 | 11.1% lower error | 0.2156 |
| Changed pixels outside the mask โ | 0 | 0 | Unchanged | 0 |
โ Higher is better; โ lower is better. Bold highlights HQ's improvements over the previous Clover release, not the best score across all models. The strongest measured improvement is 11.1% lower masked target error. The SD 1.5 teacher still scores better on both alignment and target error in this evaluation.
The HQ release improves prompt alignment by 4.8% and reduces masked target error by 11.1% relative to the previous Clover inpainting release. The visual gate showed recognizable buses, dogs, trains, furniture, signs, and scene-consistent lighting where the compact candidates often collapsed into amorphous fills.
Selection provenance
The release process compared the existing checkpoint, a 30,000-step full-U-Net distillation run, two fused context-LoRA refinements, partial weight blends, the full Stable Diffusion inpainting reference, and this Clover-component hybrid. The 30,000-step and context-LoRA candidates were rejected because they did not beat the existing release across both visual and quantitative gates. The published HQ architecture was the only Clover-compatible candidate that materially improved both prompt alignment and reconstruction.
- Inpainting U-Net revision:
stable-diffusion-v1-5/stable-diffusion-inpainting@8a4288a76071f7280aedbdb3253bdb9e9d5d84bb - Clover components:
neonforestmist/Clover-Image-Tiny - Evaluation dataset:
phiyodr/InpaintCOCO@1ffac84be2dfc5ad9afccad868522fad64457435 - Selection platform: Modal H100
- Evaluation seed:
20260813
Core ML and style mixing
The companion iOS resources are published at
neonforestmist/Clover-Image-Tiny-Inpaint-CoreML.
In Diffusers, the published Clover style LoRAs are mechanically compatible with this nine-channel U-Net because they modify attention projections only; those tensor shapes are unchanged from the four-channel model. They were trained for text-to-image, however, so masked-edit quality should be evaluated per style. LoRAs that modify the four-channel input convolution are not compatible.
Dynamic Core ML loading is a separate deployment capability. The shipping iOS inpainting screen currently selects a stateless or chunked U-Net and does not enable styles. An adapter-aware stateful nine-channel export can provide up to three independently weighted slots, but it must include the matching adapter schema and be validated on its target devices. For a stateless deployment, fuse a compatible LoRA before conversion.
Limitations
Small text, hands, faces, exact logos, and masks below latent resolution can still fail. Output quality depends on the source, mask, prompt, scheduler, guidance, seed, and step count. This release inherits the limitations and license obligations of Clover Image Tiny and Stable Diffusion 1.5 inpainting.
Citation
@software{lozadaperez2026cloverimagetinyinpaint,
author = {Lukas Lozada Perez},
title = {Clover Image Tiny Inpaint HQ: Local Context-Aware Image Inpainting},
year = {2026},
url = {https://huggingface.co/neonforestmist/Clover-Image-Tiny-Inpaint}
}
Created by Lukas Lozada Perez.
- Downloads last month
- 144

