# インポートとエクスポート

> ワークフローを 1 つの JSON ファイルとしてエクスポートし、別のアカウント、プロジェクト、セルフホスティング環境にインポートできます。キャラクター、オブジェクト、ロケーションを含めるかどうかも選べます。

Source: https://nodaro.ai/ja/docs/guides/import-export

ワークフローは 1 つの **JSON ファイル**として持ち運べます。エディターからエクスポートして、別のアカウント、別のプロジェクト、セルフホスティング環境など、どこにでもインポートできます。ファイルには、ワークフローが使うキャラクター、オブジェクト、ロケーションを含めることができます。インポートでは、アクセスできるメディアがコピーされるため、コピーしたワークフローは単独で動作します。

## ワークフローをエクスポートする
### ワークフローを保存する
エクスポートでは、キャンバス上の状態ではなく、保存済みのワークフローが読み込まれます。先に保存してください。

### 「エクスポート」を選ぶ
エディターのツールバーで**エクスポート**を開き、ファイルに含める内容を選びます。

| 選択肢 | ファイルの内容 |
| --- | --- |
| **アセットを含める** | ワークフローと、そのワークフローが使うキャラクター、オブジェクト、ロケーション |
| **テンプレートのみ** | ワークフローのみ（結果やその他の実行内容は含まれません） |

### ファイルを共有する
ファイルを送るか、バックアップとして保管します。ワークフローが、非公開サーバー上のファイルなど、自分の環境からしか配信できないメディアを使っている場合は、エクスポート時に警告が表示されます。ファイルを共有する前にそのメディアを公開された場所にアップロードするか、該当するノードに新しい入力が必要になることを想定しておいてください。

## ワークフローをインポートする
**ホーム画面から**：「作業を再開」の横にある **JSON をインポート**をクリックし、ファイルを選びます。Nodaro がワークフローを作成して開きます。ワークフローは、デフォルトのプロジェクトである**最近のワークフロー**に入ります。このプロジェクトは、初めて必要になったときに作成されます。

**エディターから**：ツールバーの**インポート**を開きます。**ファイルから**または**クリップボードから**を選び、次の 2 つのオプションのどちらかを選びます。

| 選択肢 | 動作 |
| --- | --- |
| **新規としてインポート** | ホーム画面のボタンと同じように、新しいワークフローを作成します |
| **現在のワークフローに追加** | インポートしたノードを、開いているキャンバスの既存のノードの右側に追加します |

インポートしたワークフローには、ファイル名の末尾に **(Imported)** を付けた名前が付きます。そのため、コピーが元のワークフローと見分けがつかなくなることはありません。どちらの方法でも、通常のエクスポートファイルとチュートリアル形式のファイルを読み込めます。

## 引き継がれるもの
| ワークフローの要素 | インポート時の扱い |
| --- | --- |
| **キャラクター、オブジェクト、ロケーション** | **アセットを含める**で作ったファイルの場合、自分のアカウントに作成し直され、ノードは新しく作られたコピーを参照します。 |
| **新しい環境からアクセスできるメディア** | 画像、動画、オーディオが新しい環境のストレージにコピーされるため、ワークフローは元の環境に依存しなくなります。完了メッセージに、コピーされたファイルの数が表示されます。 |
| **新しい環境からアクセスできないメディア** | 元の場所を指したままになります。インポート時に警告が表示され、該当するノードが示されます。これらのノードは、ファイルをもう一度アップロードするまで実行できません。 |
| **ストレージに収まらないアセット** | ワークフロー自体はインポートされ、作成できなかったアセットが示されます。それらのアセットを使うノードでは、アセットが見つからないと表示されます。 |
| **保存済みの認証情報** | エクスポートされることはありません。[**Webhook 出力**（Webhook Output）](https://nodaro.ai/docs/nodes/publish/webhook-output)ノードは認証情報なしで届くので、自分の認証情報を選びます。 |
| **スケジュール** | インポートした[**スケジュールトリガー**（Schedule Trigger）](https://nodaro.ai/docs/nodes/automate/schedule-trigger)ノードは、必ず一時停止の状態で始まります。準備ができたらオンにしてください。 |
| **スニペットとピッカーの設定** | そのまま引き継がれます。[スニペット](https://nodaro.ai/docs/guides/prompt-snippets)はプロンプト内のただのテキストで、ピッカーは「フル」または「コンパクト」のモードを保持します。 |

**共有されたワークフローは、アセットなしでエクスポートされます**。ほかの人から共有されたワークフローもエクスポートできます。ただしその場合、ファイルには、そのワークフローが使うキャラクターとロケーションが含まれません。ワークフローを閲覧できる権限があっても、そのアセットまで手に入るわけではありません。

## Nodaro Cloud とセルフホスティング環境の間でワークフローを移動する
同じファイルを、どちらの方向にも使えます。

1. 移行元の環境で、ワークフローを**アセットを含める**でエクスポートします。
2. 移行先の環境で、**JSON をインポート**からインポートします。
3. インポートのメッセージを確認します。アクセスできなかったメディアは、もう一度アップロードします。
4. セルフホスティング環境では、ワークフローが使うモデルを、自分のプロバイダーキーまたは [Nodaro Cloud への接続](https://nodaro.ai/docs/concepts/editions)で利用できるか確認します。
5. Webhook 出力ノードで認証情報を選び直し、実行したいスケジュールをオンにします。

## コードからインポートとエクスポートを行う
REST API では、ファイルの内容を `workflow_json` として `POST /v1/workflows/import` に送ると、同じファイルをインポートできます。レスポンスには、新しいワークフローとインポートレポートが含まれます。レポートには、コピーされたメディアファイルの数、アクセスできなかったファイル、スキップされたファイルが示されます。SDK は `client.workflows.import(...)` で同じエンドポイントを呼び出します。[MCP](https://nodaro.ai/docs/mcp) で接続したアシスタントも、ワークフローをエクスポートおよびインポートできます。詳しくは[ワークフロー API](https://nodaro.ai/docs/developers/api/workflows) を参照してください。

## Frequently asked questions

### ワークフローを別の Nodaro アカウントにコピーするにはどうすればよいですか？

エディターで「エクスポート」を開き、「アセットを含める」を選びます。コピー先のアカウントでは、ホーム画面の「JSON をインポート」をクリックしてファイルを選びます。ワークフローは新しいコピーとして開き、そのキャラクター、オブジェクト、ロケーションもそのアカウントに作成されます。

### 「アセットを含める」と「テンプレートのみ」の違いは何ですか？

「アセットを含める」には、ワークフローが使うキャラクター、オブジェクト、ロケーションが含まれます。「テンプレートのみ」にはワークフローだけが含まれ、結果やその他の実行内容は含まれません。

### インポートしたノードに、メディアが見つからないと表示されるのはなぜですか？

ファイルが、元の環境からしか配信できないメディアを指しているためです。たとえば、非公開のセルフホスティングサーバー上のメディアです。インポート時に、該当するノードが示されます。それらのノードを実行する前に、新しい環境でメディアをもう一度アップロードしてください。

### インポートしたスケジュールは、すぐに実行され始めますか？

いいえ。インポートしたスケジュールトリガーは、必ず一時停止の状態で始まります。準備ができたら、スイッチでオンにしてください。

### Webhook のキーはエクスポートに含まれますか？

いいえ。エクスポートに保存済みの認証情報が含まれることはありません。インポート後、認証情報が必要な Webhook 出力ノードごとに、自分の認証情報を選んでください。
