# 画像オーバーレイ

> ロゴ、テキスト、QR コード、図形など最大 12 個のレイヤーを、ライブプレビューを見ながら画像にピクセル単位で正確に配置します。1 回の実行で複数のプラットフォーム向けに書き出せます。

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

**画像オーバーレイ**（Image Overlay）ノードは、ベース画像の上に、指定した位置どおりにレイヤーを配置します。レイヤーには、ロゴや切り抜き画像などの画像、同梱のフォントで描かれる本物のテキスト、QR コード、フラットな図形を使えます。AI が描き直すものは何もないので、ブランドアセットは渡したファイルのまま出力されます。透かし、ロゴ、見出し、価格バッジ、各プラットフォームのサイズに合わせたバナーに使います。

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

## 使いどころ
- 生成したすべての画像に、公開する前に透かしやブランドのロゴを入れます。
- AI で生成した背景に本物のロゴファイルを載せて、YouTube、LinkedIn、X のバナーや動画のカバー画像を作ります。
- [**背景を削除**（Remove Background）](https://nodaro.ai/docs/nodes/image/remove-background)で切り抜いた画像を、影を付けて新しい背景に配置します。
- 「NEW」、値札、評価などのバッジやステッカーを商品写真に加えます。
- チラシに QR コードを入れたり、バッチ処理で商品ごとに 1 つずつコードを入れたりします。
- 2 つの結果から、ビフォーアフターのカードや比較カードを作ります。

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

### ベース画像を接続する
背景にする画像、たとえば[**画像生成**（Generate Image）](https://nodaro.ai/docs/nodes/image/generate-image)の結果から、**ベース**入力までドラッグします。ノードにライブプレビューが表示されます。

### レイヤーを追加する
ロゴを読み込んだ[**画像アップロード**（Upload Image）](https://nodaro.ai/docs/nodes/image/upload-image)ノードなどの画像を、**レイヤー 1** に接続します。テキスト、QR コード、図形の場合は、代わりに**テキスト**、**QR**、**図形**をクリックします。これらのレイヤーは接続が不要です。

### レイヤーを配置する
プレビューでレイヤーをドラッグすると移動し、角のハンドルを引くとサイズが変わり、上のハンドルを引くと回転します。設定パネルで正確な値を入力することも、**プリセット**から始めることもできます。

### 実行する
プレビューはリアルタイムですが、ファイルが作られるのは実行したときだけです。ノードの**実行**をクリックします。

Workflow: 生成した画像に本物のロゴファイルを配置します。同じ実行で、メインの出力は Instagram に、X ヘッダー画像のレンダリングは X に送られます。

- 画像生成 → 画像オーバーレイ (ベース)
- 画像アップロード → 画像オーバーレイ (レイヤー 1)
- 画像オーバーレイ → Instagram 投稿 (画像)
- 画像オーバーレイ → X 投稿 (X ヘッダー画像)

## 入力
| 入力 | 接続できるノード | 説明 |
| --- | --- | --- |
| **ベース** | 画像ノード、または画像 URL の**リスト**（List） | すべてを配置する土台の画像です。必須です。リストを接続すると、ノードは同じレイヤーで画像ごとに 1 回ずつ実行されます。 |
| **レイヤー 1**〜**レイヤー 12** | 画像アップロード、背景を削除、画像生成などの画像ノード | レイヤーごとに 1 枚の画像です。ロゴ、切り抜き画像、ステッカーなどを使います。テキスト、QR、図形のレイヤーは接続が不要です。 |
| **QR リンク** | **テキスト**（Text）ノードなどのテキストノード、またはリストの列 | QR レイヤーがリンクをワークフローから受け取る場合にだけ表示されます。リストの列を接続すると、行ごとに 1 つのコードができます。 |

ノードには、最初はレイヤー入力が 4 つ表示されます。**+ レイヤー**と**− レイヤー**を使うと、表示するレイヤー入力の数を 1〜12 の範囲で変えられます。より大きい番号のレイヤーに接続したときにも、数は増えます。どの実行にも、少なくとも 1 つのレイヤーが必要です。接続した画像か、テキスト、QR、図形のレイヤーのいずれかです。

| 出力 | 渡す内容 |
| --- | --- |
| **画像** | 合成した画像で、デフォルトでは PNG です。プラットフォームのサイズやカスタムの出力サイズを設定しない限り、ベース画像のピクセルサイズを保ちます。 |
| **マスク** | 同じサイズの白黒画像です。白い部分は、AI の編集で変更してよい領域を表します。[マスク出力](#mask-output)を参照してください。 |
| プラットフォームごとの出力 | **ほかのプラットフォーム用にもエクスポート**でチェックを入れたプラットフォームごとに、そのプラットフォーム用のレンダリングを渡す出力が 1 つ追加されます。たとえば X ヘッダー画像です。 |

## レイヤーを配置する
どのレイヤーも、アンカーでベース画像に固定されます。距離はすべて、ベース画像に対するパーセントで指定します。

| 設定 | 説明 |
| --- | --- |
| **アンカー** | ベース上の 9 つの点のいずれかです。左上、上、右上、左、中央、右、左下、下、右下から選びます。デフォルトは中央です。 |
| **オフセット X** と**オフセット Y** | アンカーからの距離で、-100〜100 の範囲を、ベースの幅と高さに対するパーセントで指定します。右や下のアンカーでは、マイナスのオフセットでレイヤーが内側に移動します。 |
| **幅** | ベースの幅に対するパーセントで指定するレイヤーの幅で、1〜100 です。デフォルトは 25 です。高さは、レイヤー自体の形に合わせて決まります。 |
| **高さ（ベースに対する %、任意）** | ベースの高さに対するパーセントで指定する、固定の高さです。設定すると、レイヤーをボックスにどう収めるかを**フィット（高さを指定した場合）**で決めます。**全体を収める**、**領域を埋める**、**引き伸ばす**から選びます。 |
| **不透明度** | 0〜100% です。デフォルトは 100% です。 |
| **回転** | -180〜180 度で、レイヤー自体の中心を軸に回転します。 |
| **ブレンド** | **通常**、**乗算**、**スクリーン**から選びます。 |
| **角の丸み（px）** | レイヤーの角を丸めます。 |
| **ドロップシャドウ** | レイヤーの下に置かれる、ぼかして色を付けたレイヤーの複製です。**ぼかし**、**影の位置 X**、**影の位置 Y**、**影の色**、**影の不透明度**で調整します。 |
| **レイヤーの順序（z）** | 数値が大きいほど上に描画されます。空欄の場合はレイヤー番号が使われるので、レイヤー 1 がいちばん下になります。プレビューの上下ボタンでも設定できます。 |

パーセントを使う理由：ベース画像のサイズは、前にあるノードで決まります。今日は 2K のレンダリングでも、明日は 4K のポスターかもしれません。「幅 12%、右端から内側に 4%」に設定したレイヤーは、どちらでも同じ位置に配置されますが、ピクセルで指定した位置ではそうなりません。ベース画像を接続すると、設定パネルの各パーセントの横にピクセル値が表示されます。

ベースから一部がはみ出したレイヤーは、ベースの端で切り取られます。完全にベースの外にあるレイヤーはスキップされますが、エラーにはなりません。SVG のロゴは最終的なピクセルサイズで描画されるので、くっきりしたままです。

### プリセットから始める
**プリセット（レイヤー 1 に適用）**を使うと、ワンクリックでレイヤー 1 を設定できます。どの値も、あとから編集できます。

| プリセット | レイヤー 1 |
| --- | --- |
| **透かし（右下）** | 右下、幅 10%、不透明度 85% |
| **ロゴ（左上）** | 左上、幅 14% |
| **中央** | 中央、幅 40% |
| **全面** | ベース全体を覆います |

### 例：透かし
写真を**ベース**に、ロゴを**レイヤー 1** に接続し、レイヤー 1 を次の値に設定します。

| 設定 | 値 |
| --- | --- |
| **アンカー** | 右下 |
| **幅** | 12 |
| **オフセット X** | -4 |
| **オフセット Y** | -6 |
| **不透明度** | 95% |

2000 × 1000 ピクセルのベースでは、ロゴの幅は 240 ピクセルです。ロゴの右端は右から 80 ピクセル、下端は下から 60 ピクセルの位置になります。4000 × 2000 のベースでは、これらの数値がすべて 2 倍になり、ノードを変更する必要はありません。

## レイヤーの種類
| 種類 | 内容 | サイズの決まり方 |
| --- | --- | --- |
| **画像** | レイヤーの入力に接続した画像です。ロゴ、背景を削除ノードで切り抜いた画像、ステッカーなどです | ベースの幅に対するパーセントで指定する**幅**。**高さ**を設定しない限り、高さは画像に合わせて決まります |
| **テキスト** | 同梱のフォントで描かれる本物のテキストです。プレビューも同じフォントファイルを使うので、結果はプレビューと一致します。 | **サイズ（ベース画像の高さに対する %）**。ボックスはテキストに合わせて決まります |
| **QR** | リンクや任意のテキストの QR コード | ベースの幅に対するパーセントで指定する**幅**。常に正方形です |
| **図形** | 長方形、角丸長方形、ピル型、円、リボン、三角形、ひし形、六角形、星、スターバーストバッジ、矢印 | ベースに対するパーセントで指定する**幅**と**高さ** |

テキスト、QR、図形のレイヤーを画像レイヤーに戻すには、**画像スロットに戻す**を使います。

### テキストレイヤー
- **フォント**：Inter、Montserrat、Space Grotesk、Playfair Display、Oswald、Bebas Neue、Anton、Pacifico、Rubik、Heebo です。Rubik と Heebo はヘブライ語に対応しています。可変フォントでは、**太さ**を 100〜900 の任意の値に設定できます。
- **レイアウト**：**配置**、**文字間隔**、**行の高さ**、**すべて大文字**があります。右から左に書くテキストは、各行で右から左にレイアウトされます。
- **縁取り**：文字の周りの縁取りで、**縁取りの太さ**と**縁取りの色**で調整します。
- **背景ボックス（ピル型・バッジ）**：テキストの後ろに置くボックスで、**ボックスの色**、不透明度、**余白**、角の半径で調整します。半径を大きくすると、ピル型になります。

### 画像レイヤー
どのレイヤーにも、ドロップシャドウと角の丸みを付けられます。画像レイヤーには、さらに 4 つの仕上げがあります。

- **切り抜き**は、画像を円形に切り抜きます。
- **境界のぼかし**は、指定したピクセル数にわたって縁をフェードアウトさせます。
- **縁取り**は、シルエットの周りに線を描きます。
- **光彩**は、周りに色付きの光彩を加えます。

### QR レイヤー
**QR コードの内容（URL またはテキスト）**にリンクを入力します。いつでも変更でき、変更するとコードも更新されます。見た目は、**QR コードの色**、**QR コードの背景**、**クワイエットゾーン**で設定します。

代わりにリンクをワークフローから受け取るには、**ワークフローの出力を使用**をオンにします。ノードに **QR リンク**入力が追加されるので、テキストノード、リストの列、または任意のテキスト出力を接続します。リストの列を接続すると、1 回の実行で行ごとに 1 つのコードが作られます。たとえば、50 の商品ページに対して 50 個のコードです。**ワークフローの出力を使用**がオンなのに何も接続されていない実行は拒否され、その入力の名前を示すメッセージが表示されます。

## プラットフォームのサイズとセーフエリア
**プラットフォームのサイズ**を使うと、出力をプラットフォームのピクセルサイズにできます。

- YouTube サムネイルと YouTube チャンネルバナー
- LinkedIn 企業カバー画像と LinkedIn 個人カバー画像
- X ヘッダー画像と Facebook カバー画像
- Instagram 投稿、Instagram の縦長投稿、Instagram ストーリーズ
- リンクプレビュー、スライド、A4 印刷

デフォルトは**ベース画像のサイズを維持**です。プラットフォームを選ぶと、プレビューにその**セーフエリア**が破線のボックスで表示されます。セーフエリアは、どのデバイスでも表示される部分です。プラットフォームを選ぶと、**ベースのフィット**も**領域を埋める**に設定され、画像がキャンバスいっぱいに広がります。YouTube チャンネルバナーでは、プレビューに 3 つの入れ子の領域が表示されます。テレビで表示される範囲、デスクトップで表示される範囲、すべてのデバイスで表示される範囲です。

ドラッグ中、レイヤーは中心線、端、セーフエリアにスナップします。Shift を押しながらドラッグすると、自由に動かせます。

**ほかのプラットフォーム用にもエクスポート**を使うと、同じ実行の中で、同じ構成をほかのプラットフォームのキャンバスにもレンダリングします。プラットフォームには必要な数だけチェックを入れられ、12 個すべてを選ぶこともできます。追加のファイルは、結果にチップとして表示されます。チェックを入れたプラットフォームは、それぞれノードの出力にもなります。たとえば同じ実行で、X ヘッダー画像のレンダリングを [**X 投稿**（X Post）](https://nodaro.ai/docs/nodes/publish/x-post)ノードに、LinkedIn のカバー画像を [**LinkedIn 投稿**（LinkedIn Post）](https://nodaro.ai/docs/nodes/publish/linkedin-post)ノードに渡せます。追加のプラットフォームごとに 2 クレジットかかります。

**フルエディターを開く**を使うと、ノードの大きな編集画面が開きます。そのヘッダーにも同じプラットフォームの選択メニューがあり、編集領域はそのプラットフォームのキャンバスになって、セーフエリアも表示されます。

## 出力サイズと形式
| 設定 | 説明 |
| --- | --- |
| **出力サイズをカスタマイズ** | デフォルトはオフで、出力はベースのピクセルサイズを保ちます。オンにすると、ベースが**キャンバスの幅（px）**× **キャンバスの高さ（px）**のキャンバスに、**キャンバスの背景**とともに配置されます。配置のしかたは**ベースのフィット**で決まります。**全体を収める**はベース全体を収め、残りを背景色で埋めます。**領域を埋める**はキャンバスを埋め、ベースを切り取ります。レイヤーは引き続き、ベースを基準に配置されます。 |
| **出力形式** | デフォルトの **PNG（透明度を保持）**、**JPG**、**WebP** から選びます。JPG と WebP では透明部分がなくなります。 |

## マスク出力
**マスク**出力は白黒の画像です。白い部分は、AI の編集で変更してよい領域を表します。何を白にするかは、**マスク出力**で選びます。

| オプション | 白くなる領域 |
| --- | --- |
| **レイヤー周囲のリング（AI 仕上げ用）** | 配置したレイヤーの周りの、**リングの幅（px）**で指定した幅のリングです。これがデフォルトです。 |
| **レイヤー自体** | レイヤー |
| **レイヤー以外のすべて** | 画像のレイヤー以外の部分 |
| **マスクなし** | なし |

このマスクを、[**画像修正**（Modify Image）](https://nodaro.ai/docs/nodes/image/modify-image)の**マスク**入力に接続します。

## 画像になじませる
このノードは、レイヤーを決して描き直しません。それがこのノードの目的ですが、シーンの側をレイヤーに反応させたいこともあります。配置した商品の下の接地影、ロゴに合った光、床への映り込みなどです。

**AI 仕上げを追加（画像になじませる）**をクリックします。このノードの後に[画像修正](https://nodaro.ai/docs/nodes/image/modify-image)ノードが追加されます。新しいノードは合成画像とレイヤー周囲のマスクのリングに接続され、そのプロンプトはまさにその仕上げを指示します。モデルはリングの中にしか描けないので、要素の周りに影や光を加えます。マスクの外側のピクセルはすべて合成画像のまま保たれるので、要素はピクセル単位で正確なままです。ルックを調整するには、その画像修正ノードに[**構図エフェクト**（Composition Effects）](https://nodaro.ai/docs/nodes/creative-controls/composition-effects)ピッカーを接続します。

レイヤーの設定にある**配置を提案（AI）**は、レイヤーをどこに置くべきかをビジョンモデルに尋ねます。モデルは顔、メインの被写体、ごちゃごちゃした質感を避け、プラットフォームが設定されている場合はセーフエリアの内側に収めます。そのうえで、アンカーとオフセットを入力します。料金は[**画像の説明**（Describe Image）](https://nodaro.ai/docs/nodes/image/describe-image)を 1 回実行するのと同じで、そのあとはいつもどおりレイヤーをドラッグできます。

## クレジット
画像オーバーレイの料金は、ベース画像のサイズやレイヤーの数に関係なく、合成画像とそのマスクで 10 クレジットです。**ほかのプラットフォーム用にもエクスポート**で追加するプラットフォームごとに、2 クレジットが加算されます。

| ほかのプラットフォーム用にもエクスポート | クレジット |
| --- | --- |
| なし | 10 |
| 2 つのプラットフォーム（例：Instagram 投稿と YouTube サムネイル） | 14 |
| 12 のプラットフォームすべて | 34 |

**実行**ボタン、ワークフローの見積もり、API は、すべて同じ計算式を使います。**AI 仕上げを追加**で作られる画像修正ノードは、そのモデルの料金で別に課金されます。

## ヒント
- **透過ファイルを使う**：レイヤーには透過 PNG か SVG を渡します。不透明な JPG のロゴは長方形のまま配置されるので、先に[背景を削除](https://nodaro.ai/docs/nodes/image/remove-background)に通してください。
- **ブランドアセットはファイルのまま使う**：画像は AI ノードで描き、本物のロゴはここで配置します。モデルは、ロゴタイプを必ず少し違う形で描き直してしまいます。
- **マークを画像になじませる**：明るい写真に暗いマークを入れるときは**乗算**を、暗い写真に明るいマークを入れるときは**スクリーン**を使います。
- **切り抜いた画像を浮き上がらせる**：ソフトなドロップシャドウを付けると、ごちゃごちゃした背景から人物や商品が分離して見えます。ぼかし 24、**影の位置 X** 0、**影の位置 Y** 12、不透明度 50% を試してください。
- **横長のレンダリングからバナーを作る**：**出力サイズをカスタマイズ**をオンにして**領域を埋める**を選び、たとえば 1500 × 500 ピクセルにします。ロゴはキャンバスではなく、ベースを基準に配置されたままです。
- **先にベースを生成する**：各パーセントの横のピクセル値は、サイズがわかっているベース画像を接続すると表示されます。
- **回転してからオフセットを加える**：回転はレイヤー自体の中心を軸に行われます。回転したマークを角にぴったり寄せるには、オフセットを加えます。
- **文字にはテキストレイヤー、ロゴにはファイルを使う**：見出し、キャプション、価格、ローワーサードにはテキストレイヤーを、ブランドのロゴタイプには SVG か PNG のファイルを使います。

## API から
`POST /v1/image-overlay` は、ベース画像とレイヤーを受け取ります。次の呼び出しは、上の例の透かしを配置します。

```json
{
"imageUrl": "https://example.com/photo.png",
"layers": [
{ "imageUrl": "https://example.com/logo.svg", "anchor": "bottom-right", "width": 12, "x": -4, "y": -6, "opacity": 0.95 }
]
}
```

- テキスト、QR、図形のレイヤーでは、`layers[i].kind` を `text`、`qr`、`shape` のいずれかに設定し、対応する `text`、`qr`、`shape` オブジェクトを指定します。`opacity` は 0〜1 の範囲で、`zIndex` は重なり順を設定します。
- `canvas` は、プラットフォームのサイズかカスタムの出力サイズを設定します。`outputFormat` は `png`、`jpg`、`webp` のいずれかです。
- `variants`（例：`["youtube-thumbnail", "x-header"]`）は、プラットフォーム用のレンダリングを追加します。結果にはそれらが `variants` として一覧表示され、それぞれに `id`、`label`、`width`、`height`、`url` があります。
- `maskMode` は `around`、`layers`、`outside`、`none` のいずれかで、`maskSpread` はリングの幅です。ジョブの出力には、マスクが `maskUrl` として含まれます。
- `qr.fromInput` を `true` に設定した QR レイヤーは、トップレベルの `qrText` からリンクを受け取ります。

## Frequently asked questions

### 画像オーバーレイノードは AI を使いますか？

いいえ。画像オーバーレイは、設定したとおりにレイヤーを配置するだけで何も描き直さないので、ロゴは渡したファイルのまま出力されます。AI を使うのは、任意の AI 仕上げと「配置を提案（AI）」だけです。

### 画像オーバーレイノードには何クレジットかかりますか？

画像のサイズやレイヤーの数に関係なく、1 回の実行につき 10 クレジットです。さらに、「ほかのプラットフォーム用にもエクスポート」で追加したプラットフォームごとに 2 クレジットかかります。12 のプラットフォームすべてに書き出すと 34 クレジットです。

### レイヤーの位置がピクセルではなくパーセントで指定されるのはなぜですか？

パーセントなら、どの画像サイズでもレイアウトが崩れないからです。幅 12%、右端から 4% に設定したロゴは、1K のプレビューでも 4K のポスターでも同じ位置に配置されます。

### 多くの画像に一度に透かしを入れるにはどうすればよいですか？

画像 URL のリストを「ベース」入力に接続します。ノードは同じレイヤーで画像ごとに 1 回ずつ実行されるので、1 回の実行でまとめて透かしを入れられます。

### 配置した商品をシーンになじませるにはどうすればよいですか？

「AI 仕上げを追加」をクリックします。画像修正ノードが追加され、レイヤーの周りのリング状の領域だけを描き直して、接地影や周囲に合った光を加えます。レイヤー自体はピクセル単位で正確なまま保たれます。

### テキストレイヤーではどのフォントを使えますか？

Inter、Montserrat、Space Grotesk、Playfair Display、Oswald、Bebas Neue、Anton、Pacifico、Rubik、Heebo です。Rubik と Heebo はヘブライ語にも対応し、右から左に書くテキストは右から左にレイアウトされます。
