> ## Documentation Index
> Fetch the complete documentation index at: https://giselle.mintlify.site/llms.txt
> Use this file to discover all available pages before exploring further.

# Start Node & End Node

> Giselle の Start Node と End Node が、ワークフローの境界を定義し、ユーザー入力の受け取りから最終出力の収集までを確立する方法を学びます。

## Giselle の Start Node & End Node

**Start Node** と **End Node** は、Giselle のワークフローの入口と出口を定義する重要な境界ノードです。これらはペアとして機能し、ユーザー入力の受け取りから最終出力の配信まで、アプリの完全なフローを確立します。

## Start Node

**Start Node** は、ワークフローのエントリーポイントです。Playground でアプリを実行する際にユーザーが入力するパラメータを定義します。

### 主な機能

* **エントリーポイント**: Start Node はワークフロー実行が開始される場所を示します。すべてのデータはこのノードから下流のノードへ流れます。
* **パラメータ定義**: テキスト入力フィールドやファイルアップロードなど、アプリ実行時にユーザーが入力するパラメータを定義します。
* **単一インスタンス**: 各ワークフローには Start Node を1つだけ持つことができます。複製することはできません。
* **End Node とペア**: Start Node と End Node は常にペアで作成されます。

### デフォルトパラメータ

新しいアプリを作成すると、Start Node には2つのデフォルト入力パラメータが付属します：

1. **Input(Text)**: テキストコンテンツを入力するための複数行テキストフィールド。必須としてマークされています。
2. **Input(File)**: 複数のファイルを添付できるファイルアップロードフィールド。デフォルトではオプションです。

Start Node は1つの出力ポートを持ち、ユーザーの入力をワークフロー内の下流ノードに提供します。

### Start Node の設定

1. **ノードを選択**: Start Node をクリックして設定パネルを開きます。
2. **アプリの説明を編集**: アプリの説明をカスタマイズします。

### Start Node の出力

Start Node は1つの **出力** を持ち、アプリ実行時にユーザーが入力した値を含みます。この出力は、互換性のある任意のノードの入力に接続できます。

## End Node

**End Node** は、ワークフローの終了点であり、アプリの最終アウトプットを定義する場所です。上流ノードから処理されたデータを収集し、アプリの実行結果として提示します。

### 主な機能

* **ワークフローの終了点**: End Node はワークフロー実行が完了する場所です。ここに接続されたデータがアプリの最終結果となります。
* **アウトプットの定義**: どのノードの出力をアプリの最終結果に含めるかを指定します。複数の上流ノードを接続できます。
* **単一インスタンス**: 各ワークフローには End Node を1つだけ持つことができます。複製することはできません。
* **動的入力**: End Node の入力は上流ノードを接続したときに動的に作成されます。

### End Node の設定

1. **ノードを選択**: End Node をクリックして設定パネルを開きます。
2. **出力を追加**: 「Add Output」ボタンをクリックして、最終結果に含める上流ノードの出力を選択します。
3. **接続を管理**: 接続されたノードを確認し、必要に応じて切断します。
4. **構造化出力（Structured Output）を有効化**（任意）: Output Format を JSON にすると、接続された上流ノードの出力にプロパティ名を付けたり、複数ノードの出力を組み合わせたりして、構造化された JSON レスポンスを定義できます。

### Output Format の設定

End Node では、最終レスポンスの出力形式を次の2種類から選択できます。

* **Raw**: 選択したノードの出力を加工せずにそのまま返却します。
* **JSON**: スキーマを定義して、最終 API レスポンスを構造化できます。

JSON を選択すると、構造化出力スキーマの定義ダイアログが開きます。

![構造化出力スキーマの定義ダイアログ](https://mintcdn.com/giselle/ICu3lP7HlQh5w6qY/ja/images/glossary/start-end-nodes/structured-output-json.png?fit=max\&auto=format\&n=ICu3lP7HlQh5w6qY\&q=85\&s=b325c22275f2d69ade84fad673f96d23)

構造化出力スキーマの定義画面

#### Value の選択

各プロパティには、接続済みの上流ノードから **Value（出力元）** を選択する必要があります。

* 上流ノードは種類別にグループ化して一覧表示
* ノード内で構造化出力が定義されている場合、オブジェクト全体または個別プロパティを選択可能

### 接続ルール

End Node にノードを接続する際：

* End Node 自体はソースとして選択できません
* 既に接続されているノードは再度選択できません
* 出力を持たないノードは接続できません

### End Node の入力

End Node は1つの **入力** を持ち、接続された上流ノードからデータを受け取ります。接続されたデータはアプリの最終出力として提示されます。

## 外観

Start Node と End Node は、他のノードと区別するための特徴的な**カプセル型デザイン**を共有しています：

* **Start Node**: 下流ノードへ接続するための出力ハンドルが右側に1つあります
* **End Node**: 上流ノードからデータを受け取るための入力ハンドルが左側に1つあります
* 両方とも、それぞれのアイコンと名前（デフォルトでは「Start」と「End」）を表示します

### 接続状態インジケータ

Start Node がワークフローを通じて End Node に正しく接続されている場合：

* 両方のノードが完全な不透明度で表示されます
* 「Try App in Playground」ボタンが有効になります

Start から End への有効なパスがない場合：

* 両方のノードがやや薄く、破線の境界線で表示されます
* 「Try App in Playground」ボタンが無効になります

## 連携の仕組み

1. **ユーザー入力**: アプリを実行すると、ユーザーは Start Node で定義されたパラメータを入力します。
2. **データフロー**: 入力値は Start Node から接続されたノードを通じて流れます。
3. **処理**: データはさまざまなノード（テキスト、ファイル、クエリ、アクションノードなど）で処理されます。
4. **収集**: 処理された結果は End Node によって収集されます。
5. **出力**: End Node が最終出力をユーザーに提示します。

### 接続要件

アプリを実行可能にするには、Start Node から End Node への有効なパスが必要です。システムは幅優先探索アルゴリズムを使用してこの接続を検証します。有効なパスがなければ、アプリを Playground で実行することはできません。

## Start & End Node vs 他のノード

| 機能 | Start & End Node | 他のノード |
| - | - | - |
| ワークフローあたりのインスタンス数 | 各1つのみ | 複数可能 |
| 複製可能 | いいえ | はい |
| ビジュアルスタイル | カプセル型 | カード型 |
| 目的 | ワークフローの境界 | データ処理 |
| 自動作成 | はい、ペアで | いいえ |

Start Node と End Node は、ユーザー入力を受け取り、処理された結果を配信する機能的なアプリを作成するために不可欠です。


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.