Model
.ai
theo dõi các mô hình AI mở

img2img, inpainting và outpainting cơ bản: sửa tay, đổi vật thể và mở rộng ảnh

Chủ đề: Viết prompt
Bởi Captain
Đăng ngày 3 Tháng 12, 2025

Tổng quan

Text-to-image bắt đầu từ nhiễu hoàn toàn. img2img bắt đầu từ ảnh của bạn với một ít nhiễu thêm vào, nên model giữ bố cục và thay đổi phần còn lại; giá trị denoise (0 đến 1) cho biết mức nhiễu, tức là mức thay đổi. Inpainting là img2img giới hạn trong vùng mask: chỉ những điểm ảnh trong mask được tạo lại, phần còn lại giữ nguyên. Outpainting là inpainting mà vùng mask là phần khung hình mới xung quanh ảnh. Cả ba cách đều chạy được trên mọi giao diện và cả hai đối tác đám mây.
Inpainting là cách tạo ảnh AI trông hoàn chỉnh. Không ai có tay, mắt hay chữ hoàn hảo ngay lần đầu; họ tạo bố cục trước, rồi đánh dấu tay và tạo lại ở độ phân giải cao hơn với prompt chỉ mô tả tay. Các checkpoint inpainting chuyên dụng (SD 1.5 inpainting fine-tunes, Flux Fill, Qwen Image Edit) hiểu ranh giới mask tốt hơn checkpoint bình thường, và danh mục liệt kê chúng với tag riêng.
Các model chỉnh sửa 2025 (Qwen Image Edit, FLUX.1 Kontext, FLUX.2) nhận lệnh thay vì mask ("thay xe đỏ bằng xe đạp"); chúng được hướng dẫn trong phần Qwen Image Edit trên trang này. Quy trình dùng mask ở đây vẫn là công cụ chính xác nhất khi bạn muốn chỉ chỉnh đúng một vùng.

Tham khảo

Tên
Kiểu
Ý nghĩa
Denoise (độ mạnh khử nhiễu)
0.2-1.0
0.2-0.35 giữ nguyên ảnh và làm sạch chi tiết; 0.4-0.6 thay đổi phong cách nhưng giữ bố cục; 0.7+ chỉ dùng ảnh gốc như hướng dẫn lỏng lẻo.
Mask
brush / upload
Màu trắng là vùng tạo lại, màu đen giữ nguyên. Làm mờ viền 8-24 px để nối liền. Nên làm mask hơi lớn hơn vùng tay.
Chế độ mask: chỉ vùng mask hay toàn ảnh
"Chỉ vùng mask" render vùng mask ở độ phân giải đầy đủ (dùng để sửa tay); "toàn ảnh" giữ ngữ cảnh cho thay đổi lớn.
Padding chỉ vùng mask
32-128 px
Mức ngữ cảnh xung quanh mà model thấy khi render chỉ vùng mask. Padding nhiều hơn thì nối liền tốt hơn, chi tiết ít hơn.
Chế độ điền
original / fill / latent noise
"Original" để sửa phần có sẵn; "latent noise" hoặc "fill" khi vùng mask cần thành thứ mới.
Checkpoint inpainting
SD 1.5 inpainting, SDXL inpainting, Flux Fill, Qwen Image Edit
Được huấn luyện với mask; ít đường nối và mép ảo hơn checkpoint thường khi denoise cao.
Hướng và kích thước outpaint
px per side
128-256 px mỗi bước; mở rộng một hoặc hai bên cùng lúc, rồi chạy img2img denoise thấp trên toàn ảnh để đồng nhất.
Nút ComfyUI
VAE Encode (for Inpainting), Set Latent Noise Mask, InpaintModelConditioning
Hai nút đầu cho checkpoint thường; InpaintModelConditioning cho Flux Fill và checkpoint inpainting.

Từng bước

  1. Tạo ảnh gốc và giữ seed cùng prompt.
  2. Để làm sạch nhanh tổng thể, chạy img2img với prompt cũ, denoise 0.3, cùng kích thước; các lỗi nhỏ mờ đi và bố cục giữ nguyên.
  3. Với tay: mở inpaint, vẽ mask lớn hơn tay một chút, chọn "chỉ vùng mask", padding 64, denoise 0.5, prompt chỉ mô tả tay ("một bàn tay thư giãn đặt trên bàn, năm ngón") và tạo bốn ảnh.
  4. Với mặt ở xa: tương tự, denoise 0.4, prompt mô tả mặt; hoặc dùng node/extension làm chi tiết mặt tự động tạo mask.
  5. Để thay vật thể: mask toàn bộ, chế độ fill "latent noise", denoise 0.8 đến 1.0, prompt vật thể mới với ánh sáng ("một bình gốm, ánh sáng cửa sổ ấm từ bên trái").
  6. Để outpainting: mở rộng khung hình 256 px một bên, mask vùng mới cộng thêm 32 px chồng lấn, denoise 1.0 với checkpoint inpainting, prompt toàn cảnh; lặp lại cho từng bên.
  7. Kết thúc bằng một lần img2img toàn ảnh với denoise 0.2 đến 0.25 để đồng nhất hạt và màu, rồi phóng to.

Ví dụ

Sửa tay, tab inpaint A1111 / Forge

Inpaint area: only masked | Padding: 64 | Mask blur: 12 | Denoise: 0.5 | Fill: original
Prompt: a relaxed hand resting on a wooden table, five fingers, natural skin, soft window light
Negative: extra fingers, fused fingers, deformed hand

Thay phong cách với img2img

Input: your SDXL photo render | Denoise: 0.45 | Same seed | Prompt: same subject, "watercolour illustration, loose brush strokes, paper texture" | LoRA: a watercolour style at 0.8

Outpaint với Flux Fill trong ComfyUI

Load Image -> Pad Image for Outpainting (right 256, feathering 24) -> InpaintModelConditioning (Flux Fill) -> KSampler (denoise 1.0, guidance 30) -> VAE Decode

Mẹo

  • Chỉ prompt những gì trong mask khi dùng "chỉ vùng mask"; model không thấy phần còn lại của chủ đề trong prompt đâu.
  • Dùng model inpainting cùng dòng với ảnh gốc; ảnh Flux inpaint bằng SD 1.5 sẽ thấy đường nối phong cách.
  • Tay: mask rộng, prompt mô tả tư thế tay, tạo nhiều lựa chọn; chọn ảnh, không chỉnh lặp trên một ảnh.
  • Denoise thấp với LoRA mới nạp là cách rẻ để áp phong cách lên ảnh có sẵn mà không đổi bố cục.
  • Flux Fill xử lý xóa lớn và outpainting tốt hơn mọi checkpoint inpainting SDXL; Qwen Image Edit hiểu lệnh ("xóa người bên trái") không cần mask.
  • Trên PirateDiffusion trả lời ảnh bằng /inpaint hoặc /remix; trên BitVector công cụ ảnh nằm cạnh hộp prompt. Logic denoise giống nhau.

Khắc phục sự cố

Đường nối quanh mask thấy rõ

Vì sao xảy ra
Mask không làm mờ, padding quá nhỏ, hoặc model khác với ảnh gốc.

Cách sửa
Làm mờ mask 12-24, padding 64+, cùng dòng model; kết thúc bằng pass denoise 0.2 toàn ảnh.

Tay vẫn sai

Vì sao xảy ra
Mask quá chật, denoise quá thấp không đổi được tư thế, prompt mô tả toàn cảnh.

Cách sửa
Mask lớn hơn, denoise 0.55-0.7, prompt chỉ tay, tạo tám ảnh rồi chọn.

img2img thay đổi toàn bộ

Vì sao xảy ra
Denoise trên 0.7.

Cách sửa
0.3 đến 0.5 giữ bố cục.

Vùng outpaint sáng khác

Vì sao xảy ra
Model không thấy đủ ảnh gốc; "fill" làm màu mép trung bình.

Cách sửa
Chồng mask 32 px vào ảnh, dùng "latent noise", rồi đồng nhất bằng pass denoise thấp.

Vật inpaint như nổi hoặc ánh sáng sai

Vì sao xảy ra
Prompt không mô tả hướng sáng; padding quá nhỏ để thấy cảnh.

Cách sửa
Nêu ánh sáng trong prompt và tăng padding lên 128.

Câu hỏi

Tôi có cần model inpainting đặc biệt không?

Không cần cho sửa nhỏ với denoise đến 0.5. Với xóa lớn, thay thế lớn và outpainting thì có: checkpoint inpainting hoặc Flux Fill cho kết quả sạch hơn nhiều.

Denoise nào để "làm ảnh trông như tranh"?

0.4 đến 0.55 với prompt phong cách hoặc LoRA. Dưới 0.4 phong cách gần như không hiện; trên 0.6 chủ đề bắt đầu thay đổi.

Tôi có thể inpaint ở độ phân giải cao hơn ảnh không?

Có, đó là chức năng "chỉ vùng mask": vùng mask render ở kích thước gốc của model rồi thu nhỏ lại, nên tay cải thiện nhiều.

Chỉnh sửa bằng lệnh thay thế mask sao?

Với nhiều chỉnh sửa thì đúng (Qwen Image Edit, Kontext, FLUX.2). Mask vẫn là công cụ chính xác khi bạn cần chắc chắn không thay vùng ngoài.

Cách này dùng cho video được không?

Có video inpainting (Wan VACE, LTX in-context) nhưng quy trình khác; các hướng dẫn video trên trang này có đề cập.

Mô hình trong hướng dẫn này

Người viết
Điều hành con tàu này. Có những ý kiến về thời gian giải mã VAE mà chẳng ai hỏi. Tin rằng trọng số muốn được tự do và bất kỳ mô hình nào bạn không thể tải xuống đều là đăng ký với thêm bước. Sẽ không trả lời câu hỏi về 400 GB checkpoint trên NAS.
Tất cả hướng dẫn của Captain

Hướng dẫn khác