# マスク生成

> 「the red car」のような平易な言葉で被写体を説明すると、その被写体の白黒マスクが得られます。編集ノードで、その部分だけを描き直すのに使えます。

Source: https://nodaro.ai/ja/docs/nodes/image/generate-mask

**マスク生成**（Generate Mask）ノードは、テキストの説明をもとに画像の中の被写体を見つけ、その白黒マスクを返します。「the red car」のような短いフレーズを書くと、ノードはその被写体を白、それ以外をすべて黒で示します。マスクを編集ノードに接続すると、その部分だけを描き直せます。

- Found in: Image › Edit & Retouch
- Output: image
- API type: `generate-mask`

## 使いどころ
- 1 つの被写体だけを変更し、残りはそのままにします。「the jacket」をマスクしてから、[**画像修正**（Modify Image）](https://nodaro.ai/docs/nodes/image/modify-image)で色を変えます。
- 被写体の後ろにあるものを差し替えます。「the background」をマスクして、描き直します。
- 手作業で精密なマスクを作るときの出発点にします。まずマスクを生成し、[**マスクを描画**（Paint Mask）](https://nodaro.ai/docs/nodes/image/paint-mask)で仕上げます。
- [**リライティングと差し替え**（Relight & Switch）](https://nodaro.ai/docs/nodes/video/relight-and-switch)や、マスク入力を持つほかのノードのために範囲を選択します。

## クイックスタート
### ノードを追加する
キャンバス上で Tab を押し、**画像 › 編集とレタッチ › マスク生成**を選びます。

### 画像を接続する
[**画像アップロード**（Upload Image）](https://nodaro.ai/docs/nodes/image/upload-image)や[**画像生成**（Generate Image）](https://nodaro.ai/docs/nodes/image/generate-image)などの画像ノードから、**画像**入力までドラッグします。

### 被写体を説明する
設定パネルを開き、**マスクする対象を説明**に `the red car` のように被写体を書きます。

### 実行してマスクを接続する
**実行**をクリックします。マスクがノードに表示されます。**マスク**出力を編集ノードの**マスク**入力に接続し、同じ画像をそのノードの**画像**入力に接続します。[画像修正](https://nodaro.ai/docs/nodes/image/modify-image)では、Ideogram Edit など、マスクに対応したモデルを選びます。

Workflow: マスク生成は、写真と赤い車のマスクを一緒に次のノードへ渡します。画像修正は、その部分だけを描き直します。

- 画像アップロード → マスク生成 (画像)
- マスク生成 → 画像修正 (画像＋マスク)

## 入力
| 入力 | 接続できるノード | 説明 |
| --- | --- | --- |
| **画像** | 画像アップロード、画像生成、画像修正などの画像系ノード | 被写体を探す画像です。必須です。 |

マスク生成には、2 つの出力があります。

| 出力 | 渡す内容 |
| --- | --- |
| **画像** | 元の画像で、変更されていません。マスクと一緒に、同じ画像を編集ノードに送るために使います。 |
| **マスク** | 画像と同じサイズの白黒の PNG です。白は被写体で、編集する範囲です。黒はそれ以外のすべてで、残す範囲です。 |

マスクは普通の PNG なので、画像を受け付けるところならどこでも使えます。たとえば、プレビューや保存に使えます。

## 設定
| 設定 | 説明 |
| --- | --- |
| **マスクする対象を説明** | 探す被写体です。`the red car`、`the woman`、`the background` のような短いフレーズで書きます。必須で、最大 500 文字です。 |
| **検出しきい値** | `0.05`〜`0.95` のスライダーで、デフォルトは `0.3` です。現在マスク生成が使っているモデルはこの値を無視するため、スライダーを動かしてもマスクは変わりません。結果を変えたい場合は、プロンプトを変更してください。 |
| **前後のテキスト** | プロンプトの前後に必ず追加されるテキストです。ワークフローをアプリとして使う人には表示されません。[プロンプトの前後のテキスト](https://nodaro.ai/docs/concepts/prompt-pre-post-text)を参照してください。 |

## マスクの作られ方
マスク生成は、常に 1 つのセグメンテーションモデル、Grounded SAM を使います。このモデルは、言葉で指定した被写体を見つけ、その正確な輪郭をなぞります。モデルのバージョンは固定されているので、同じ画像と同じプロンプトからは、常に同じマスクが得られます。選べるモデルはありません。

白は「編集する」、黒は「残す」という意味です。[マスクを描画](https://nodaro.ai/docs/nodes/image/paint-mask)と、[画像修正](https://nodaro.ai/docs/nodes/image/modify-image)のマスク描画ツールも同じルールを使うので、生成したマスクと手で描いたマスクは互いに置き換えられます。

## クレジット
画像のサイズやプロンプトにかかわらず、1 回の実行につき 50 クレジットです。説明に一致する領域がない場合、実行は失敗し、クレジットは返還されます。

## トラブルシューティング
**「No region matched the mask prompt」と表示されて実行が失敗する**：画像の中に、書いた言葉に一致するものがありませんでした。クレジットは返還されます。同じプロンプトでもう一度実行しても同じように失敗するので、長い説明ではなく `the hat` のような、より短く平易なフレーズに書き直してください。

**マスクが空になる**：真っ黒なマスクは、プロンプトが一般的すぎたか、被写体が画像の中にないことを意味します。たとえば `hair` ではなく `the left girl's hair` のように、被写体をより明確に指定してください。

**マスクがほぼ正しい**：**マスク**出力を[マスクを描画](https://nodaro.ai/docs/nodes/image/paint-mask)ノードの**初期マスク**入力に接続します。生成されたマスクが読み込まれた状態で描画ツールが開くので、手作業で範囲を追加したり消したりできます。

## ヒント
- **はっきりした被写体を 1 つ指定する**：モデルは、長い節よりも `the woman` や `the red car` のような短い名詞句のほうを、はるかに正確に読み取ります。
- **画像とマスクをセットで渡す**：**画像**出力は元の画像をそのまま渡すので、それぞれの出力から 1 本ずつ接続を編集ノードに届けられます。
- **マスクの修正にスライダーは使わない**：**検出しきい値**は、現在は効果がありません。プロンプトを変更するか、手作業でマスクを仕上げてください。

## Frequently asked questions

### 「マスク生成」ノードは何を出力しますか？

画像と同じサイズの白黒の PNG です。白い部分は説明した被写体で、編集ノードが変更してよい範囲です。黒い部分はそれ以外のすべてで、そのまま残ります。

### 「マスク生成」ノードには何クレジットかかりますか？

画像のサイズやプロンプトにかかわらず、1 回の実行につき 50 クレジットです。説明に一致する領域がない場合、実行は失敗し、クレジットは返還されます。

### プロンプトには何を書けばよいですか？

被写体を示す、短く平易なフレーズを書きます。たとえば「the red car」「the woman」「the left girl's hair」です。長い説明文よりも、短い名詞句のほうがずっとうまくいきます。

### 「マスク生成」ノードが何も見つけられなかったのはなぜですか？

説明が、モデルが見つけられるものと一致しませんでした。より短く平易なフレーズに書き直してください。同じプロンプトでもう一度実行しても、結果は同じです。

### ほぼ正しいマスクを修正できますか？

はい。「マスク」出力を「マスクを描画」ノードの「初期マスク」入力に接続します。生成されたマスクが読み込まれた状態で描画ツールが開くので、手作業で範囲を追加したり消したりできます。
