img2img, inpainting và outpainting cơ bản: sửa tay, đổi vật thể và mở rộng ảnh
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 | ||
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 |
Từng bước
- Tạo ảnh gốc và giữ seed cùng prompt.
- Để 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.
- 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.
- 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.
- Để 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").
- Để 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.
- 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.
- 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?
Liên kết và nguồn
- SDEdit: img2img origins (Meng et al., 2021)
- RePaint: inpainting with diffusion (Lugmayr et al., 2022)
- SD 1.5 family page
- Flux family page
- Qwen Image family page
- PirateDiffusionAD
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 liên quan
DreamShaper 8 Inpainting: sửa và thay đổi các phần của hình ảnh
1 Tháng 10, 2026
Realistic Vision 5.1 Inpainting: sửa chữa và chỉnh sửa ảnh chân thực
2 Tháng 10, 2026
epiCRealism v5 Inpainting: chỉnh sửa ảnh tự nhiên trên SD 1.5
2 Tháng 10, 2026
Hướng dẫn Qwen-Image-Edit: câu lệnh chỉ dẫn, chỉnh sửa nhiều ảnh và các LoRA giúp cải thiện
26 Tháng 5, 2026
Các bước, CFG, bộ lấy mẫu, bộ lập lịch và hạt giống: giải thích các thiết lập tạo ảnh với các giá trị mặc định an toàn
19 Tháng 11, 2025
Phóng to ảnh AI: các mô hình ESRGAN, hires-fix, khuếch tán theo ô và khi nào dùng từng loại
4 Tháng 3, 2026
Hướng dẫn khác
Lỗi ComfyUI và cách sửa: nút đỏ, thiếu mô hình, hết bộ nhớ CUDA
12 Tháng 5, 2026
CUDA hết bộ nhớ: mỗi mô hình AI cần bao nhiêu VRAM và cách để vừa vặn
18 Tháng 5, 2026
Flux vs SDXL vs SD 1.5 vs Qwen vs Z-Image: nên dùng dòng model nào năm 2026
22 Tháng 5, 2026
Yêu cầu VRAM cho mọi mô hình AI hình ảnh và video phổ biến (2026): độ chính xác đầy đủ, FP8 và GGUF
6 Tháng 10, 2026

AMD Amuse năm 2026: chuyện gì đã xảy ra, và bạn có nên dùng nó nữa không?
9 Tháng 10, 2026
