ComfyUIで背景を透過した画像を作るには、本体に入っている背景除去ノード(Remove Background)とBiRefNetのモデルで被写体のマスクを作り、そのマスクを画像のアルファ(透明度)として結合して、PNGで保存します。
公式のテンプレートが用意されているため、モデルを所定のフォルダーに置けば、ノードを一から組まなくても始められます。
この記事は、生成した画像や手持ちの写真から背景を抜き、透明なPNGとして使いたい方に向けたものです。
内容は、2026年10月18日に読んだComfyUIの公式ドキュメント、公式リポジトリのソース、公式テンプレートの記載をもとにしています。
実機での再現は含まないため、仕上がりは手元の画像で確かめてください。
使うノードとモデル
背景除去のノードは、2026年5月にComfyUI本体へ追加されました(公式リポジトリの更新履歴より)。
公式ドキュメントでは、ノードが見つからない場合はComfyUIを更新するよう案内されています(ComfyUI公式:BiRefNet Background Removal)。
| 英語のノード名 | 日本語表示 | 役割 |
|---|---|---|
| Load Background Removal Model | 背景除去モデルの読み込み | models/background_removal のモデルを選ぶ |
| Remove Background | 背景を除去 | 画像から被写体(前景)のマスクを作る |
| Invert Mask | マスクを反転 | マスクの白黒を入れ替える |
| Join Image with Alpha | アルファで画像を結合 | 画像とマスクを合わせて透明度付きの画像にする |
| Save Image | 画像を保存 | PNGとして保存する |
モデルは、ComfyのHugging Faceにある birefnet.safetensors(公式テンプレートの記載で423.9MB)を使います(Comfy-Org/BiRefNet)。
置き場所は ComfyUI/models/background_removal/ です。
公式ドキュメントでは、checkpoints フォルダーではなくこのフォルダーに置くよう念を押しています。
公式ドキュメントでは、モデルの重みはMITライセンスで提供されていると説明されています。
公式テンプレートで始める
- ComfyUIを更新する
- メニューの「テンプレートを参照」(英語表示では Browse Templates)を開く
- 「背景除去: BiRefNet」(英語表示では BiRefNet: Remove Background)を選ぶ
- Load Image(日本語表示は「画像を読み込む」)で、背景を抜きたい画像を選ぶ
- 実行する
公式テンプレートの日本語版の一覧では、このテンプレートは「画像ツール」の分類に入っています。
公式ドキュメントでは、出力は透明な背景に被写体が乗った画像(RGBA)と、取り出した前景のマスクの2つと説明されています。
公式テンプレートのワークフロー(utility_birefnet_remove_background.json)では、この2つが画像のプレビューとマスクのプレビューにつながっており、ファイルとしては保存されません。
ファイルに残す場合は、画像の出力にSave Imageをつなぎます(次の節)。
テンプレートの読み込みでモデルが足りないと表示された場合は、ComfyUIでワークフローを読み込む方法で確認できます。
ノードを自分で組む場合のつなぎ方
公式テンプレートの中身は、次の接続を1つにまとめたものです。
| 出力元 | 接続先 |
|---|---|
| Load Background Removal Model | Remove Backgroundのbg_removal_model |
| Load Image(または生成した画像)のIMAGE | Remove Backgroundのimage |
| Remove BackgroundのMASK | Invert Maskのmask |
| Invert MaskのMASK | Join Image with Alphaのalpha |
| Load Image(または生成した画像)のIMAGE | Join Image with Alphaのimage |
| Join Image with AlphaのIMAGE | Save Imageのimages |
生成した画像の背景を抜く場合は、VAE Decodeから出たIMAGEを、Load Imageの代わりにRemove BackgroundとJoin Image with Alphaの両方につなぎます。
Invert Maskを挟む理由
ComfyUIのソースでは、Remove Backgroundの出力は「前景のマスク」で、被写体の部分が1(白)になります。
一方、Join Image with Alphaは、受け取ったマスクを反転してからアルファにする作りです。
これは、ComfyUIのマスクが、画像のアルファを反転したものとして扱われているためです(公式の開発者向けドキュメントでは、Load Imageがアルファを反転してマスクを作ると説明されています)。
そのため、前景のマスクを直接つなぐと被写体の側が透明になり、公式テンプレートでも間にInvert Maskが入っています。
被写体が消えて背景だけが残った場合は、Invert Maskが抜けていないかを確かめてください。
透明PNGとして保存する
Save Imageは、ComfyUIの output フォルダーにPNG形式で保存します。
ComfyUIのソースでは、Join Image with Alphaが出力する4チャンネル(RGBと透明度)の画像は、そのまま透明度付きのPNGとして書き出される作りです。
ファイル名は、filename_prefix(日本語表示は「ファイル名_プレフィックス」)に入れた文字の後ろに連番が付きます。
保存先は、起動時に --output-directory を指定すると変えられます。
PNGにはワークフローが埋め込まれる
Save Imageで保存したPNGには、初期設定でプロンプトとワークフローの情報が埋め込まれます。
人に渡す画像や公開する画像に、プロンプトや使ったファイル名を残したくない場合は、起動時に --disable-metadata を付けると埋め込まれなくなります(ComfyUIのソースの起動オプションより)。
自分用には、ワークフローが入ったPNGを残しておくと、後から同じ処理を開き直せます。
うまく抜けないときの確認
公式ドキュメントでは、BiRefNetは髪の毛や毛並みなどの細かい輪郭も検出できる一方、極端に散らかった背景や、背景に溶け込むような被写体ではマスクの精度が落ちることがあると説明されています。
生成した画像の背景を抜くつもりなら、最初から単色に近い背景で生成しておくと、被写体と背景の境目がはっきりします。
- Load Background Removal Modelでモデルを選べない場合は、models/background_removal に置いたか、ComfyUIを再起動したかを確かめる
- ノードそのものが見つからない場合は、ComfyUIを更新する
- 被写体が透明になった場合は、Invert Maskが入っているかを確かめる
- 保存したPNGが透明にならない場合は、Save Imageにつないでいるのが、Join Image with Alphaの出力かを確かめる
ノードの一覧に出ないときの確認は、ComfyUIのMissing Nodesを直す方法にもまとめています。
Bria・Recraftの背景除去ノードとの違い
ノードの検索では、Bria 画像背景除去やRecraft 背景除去といったノードも出てきます。
これらはComfyUIのソースでパートナーノードとして分類されているもので、手元のPCではなく外部のサービスで処理します。
公式ドキュメントでは、パートナーノードはComfyのアカウントへのログインと、事前に購入するクレジットが必要で、画像などの入力が外部の提供元に送られると説明されています(ComfyUI公式:Partner Nodes)。
手元のPCだけで処理したい場合は、この記事のBiRefNetのノードを使います。
ComfyUIをまだ動かしていない場合は、ComfyUIで最初の1枚を生成する手順から始めてください。
