ComfyUIで画像の一部分を修正する方法|インペイント入門
確認日:2026-09-08 / 検証ラベルは本文記載の条件・範囲に限ります。
この記事の内容
用語のリンクを押すと、用語集の説明を開きます。
画像の中から変更したい場所を指定して描き直す方法を「インペイント」と呼びます。今回は、左の小さな器を消し、その場所に机や窓の続きを描く練習です。


最初に塗った範囲では、器は消えたものの境目が残りました。後半で、範囲を狭くした場合・広くした場合も比べます。まずはマスクを塗って1枚保存するところまで進み、仕上がりに違和感があれば比較を参照してください。
対象は、最小ワークフローで1枚生成できた方です。本記事では通常の画像生成用モデルRealistic Vision V5.1 (VAE)を使います。専用のinpaintingモデルは使っていません。ComfyUI公式のインペイント例とは採用モデルが異なるので、ファイルだけを混ぜて読み込まないでください。
配布した画像と8ノードのワークフローを開く
| 用意するもの | ファイル・確認先 |
|---|---|
| ワークフロー | ainavora-inpaint.jsonを保存 |
| 元画像 | 512×512の赤い器のPNGを保存 |
| 通常のSD1.5系モデル | Realistic Vision V5.1 (VAE)。取得・配置の手順 |
| 追加ノード・LoRA | 不要 |
上のモデル取得手順を使う場合、選ぶファイルは `realisticVisionV60B1_v51VAE.safetensors` のfull/fp32版です。画面に出る旧名の `020.realisticVisionV51_v51VAE.safetensors` と同じ中身を使っています。ファイル名を旧名に変更する必要はありません。
ComfyUIで `Ctrl + O` を押し、配布JSONを開きます。「チェックポイントを読み込む」(Load Checkpoint)でモデルを選び、「画像を読み込む」(Load Image)のアップロードボタンから元画像を読み込んでください。

JSONだけでは元画像やモデルは入りません。初回は必ず読み込んでください。まだマスクを塗っていない段階では、実行せず次へ進みます。
変更する場所を標準マスクエディターで塗る
変更する範囲を示す印が「マスク」です。今回は画像を黒く塗りつぶして完成させるのではなく、ComfyUIへ「この部分を描き直して」と伝えるために使います。
1.元画像の右クリックからマスクエディターを開く
Load Imageの画像を右クリックし、`Open in MaskEditor | Image Canvas` を選びます。検証時の表示では、メニューの下の方にあります。

画像を選択したときの小さなツールバーにも、マスクエディターを開くボタンがあります。開き方の違いは公式のマスクエディター解説で確認できます。
2.マスクペンを選び、左の器を塗る
編集画面の左端にある、いちばん上の「マスクペン」を選びます。2段目の通常のペンは画像そのものに色を描く道具なので、今回は使いません。

検証ではブラシの太さを90、不透明度を1、硬さを1にしました。左の器の本体だけでなく、取っ手と影の周りも含めて、マウスを押したままなぞります。右の大きな器には、できるだけかからない範囲から始めます。

この画面では、黒く重なって見える部分が変更する範囲です。元画像を黒い絵に描き替えたわけではありません。大きく塗りすぎたら「元に戻す」、全部塗り直すなら「クリア」を使います。
3.保存して、マスクの接続を確認する
右上の「保存」を押すとワークフローへ戻ります。Load Imageのプレビューでも、塗った場所が覆われて見えることを確認します。

配布JSONでは、Load Imageの「画像」と「マスク」の両方を、「VAEエンコード(インペイント用)」へつないでいます。通常のVAE Encodeにはマスク入力がないため、ここを取り違えないでください。

`grow_mask_by` は日本語画面では「マスクの拡大」と表示されます。境界付近の処理範囲を広げる設定で、今回は配布値の6のままです。まずはこの値まで同時に変えず、手で塗る範囲を確認してください。
修正したい内容を入力して1枚生成する
Positive欄には、描いてほしい完成状態を入れます。今回の文章は「右に赤い器が1つあり、左は空いた木のテーブル」という指定です。
```text
a single red ceramic mug on the right side of a wooden table, empty wooden table on the left, soft window light, product photography
```
Negative欄は次のとおりです。
```text
blurry, low quality, text, watermark
```
| 設定 | 今回の値 |
|---|---|
| モデル | Realistic Vision V5.1 (VAE)、通常の生成用 |
| Seed・生成後の制御 | 20260908、fixed |
| Steps・CFG | 20、7 |
| Sampler・Scheduler | euler、normal |
| denoise | 1 |
| grow_mask_by | 6 |
| 入力・出力サイズ | 512×512 |
この構成では、マスクで指定した範囲を描き直すためにdenoiseを1にしています。全体を変えるimg2imgの比較値0.5を、そのまま引き継ぐ手順ではありません。
「実行する」を1回押し、完了を待ちます。Save Imageに結果が出たら、ComfyUIの出力先にある `Ainavora_inpaint` で始まるPNGを開きます。元画像と別のファイルとして保存されます。
変更する場所を指定して描き直せれば、操作の確認はできています。ただし、保存できたことと、掲載できる仕上がりになったことは別です。次に境目を見ます。
マスクが狭い・広い場合と、境目の違いを比べる
ここでは、入力画像の色や形、モデル、文章、Seed、生成設定を固定し、マスクの範囲だけを変えました。比較用の白黒画像は、白が変更する範囲、黒が残す側です。エディターの黒い重ね表示とは見え方が違います。
狭いマスクでは、取っ手の一部が残った
器の中央を塗るだけでは、周りにある取っ手や輪郭まで消せませんでした。消したい物の形を確認し、本体の外へ続く部分も範囲に含める必要があります。
通常マスクでは、器は消えたが境目が目立つ
不要な器はなくなりましたが、窓の下部や机の色が切り替わる箇所が残りました。小さなプレビューでは見逃しやすいので、保存したPNGを原寸でも確認します。
広いマスクでは境目が目立ちにくくなったが、変更範囲も増えた
今回の広い範囲では、通常マスクで目立った縦の境目が分かりにくくなりました。その代わり、窓の下部、机の影、右の器の左端も描き直す範囲に入っています。広ければ必ずよい、という結果ではありません。残したい物にかかっていないかも確認してください。
比較用の狭い・広いマスクは、通常マスクをそれぞれ30px縮めたものと55px広げたものです。画像の色のデータは変えていません。この数値は差を確認するための条件で、手で塗るときに同じ幅を測る必要はありません。
マスクの外側も、元画像と完全に同じとは限らない
今回の構成では画像全体をVAEで変換するため、塗っていない場所にも細かな色・輪郭の違いが出ました。下は、通常マスクから離れた右の器を同じ位置で切り抜き、2倍表示した比較です。
通常マスクの外側で画素を照合すると、元画像との差はゼロではありませんでした。「マスク外は1画素も変わらない」用途には、この配布構成だけでは対応できません。元画像の保持が厳密に必要な作業では、変更部分だけを元画像に合成する工程も必要になります。本記事の配布版には、その合成処理は入れていません。
| 困った状態 | まず確認すること |
|---|---|
| 何も変わらない | マスクを保存したか、Load Imageのマスク出力がつながっているか |
| 画像自体が塗り替わった | 通常のペンではなく、マスクペンで塗ったか |
| 消した物の一部が残る | 取っ手・輪郭・影まで範囲に含めたか |
| 境目が不自然 | 原寸で場所を確認し、周辺を含める範囲を少しずつ調整 |
| 残したかった物も変わる | マスクがその物にかかっていないか。広げすぎた場合は戻す |
ノードやモデルのエラーは動かないときの対処で確認できます。この練習は机上の小物を対象にしており、手・顔・細い文字の修正結果は検証していません。
再現用ファイルと検証条件
自分で塗る練習には元のPNGを使い、掲載結果と同じ範囲を試したい場合は、マスク付きの通常・狭い・広いのPNGをLoad Imageへ読み込みます。これらは透明部分としてマスク情報を持つため、通常の画像ビューアーでは一部が抜けて見えます。
同じ比較をする間は、モデル・文章・Seed・設定を変えないでください。必要ファイルの一覧と手順はREADMEにもあります。モデル本体は配布していません。
検証日:2026年9月8日。WindowsのローカルComfyUI、標準8ノード、CPU処理で実行しました。SD1.5の通常生成用モデルを使ったこの条件での結果であり、専用のinpaintingモデルや別系列での結果は含みません。
| 用語 | この記事での意味 |
|---|---|
| インペイント | 画像の一部分を指定して描き直す方法 |
| マスク | 変更する場所を示す範囲の情報 |
| VAE Encode for Inpainting | 画像とマスクを、部分修正用の計算データへ変換するノード |
| grow_mask_by | マスクの境界付近で処理する範囲を広げる設定 |
操作仕様は公式のマスクエディター解説で確認できます。記事や配布物の不具合はお問い合わせへお知らせください。








