# リスト

> プロンプトのリストを入力するか貼り付けるか、複数の列を持つ表を作ると、接続したすべてのノードが行ごとに 1 回ずつ実行されます。リストノード自体は無料です。

Source: https://nodaro.ai/ja/docs/nodes/automate/list

**リスト**（List）ノードは、値のリストを保持します。リストに接続したすべてのノードは、行ごとに 1 回ずつ実行されます。1 行に 1 つずつプロンプトを入力するか貼り付けると、1 回の実行で画像、動画、ナレーションをまとめて作れます。リストノードはモデルを呼び出さないので、クレジットはかかりません。

- Found in: Automate › Lists & Batching
- Output: data
- API type: `list`

## 使いどころ
- 10 個のプロンプトがあり、それぞれ 1 枚ずつ画像を作りたいとき。
- 同じ動画ワークフローを、複数の被写体や商品で実行したいとき。
- [**テキストから音声**（Text to Speech）](https://nodaro.ai/docs/nodes/audio/text-to-speech)で、台本の行ごとにナレーションを作りたいとき。
- 動画ごとのプロンプトとリファレンス画像のように、1 回の実行に複数の値が必要なとき。リストを、値ごとに 1 列を持つ表に拡張します。

## クイックスタート
### ノードを追加する
キャンバス上で Tab を押し、**自動化 › リストとバッチ処理 › リスト**を選びます。

### 行を追加する
設定パネルを開き、1 行に 1 つずつ値を入力します。次の行を追加するには、**行を追加**をクリックするか、Enter を押します。行を移動するには、その行のドラッグハンドルをドラッグします。

### 接続する
リストの出力から、実行ごとに変えたい入力へドラッグします。たとえば、[**画像生成**（Generate Image）](https://nodaro.ai/docs/nodes/image/generate-image)の**プロンプト**入力です。リストから出る接続は**個別**に設定され、次のノードを行ごとに 1 回ずつ実行します。

### 実行する
**実行**をクリックします。接続したノードが、一番上の行から一番下の行まで、行ごとに 1 回ずつ実行されます。結果は、行ごとに 1 件ずつ保持されます。

Workflow: 3 個のプロンプトのリストで画像生成が 3 回実行され、ベストを選択が 3 枚の画像から最も良いものを残します。

- リスト → 画像生成 (プロンプト · 個別)
- 画像生成 → ベストを選択 (候補)

## 入力と出力
| 入力／出力 | 説明 |
| --- | --- |
| **+**（左下） | ここに任意のノードを接続すると、そのノードから値を受け取る新しい列が追加されます。接続 1 つにつき、種類が設定された列が 1 つ追加されます。 |
| 列の入力 | すべての列は、左側に専用の入力を持っています。接続された列には、上流のノードが作る値が表示されます。 |
| 列の出力 | すべての列は、右側に専用の出力を持っています。1 列のリストでは、出力が項目を 1 つずつ次のノードに送ります。 |

## 設定
設定パネルには 2 つのタブがあります。**設定**タブには、行と以下のオプションがあります。**データ**タブには、接続したノードから来る値も含めて、実際に実行されるとおりの行が表示されます。

| 設定 | 説明 |
| --- | --- |
| **リスト**または**テーブル** | 行です。パネルには 1 列用の**リスト**エディターが表示されます。ノードの列が 2 つ以上になると、**テーブル**エディターに切り替わります。 |
| 列の種類 | 各列は、**テキスト**、**画像**、**動画**、**オーディオ**、**JSON** のいずれかです。内容に合わせて設定します。メディアのセルにはサムネイルやプレーヤーが表示され、列の入力と出力はその種類を受け付けます。 |
| **列を追加** | テキストの列を追加します。**テーブル**エディターに表示されます。 |
| 区切り文字と**分割** | テキストの列で、**カンマ**、**パイプ**、**セミコロン**、**改行**、**アスタリスク 3 つ（\*\*\*）**、**カスタム**のいずれかを選び、**分割**をクリックすると、各セルが複数の行に分かれます。選んだ区切り文字を含むテキストをセルに貼り付けた場合も、同じように分割されます。 |
| **表示モード** | キャンバス上でのノードの見た目です。**リスト（行）**、**ギャラリー（グリッド）**、**詰めて表示（すべて収める）**のいずれかです。自分で選ぶまでは、列の種類に応じてノードが 1 つを選びます。 |
| **1 行あたりの項目数** | **ギャラリー（グリッド）**での、1 行あたりの項目数です。1〜6 で、デフォルトは 3 です。 |
| **テキストの最大行数** | ノード上で、各テキスト項目を何行まで表示するかです。1〜20 で、デフォルトは 3 です。 |
| **フォントサイズ** | **小**、**中**、**大**のいずれかです。デフォルトは**中**です。 |

キャンバス上では、ノードの下にある小さな表のボタンで、「3 行 × 2 列」のような短い概要と、表全体またはギャラリーの表示を切り替えます。画像、動画、オーディオを含む表は、全体の表示で開きます。このボタンは表示を変えるだけで、何も実行しません。

### リストがアプリの入力になるとき
ワークフローを[アプリ](https://nodaro.ai/docs/concepts/apps)として公開すると、アプリを使う人が自分で行を追加したり削除したりできます。**プレゼン／アプリモード**にある 3 つの設定で、その動作を決めます。

| 設定 | 説明 |
| --- | --- |
| **最大項目数** | アプリのユーザーが追加できる行の最大数です。1〜20 で、デフォルトは 10 です。 |
| **実行に必要な最小行数** | ユーザーがこの数の行を追加するまで、アプリの**実行**ボタンは無効のままです。0 は、最小数なしを意味します。 |
| **デフォルトの行数** | アプリを最初に読み込んだときに表示する空の行の数です。デフォルトは 1 です。 |

## リストを表に拡張する
変わるのがプロンプトだけなら、1 列で十分です。各実行に 2 つ目の値が必要な場合は、列を追加します。

1. リストの左下にある **+** 入力にノードを接続します。新しい列が現れ、そのノードに合った種類が設定されます。
2. 設定パネルで、各列の種類を設定します。たとえば、リファレンス画像の列なら**画像**にします。
3. 各列の出力を、次のノードの別々の入力に接続します。たとえば、1 つの列を**プロンプト**に、もう 1 つの列を**ネガティブ**に接続します。

## 行の対応のしかた
2 つ以上の列が同じノードに値を渡す場合、そのノードは行ごとに 1 回ずつ実行され、すべての入力がその行から値を受け取ります。

- **3 行目は常に 3 行目のままです**。空のセルがあると、その実行ではその入力に何も渡されません。空のセルによって、下の行が繰り上がることはありません。
- **値が 1 つでもある行は実行されます**。すべての列が空の行は無視されるので、表の一番下の空行によって実行が増えることはありません。
- **接続の順番は関係ありません**。**プロンプト**入力に接続した列が、プロンプトになります。**ネガティブ**など、プロンプト以外の入力に接続した列が、プロンプトとして使われることはありません。
- **行のプロンプトは、入力済みのプロンプトを置き換えます**。行の値は、次のノードに入力したプロンプトに追加されるのではなく、置き換わります。行のプロンプトのセルが空の場合は、ノードに入力したプロンプトが使われます。
- **繰り返しは行を繰り返します**。次のノードで**繰り返し**を 2 に設定すると、各行が同じ値で 2 回ずつ実行されます。

行数の異なるリストは、行ごとには対応しません。長いほうのリストが実行回数を決め、短いほうのリストは、最後まで使い切ると最初の行から繰り返します。2 つの列の接続のうち、一方だけに項目や範囲の指定がある場合も同じです。その指定によって、その接続の行数が変わるためです。

次のノードを行ごとに 1 回ずつ実行するのは、**個別**モードの接続だけです。**一括**に設定した接続は、1 回の実行でリスト全体を渡します。すべての接続モードについては、[リストとバッチ処理](https://nodaro.ai/docs/concepts/lists-and-batching)を読んでください。

## クレジット
リストノードは無料です。行ごとに実行されるノードには、行ごとに料金がかかります。バッチの費用は、ノードの料金に行数を掛けた額です。次のノードに表示されるクレジットの見積もりには、この掛け算がすでに含まれています。大きな実行の前に、見積もりを確認してください。

## リスト、収集、ベストを選択の使い分け
- **リストは作業を展開します**。行の出どころは 1 つで、次のノードが行ごとに 1 回ずつ実行されます。
- **[収集（Collect）](https://nodaro.ai/docs/nodes/automate/collect)は結果を集めます**。別々の複数のノードを収集に接続すると、収集はそれらの結果をまとめて次に渡します。
- **[ベストを選択（Choose Best）](https://nodaro.ai/docs/nodes/automate/choose-best)は判断します**。多数の結果を 1 つにします。たとえば、バッチの中で最も良い画像を選びます。

この 3 つは、よく使う流れとしてつなげられます。リストで展開し、収集で（または直接）集め、ベストを選択で判断します。

## ヒント
- **1 行に 1 つのアイデア**：各行は、それだけで完結したプロンプトや値にします。
- **列は必要なときだけ追加する**：2 つ目の列が役立つのは、実行ごとに 2 つ目の入力が変わる場合です。それ以外は、1 列のままにします。
- **すべての列に種類を設定する**：**画像**、**動画**、**オーディオ**を設定した列は、そのメディアを表示し、適切な入力に接続できます。
- **大きなバッチは分ける**：行は 1 つずつ順に実行されるので、長いリストほど完了までに時間がかかります。小さなリストに分けたほうが、確認しやすくなります。
- **以前の Table ノード**：Table ノードを含む保存済みのワークフローでは、そのノードが同じ列と行を持つリストとして開きます。

## Frequently asked questions

### Nodaro で、プロンプトごとに 1 枚ずつ画像を生成するにはどうすればよいですか？

「リスト」ノードを追加し、1 行に 1 つずつプロンプトを入力して、「画像生成」の「プロンプト」入力に接続します。この接続は「個別」に設定されるので、画像生成は行ごとに 1 回ずつ実行され、行ごとに 1 件の結果を保持します。

### リストノードにクレジットはかかりますか？

いいえ。リストノードはモデルを呼び出さないので無料です。料金がかかるのは行ごとに実行されるノードで、1 回 20 クレジットのノードに 10 行を渡すと、200 クレジットかかります。

### プロンプトとネガティブプロンプトのように、1 回の実行で 2 つの値を変えるにはどうすればよいですか？

リストを表に拡張します。リストの左下にある「+」入力にノードを接続すると、列が追加されます。次に、各列を次のノードの別々の入力に接続します。各実行は、すべての値を同じ行から受け取ります。

### 行に空のセルがあると、どうなりますか？

その行の位置は変わらず、その列から値を受け取る入力には、その実行では何も渡されません。すべての列が空の行は、まったく実行されません。

### Table ノードはどうなりましたか？

Table ノードはリストに統合されました。Table ノードを含む保存済みのワークフローでは、そのノードがリストとして開き、何も変更しなくてもそのまま動作します。
