Image Generation
inpainting
Редактирование части изображения по маске — замена или восстановление выделенной области.
Что такое inpainting
Inpainting — режим генерации, при котором изменяется только часть изображения, ограниченная маской. Незамаскированные области сохраняются точно, маскированная — регенерируется с учётом промпта и контекста окружения.
Применяется для:
- Удаления объектов (person → background)
- Замены элементов (красная машина → синяя)
- Добавления объектов в конкретное место
- Исправления артефактов (деформированные руки, текст)
Inpainting в A1111 и ComfyUI
AUTOMATIC1111: вкладка img2img → Inpaint → нарисовать маску кистью → промпт → Generate.
ComfyUI: нода VAE Encode for Inpaint + маска из Load Image (as mask).
Inpainting через Diffusers
from diffusers import StableDiffusionInpaintPipeline
from PIL import Image
import torch
pipe = StableDiffusionInpaintPipeline.from_pretrained(
"runwayml/stable-diffusion-inpainting",
torch_dtype=torch.float16
).to("cuda")
image = Image.open("photo.jpg").resize((512, 512))
mask = Image.open("mask.png").resize((512, 512)) # белое = заменить, чёрное = сохранить
result = pipe(
prompt="a red sports car", # что сгенерировать вместо маски
image=image,
mask_image=mask,
guidance_scale=7.5,
).images[0]
Outpainting
Outpainting — обратная задача: расширение изображения за его границы, где маска покрывает добавленную область снаружи оригинала.
Связанные термины
- outpainting — расширение изображения
- img2img — основа для inpainting
- ControlNet — ControlNet Inpaint для более точных результатов
- Stable Diffusion — базовая модель
Готовы запустить GPU-задачу?
Запустить GPU-сервер