# ノードと接続

> ノードとは何か、入力と出力にどんな種類があるか、接続がノード間で結果をどう運ぶか、接続モードで 1 つの結果とリストをどう渡し分けるかを説明します。

Source: https://nodaro.ai/ja/docs/concepts/nodes-and-connections

**ノード**は、ワークフローの 1 つのステップです。脚本の作成、画像の生成、動画とオーディオの結合など、1 つの処理を行います。**接続**は、あるノードの結果を別のノードの入力へ運ぶ線です。Nodaro のワークフローはすべて、この 2 つの要素でできています。どのノード同士を接続できるかは、入力と出力の種類で決まります。

## ノードの仕組み
ノードは、左端にある**入力**からデータを受け取って処理を行い、右端にある**出力**から**結果**を渡します。各入力には、名前、色、アイコンがあります。

- **ヘッダー**には、ノードのラベルが表示されます。Nodaro Cloud では、ノードの価格もクレジットで表示されます。リストによってノードが 5 回実行される場合は、`x5` のようなバッジも表示されます。
- **本体**には、プロンプト、ピッカーの選択内容、最新の結果といった、ノードの主な内容が表示されます。
- **ノードの下のバー**は、ノードにポインターを合わせるか、ノードを選択すると表示されます。このバーには、モデルなどの主な設定と、**実行**ボタンがあります。

Workflow: テキスト、ピッカーの文言、キャラクターの 3 種類のデータが、3 つの入力から「画像生成」に入ります。画像の出力は、動画の開始フレームに渡されます。

- テキスト → 画像生成 (prompt)
- ライティング → 画像生成 (look)
- キャラクターアセット → 画像生成 (assets)
- 画像生成 → 動画生成 (start frame)

[**画像生成**](https://nodaro.ai/docs/nodes/image/generate-image)（Generate Image）のように新しいものを作るノードは、モデルを実行するため、クレジットがかかります。[**テキスト**](https://nodaro.ai/docs/nodes/automate/text)（Text）、[**リスト**](https://nodaro.ai/docs/nodes/automate/list)（List）、[ピッカー](https://nodaro.ai/docs/nodes/creative-controls)のように、データを保持したり形を変えたりするだけのノードは無料です。すべてのノードについては、[ノードリファレンス](https://nodaro.ai/docs/nodes)で説明しています。

## 入力と出力の種類
入力や出力の色とアイコンは、それが運ぶデータの種類を表します。接続できるのは、種類が一致する出力と入力の間だけです。

| 種類 | 色 | 運ぶもの |
| --- | --- | --- |
| テキスト | 青 | プロンプト、脚本、字幕など、あらゆるテキスト。 |
| 画像 | ピンク | 画像。アップロードした画像、生成した画像、開始フレーム、リファレンスなど。 |
| 動画 | バイオレット | 動画クリップ。 |
| オーディオ | アンバー | 音声、音楽、効果音。 |
| ルック | インディゴ | ライティングやカメラの選択など、[ピッカー](https://nodaro.ai/docs/nodes/creative-controls)の文言。 |
| アセット | 薄いピンク | どの生成でも変わらないキャラクター、ロケーション、オブジェクト、クリーチャー、顔、声。[アセットとメディア](https://nodaro.ai/docs/concepts/assets-and-media)を参照してください。 |
| ネガティブ | 赤 | モデルに避けさせたいもの。 |
| 顔 | オレンジ | 顔。顔やリップシンクのノードで使います。 |
| マスク | パープル | 変更する範囲を示す白黒のマスク。 |
| リスト | ティール | 項目のリストや表。[リストとバッチ処理](https://nodaro.ai/docs/concepts/lists-and-batching)を参照してください。 |
| 任意の種類 | グレー | 汎用ノードで使う、複数の種類のデータ。 |

関連する種類は、似た系統の色を使います。また、1 つのノード上で見分けられるように、独自の色合いを持つ入力もあります。たとえば、[**動画生成**](https://nodaro.ai/docs/nodes/video/generate-video)（Generate Video）には、ピンクの**開始フレーム**、ティールの**終了フレーム**、バイオレットの**画像リファレンス**があります。迷ったときは、入力の名前を確認してください。

- **1 つの出力を、いくつの入力にでも接続できます**。1 つの[テキスト](https://nodaro.ai/docs/nodes/automate/text)ノードで、10 個の画像ノードに同じプロンプトを渡せます。
- **複数の接続を受け付ける入力もあります**。画像生成の**リファレンス**には、複数の画像を接続できます。こうした入力では順番が重要です。ほとんどのモデルは、最初のリファレンスを最も重要なものとして扱います。
- **省略できる入力もあります**。ノードは、必要な入力だけで実行できます。たとえば、動画生成は終了フレームなしでも実行できます。

## 2 つのノードの接続
- **出力から入力へドラッグします**。ドラッグ中は、その接続を受け付ける入力が強調表示されます。
- **接続をキャンバスの空いている場所にドロップします**。そこに接続できるノードだけを表示したノードピッカーが開きます。選んだノードは自動で接続されます。
- **選択したノードからノードを追加します**。ノードを選択して Tab を押します。ノードピッカーで**自動接続**がオンになっていると、小さなダイアログが開きます。このダイアログで新しいノードに名前を付けて接続方法を選ぶか、**接続しない（追加のみ）**を選びます。
- **接続を移動します**。接続の端を、別の入力へドラッグします。
- **接続を削除します**。接続をクリックして Delete を押すか、接続上に表示される**接続を削除**ボタンをクリックします。

## 接続のルール
- **種類が一致している必要があります**。エディターは、合わない接続を受け付けません。たとえば、[**キャラクターアセット**](https://nodaro.ai/docs/nodes/assets/character)（Character Asset）ノードは**プロンプト**入力に接続できません。この場合、線が点滅し、接続は作成されません。
- **ループは作れません**。接続で、前にあるノードへ戻ることはできません。エディターは、ループになる接続を受け付けません。ノードから自分自身への接続も同様です。
- **一部の入力はモデルによって決まります**。選択したモデルが使わない入力は薄く表示され、「現在のモデルでは使用されません」と表示されます。その入力に接続したものは、実行時に無視されます。
- **上限がある入力もあります**。モデルが受け付ける数より多くの接続が入力にある場合、超えた分には「モデルの上限を超えているため、現在のモデルでは使用されません」と表示されます。接続を並べ替えるか、別のモデルを選んでください。
- **メディアの入力には、実際のメディアが必要です**。正しい種類のファイルではないもの（たとえば、動画の入力に届いたテキスト）をノードが受け取ると、クレジットが使われる前に実行が拒否されます。メッセージには、そのノードと受け取った値が表示されます。

## 入力の接続の管理
入力をクリックすると、その入力の接続メニューが開きます。メニューには、**未接続**、接続の数、またはモデルの上限に対する接続の数が表示されます。

- **フォーカス**は、接続されたノードをキャンバスの中央に表示し、**接続を解除**は、その 1 つの接続を削除します。
- 順番が重要な入力では、行をドラッグして順番を変えます。最初の行が、メインの入力になります。
- **任意**には、ここに接続できるキャンバス上のノードが表示されます。**接続**をクリックすると、そのノードを接続できます。
- **追加**は、合うノードだけを表示したノードピッカーを開き、**すべての接続を解除**は、すべての接続を削除します。

出力にも同じメニューがあります。出力をクリックすると、その出力を使っているノードを確認したり、さらに別のノードに接続したりできます。

## 接続モード
ほとんどの出力は、1 つの結果を運びます。[リスト](https://nodaro.ai/docs/nodes/automate/list)、[**テキストを分割**](https://nodaro.ai/docs/nodes/automate/split-text)（Split Text）、何度も実行したノードのように、複数の結果を運ぶ出力もあります。**接続モード**は、接続を通して何を渡すかを決めます。

| モード | 渡されるもの | 使う場面 |
| --- | --- | --- |
| **選択中** | ノードで選択されている結果。通常は最新の結果です | ほとんどの場合。これがデフォルトです。 |
| **項目** | 位置で指定した 1 つの項目（`1`、`3`、`last` など） | リストや複数の結果から、常に同じ項目を使いたいとき。 |
| **個別** | すべての項目を 1 つずつ渡します。次のノードは、項目ごとに 1 回実行されます | 項目ごとに 1 つの結果が欲しいとき。リストと「テキストを分割」からの接続では、これがデフォルトです。 |
| **一括** | すべての項目をまとめて、1 回の実行で渡します | 次のノードが項目をまとめるとき。たとえば、[**動画を結合**](https://nodaro.ai/docs/nodes/video/combine-videos)（Combine Videos）や[**オーディオをミックス**](https://nodaro.ai/docs/nodes/audio/mix-audio)（Mix Audio）です。リストへの接続では、これがデフォルトです。 |

**モードを変更します**。接続をクリックして選択し、接続上の小さな矢印ボタンをクリックします。**出力**メニューに、4 つのモードが表示されます。**項目**では、横のボックスに位置を入力します。

**渡す項目を選びます**。**個別**または**一括**では、メニューに 2 つのタブが追加されます。

- **範囲**には、**開始**、**終了**、**ステップ**の 3 つのフィールドがあります。たとえば、**開始**を `2`、**終了**を `last` にすると最初の項目を飛ばし、**ステップ**を `2` にすると 1 つおきに項目を渡します。
- **リスト**には、短い式を入力します。

| 入力する式 | 渡される項目 |
| --- | --- |
| `1` | 項目 1 |
| `1, 2, last` | 項目 1 と 2、最後の項目 |
| `1..5` | 項目 1〜5 |
| `1..last` | すべての項目 |
| `1..last-1` | 最後の項目を除くすべての項目 |
| `1..10:2` | 項目 1、3、5、7、9 |
| `last..1:-1` | すべての項目（逆順） |
| `1, 3..5, last` | 項目 1、項目 3〜5、最後の項目 |

エディターが読み取れない式は、赤く表示されます。その場合、接続はすべての項目を渡すため、入力ミスでワークフローが止まることはありません。

**ラベルを確認します**。**選択中**モードの接続には、通常ラベルがありません。ほかのモードでは、接続上のラベルに `each` や `bundle` などのモード名が表示され、2 つ目のラベルに `2..last` のような範囲が表示されます。

**クレジットに注意します**。**個別**では、次のノードの費用に項目の数が掛けられます。4 クレジットのノードに 5 件の項目が届くと、その実行でのノードの費用は 20 クレジットになります。ノードの**実行**ボタンには、実行前に合計が表示されます。

## ヒント
- **シンプルに始めます**。処理するリストが実際にできるまでは、すべての接続を**選択中**モードのままにします。
- **一度に 1 つだけ変更します**。接続が思いどおりに動かないときは、設定を 1 つ変えてノードを実行し、結果を確認します。
- **次のノードに合わせてモードを選びます**。1 つのものを変換するノードには、**個別**が合います。多くのものをまとめるノードには、**一括**が合います。1 つだけを選ぶ場合は、**項目**が合います。
- **毎回同じものを選ぶなら、項目を使います**。`1` や `last` は、新しい実行で結果の数が変わっても、そのまま機能します。
- **選択を共有します**。複数のノードでリストの同じ一部を使う場合は、すべての接続に同じ範囲を設定する代わりに、[**セレクター**](https://nodaro.ai/docs/nodes/automate/selector)（Selector）ノードを使います。

## Frequently asked questions

### Nodaro のノードとは何ですか？

ノードは、ワークフローの 1 つのステップです。画像の生成や、動画とオーディオの結合など、1 つの処理を行います。左端の入力からデータを受け取り、右端の出力から結果を渡します。

### エディターで接続できないのはなぜですか？

各入力が受け付けるデータの種類は決まっています。たとえば、動画をプロンプトの入力に接続することはできません。また、エディターはループになる接続も受け付けません。接続をキャンバスの空いている場所にドロップすると、接続できるノードが表示されます。

### 入力と出力の色は何を表していますか？

色とアイコンは、データの種類を表します。テキストは青、画像はピンク、動画はバイオレット、オーディオはアンバー、ピッカーの文言はインディゴです。関連する種類は似た系統の色を使うため、入力の名前も確認してください。

### 接続モードの「個別」と「一括」の違いは何ですか？

「個別」は、リストの項目ごとに次のノードを 1 回ずつ実行します。そのため、5 件の項目から 5 つの結果ができます。「一括」は、リスト全体を 1 回の実行で次のノードに渡します。「動画を結合」のように、項目をまとめるノードに向いています。

### ノードの入力の 1 つが薄く表示されているのはなぜですか？

選択したモデルが、その入力を使わないためです。その入力に接続したものは、ノードの実行時に無視されます。その入力に対応したモデルを選ぶか、接続を削除してください。
