# コマンド

> プロジェクト、ワークフローと共有、アプリ、ノード、モデル、ピッカー、実行、ジョブ、プロンプト、Recast のための、Nodaro CLI のコアコマンドすべてと、そのオプションです。

Source: https://nodaro.ai/ja/docs/developers/cli/commands

コアとなる **Nodaro CLI コマンド**は、プロジェクトとワークフローの管理、公開済みアプリと単一ノードの実行、実行とジョブの確認を行います。このページでは、それぞれのコマンドをオプションとともに一覧にしています。アセット、メディア、ワークスペースのコマンドには専用のページがあり、最初のテーブルに記載しています。

どの例も、[CLI をインストールしてログイン済み](https://nodaro.ai/docs/developers/cli)であることを前提としています。

## コマンドグループ
| グループ | 内容 | 説明の場所 |
| --- | --- | --- |
| `auth` | ログイン、プロファイルの表示と削除 | [CLI](https://nodaro.ai/docs/developers/cli#sign-in) |
| `projects` | プロジェクトの作成、読み取り、更新、削除 | このページ |
| `workflows` | ワークフローの管理、エクスポート、インポート、実行、共有 | このページ |
| `apps` | 公開済みアプリの閲覧と実行 | このページ |
| `nodes` | ノードタイプの一覧表示と単一ノードの実行 | このページ |
| `models` | モデルカタログの閲覧 | このページ |
| `pickers` | ピッカーカタログの読み取りと、説明文からのピッカーの自動入力 | このページ |
| `catalog` | デプロイ環境のカタログパックの、オフラインでの保守 | このページ |
| `executions`、`jobs` | 実行の確認とキャンセル | このページ |
| `video-pro` | 動画生成 Pro の実行の停止と継続 | このページ |
| `prompt` | 大まかなアイデアからの、最適化されたプロンプトの作成 | このページ |
| `shots` | ショットの共有レコードの作成と読み取り | このページ |
| `recast` | Recast の実行の計画とレンダリング、またはスクリプトのインポート | このページ |
| `characters`、`locations`、`objects` | アセットの管理と、その画像やモーションの生成 | [アセットのコマンド](https://nodaro.ai/docs/developers/cli/asset-commands) |
| `voice`、`media`、`audio`、`edit` | メディアの声の差し替え、字幕付け、合成、編集 | [メディアと音声のコマンド](https://nodaro.ai/docs/developers/cli/media-commands) |
| `org`、`workspace` | 組織、招待、ワークスペース、使用状況レポート | [ワークスペースと組織](https://nodaro.ai/docs/developers/cli/workspaces) |

## すべてのコマンドが受け付けるオプション
- `--profile <name>` は、デフォルトのプロファイルの代わりに、保存済みのプロファイルでコマンドを実行します。
- `--json` は、データを読み取るすべてのコマンドで、機械可読な出力を表示します。[出力と終了コード](https://nodaro.ai/docs/developers/cli/output)を参照してください。
- `--workspace <id>` はグローバルオプションです。このコマンドに限り、ワークスペースを設定します。[ワークスペースと組織](https://nodaro.ai/docs/developers/cli/workspaces)を参照してください。
- `-v` または `--version` は、CLI のバージョンを表示します。

以下の構文では、`<value>` は自分で指定する値、`[...]` は省略可能、`a|b` は挙げた値のいずれかを意味します。

## プロジェクト
```bash
nodaro projects list [--json]
nodaro projects get <id> [--json]
nodaro projects create --name <name> [--description <desc>] [--json]
nodaro projects update <id> [--name <name>] [--description <desc>] [--json]
nodaro projects delete <id> [--json]
```

## ワークフロー
```bash
nodaro workflows list --project <projectId> [--json]
nodaro workflows get <id> [--json]
nodaro workflows create --project <projectId> --name <name> [--file bundle.json] [--json]
nodaro workflows update <id> [--name <name>] [--file nodes-edges.json] [--json]
nodaro workflows delete <id> [--json]
nodaro workflows export <id> [--with-assets] [--output bundle.json]
nodaro workflows import <file> --project <projectId> [--json]
nodaro workflows run <id> [--watch] [--node n1 n2 ...] [--json]
```

| オプション | 内容 |
| --- | --- |
| `create --file` | エクスポートしたワークフローバンドルから、ワークフローを作成します。 |
| `update --file` | JSON ファイル内のノード、エッジ、設定を、ワークフローに書き込みます。 |
| `export --with-assets` | そのワークフローが使うキャラクター、オブジェクト、ロケーションのデータを、バンドルに追加します。 |
| `export --output` | バンドルを表示する代わりに、ファイルに書き込みます。 |
| `run --node` | スペースで区切って指定したノード ID だけを実行します。 |
| `run --watch` | 実行が終わるまで追跡します。 |

バンドルの形式は、エディターがエクスポートするものと同じです。[ワークフローのインポートとエクスポート](https://nodaro.ai/docs/guides/import-export)を参照してください。

### ワークフローの共有と移動
これらのコマンドは、組織とワークスペースのあるインスタンスで動作します。

```bash
nodaro workflows share <id> [--visibility workspace|private] [--json]
nodaro workflows move <id> --project <projectId> [--json]
nodaro workflows shared-with-me [--json]
nodaro workflows collaborators list <id> [--json]
nodaro workflows collaborators add <id> (--user <userId> | --email <email>) --role viewer|editor [--json]
nodaro workflows collaborators update <id> <userId> --role viewer|editor [--json]
nodaro workflows collaborators remove <id> <userId> [--json]
```

- `share` は、ワークスペース内の誰がそのワークフローを見られるかを設定します。デフォルトの公開範囲は `workspace` です。
- `collaborators add --email` は、任意のアドレスを受け付けます。相手はまだアカウントを持っている必要はありません。
- `move` は、ワークフローを別のプロジェクトに移します。別のワークスペースへの移動では、ワークフローの共同編集者が削除され、結果には、誰がアクセス権を失ったかが示されます。

## アプリ
アプリは、ワークフローを、整えられた入力と出力のフォームで包んだものです。[アプリ](https://nodaro.ai/docs/concepts/apps)を参照してください。

```bash
nodaro apps list [--search <query>] [--limit <n>] [--cursor <token>] [--category <slug>]
nodaro apps get <slug>                                   # input schema and outputs
nodaro apps run <slug> --input prompt="..." [--watch]
nodaro apps run <slug> --params-file inputs.json [--watch]
nodaro apps run <slug> --input prompt="..." --override <nodeId>.<field>=<value>
nodaro apps runs <slug> [--limit <n>] [--cursor <token>] [--json]   # your past runs
nodaro apps run-get <slug> <runId>
```

- `apps list` は、1 ページあたり最大 50 個のアプリを返します。あるページの `--cursor` を渡すと、次のページを取得できます。
- `apps get` は、アプリの入力名を表示します。これを `--input` のキーとして使います。
- `--input` は、アプリの入力を 1 つ設定します。入力ごとに繰り返すか、`--params-file` で JSON ファイルにまとめて指定します。
- `--override` は、その実行に限って、ノードの生のフィールドを `<nodeId>.<field>=<value>` の形で設定します。`promptPrefix` など、アプリが公開していないフィールドも設定できます。[プロンプトの前後のテキスト](https://nodaro.ai/docs/concepts/prompt-pre-post-text)を参照してください。

オーバーライドで、送信系のノードがデータを送信または取得する宛先（**Webhook 出力**（Webhook Output）のアドレスなど）を変更することはできません。そのような実行は、代わりに `locked_field` で拒否されます。

## ノード
```bash
nodaro nodes list [--category <category>] [--json]
nodaro nodes get <type>                                  # full input schema
nodaro nodes run <type> --param prompt="..." --param provider=flux [--watch]
nodaro nodes run <type> --params-file body.json [--watch] [--poll-interval 1000]
```

- `--category` は、`input`、`parameter`、`ai-image`、`ai-video`、`ai-audio`、`ai-text`、`processing`、`composition`、`output`、`control`、`entity`、`trigger`、`utility` のいずれかです。
- `nodes get` は、1 つのノードタイプの入力スキーマ、つまり `--param` が受け付けるフィールドを表示します。
- `--watch` は、レスポンスにジョブ ID がある場合、ジョブが終わるまでポーリングします。`--poll-interval` は、ポーリングの間隔をミリ秒単位で設定します。デフォルトは 2000 です。

`--param` と `--params-file` の書式は、[パラメーターと入力ファイル](https://nodaro.ai/docs/developers/cli/params)にあります。

## モデル
```bash
nodaro models list [--kind image|video|audio] [--mode <mode>] [--family <vendor>] [--featured] [--json]
```

- `--mode` は、`t2i`、`i2v`、`t2v`、`tts` のような操作で絞り込みます。
- `--family` は、`Google` や `Bytedance` のようなモデルの開発元で絞り込みます。
- `--featured` は、注目のモデルだけを表示します。

このテーブルには、各モデルの ID、種類、ファミリー、モード、クレジットのティアが表示されます。注目のモデルと、Nodaro がプロンプトのガイダンスを用意しているモデルファミリーにも印が付きます。`--json` は、完全な機能表、クレジットの料金、プロンプトのヒントを返します。同じカタログは、[モデル](https://nodaro.ai/docs/models)でも閲覧できます。

## ピッカー
ピッカーは、**ムード**（Mood）や**フレーミング**（Framing）のような、クリエイティブコントロールのノードです。これらのコマンドは、有効な値のカタログを読み取ります。[ピッカーカタログ](https://nodaro.ai/docs/developers/picker-catalogs)を参照してください。

```bash
nodaro pickers list [--json]
nodaro pickers get <nodeType> [--full] [--category <c>] [--field <f>] [--json]
nodaro pickers analyze "<text>" [--target <types>] [--instructions <text>] [--model <id>] [--effort <level>] [--json]
```

| コマンドまたはオプション | 内容 |
| --- | --- |
| `pickers list` | すべてのピッカーのノードタイプ、そのオプションの数、画像付きのオプションの数を一覧表示します。 |
| `pickers get` | 1 つのカタログを返します。各オプションには `id`、`label`、`category`、`term`、`icon` があり、画像がある場合は `imageUrl` も付きます。 |
| `--full` | 各オプションの説明と、それが追加するプロンプトの断片を加えます。 |
| `--category` | 単一次元のピッカーを、1 つのカテゴリーに絞り込みます。 |
| `--field` | **フレーミング**の `shotSize` のような、多次元ピッカーの 1 つの次元を返します。 |
| `pickers analyze` | **AI Fill**：自由記述のテキストから、ピッカーの値を選びます。LLM 呼び出しで、クレジットが課金されます。 |
| `--target` | 入力するピッカーのノードタイプを、カンマ区切りで指定します。デフォルトは、解析できるすべてのピッカーです。 |

`term` は、**プロンプトヒント**が**コンパクト**のときにプロンプトに追加される、短い専門用語です。`auto` や `none` のような、何も追加しないオプションでは空です。**人物**（Person）と**スタイリング**（Styling）は、`sections` も返します。それぞれのトピックには、丸い画像が付きます。

## カタログパック
デプロイ環境は、同梱されたカタログパックで、ピッカーカタログを独自に整備できます。これらのコマンドは、そのようなパックを保守します。ファイルに対してオフラインで動作し、ログインは不要です。

```bash
nodaro catalog snapshot --in <file>
nodaro catalog diff-upstream --baseline <f> --upstream <f> --pack <f> [--write <f>]
nodaro catalog validate --pack <file> [--exempt es,fr,...]
```

- `snapshot` は、あるファイルの詳細な `/v1/catalogs` 表現を、その翻訳ファイルとともに JSON として出力します。
- `diff-upstream` は、3 方向マージです。あなたが変更しなかったエントリーに、上流の編集を、翻訳済みの 11 のロケールの文字列も含めて取り込みます。あなたと上流の両方が変更したエントリーはコンフリクトとして報告し、あなたのバージョンを残します。上流の新しいエントリと上流での削除を一覧にしますが、自分から何かを追加することはありません。コンフリクトがある場合、コード 2 で終了します。
- `validate` は、パックのスナップショットに、翻訳済みの 11 のロケールすべての翻訳があるか、`--exempt` で除外が宣言されているかを確認します。除外されていないロケールに翻訳がない場合、コード 1 で終了します。

## 実行とジョブ
**実行**（execution）は、ワークフローまたはアプリの 1 回の実行です。**ジョブ**（job）は、1 回の画像生成のような、1 つのノードの作業です。`nodaro nodes run` は、ジョブを返します。

```bash
nodaro executions get <id> [--watch] [--json]
nodaro executions cancel <id> [--mode cancelled|stopping]
nodaro jobs get <id> [--json]
nodaro jobs cancel <id> [--json]
```

- `executions get --watch` は、実行が完了、失敗、キャンセルのいずれかになるまでポーリングします。
- デフォルトの `executions cancel --mode cancelled` は、実行を即座に停止します。`--mode stopping` では、現在の階層のノードを先に完了させます。

## 動画生成 Pro の実行制御
[**動画生成 Pro**（Generate Video Pro）](https://nodaro.ai/docs/nodes/video/generate-video-pro)は、長い動画を 1 セグメントずつ作るので、実行を停止して後から続けられます。Nodaro Cloud で動作し、セルフホスティング環境では、Nodaro Cloud への接続を通じて動作します。

```bash
nodaro video-pro stop <jobId> [--json]
nodaro video-pro continue <jobId> [--from-segment N] [--watch] [--poll-interval <ms>] [--json]
```

- `stop` は、実行を安全に終了します。完成したセグメントは残されて納品され、確保分の残りは返還されます。処理中のセグメントには、引き続き料金がかかります。
- `continue` は、セグメント `N` から再生成する新しいジョブを開始します。デフォルトは、納品されなかった最初のセグメントです。支払うのは、再生成するセグメントの分と、Pro の固定料金だけです。

## プロンプトウィザード
プロンプトウィザードは、大まかなアイデアを、`generate-image` のようなノードタイプ向けの最適化されたプロンプトにします。

```bash
nodaro prompt wizard [--node-type <type>] [--prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>]
nodaro prompt analyze --node-type <type> [--prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--json]
nodaro prompt generate --node-type <type> --selection category=value [--selection ...] [--original-prompt "..."] [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--json]
nodaro prompt enhance --node-type <type> --prompt "..." [--provider <name>] [--style <name>] [--aspect-ratio <ratio>] [--duration <seconds>] [--llm-model <id>] [--reasoning-effort <level>] [--json]
```

| コマンド | 内容 |
| --- | --- |
| `prompt wizard` | ターミナルで、ガイド付きの質問をします。`--node-type` を指定しない場合、最初にどのノード向けのプロンプトかを尋ねます。対話形式のターミナルが必要です。 |
| `prompt analyze` | スクリプト向けに、ウィザードのガイド付きの質問を返します。 |
| `prompt generate` | 回答から最終的なプロンプトを組み立てます。`--selection category=value` を、回答ごとに 1 回繰り返します。 |
| `prompt enhance` | 質問なしで、プロンプトを 1 ステップで書き直します。 |

- `--reasoning-effort` は、`none`、`low`、`medium`、`high`、`xhigh`、`max` のいずれかです。対応状況はモデルによって異なり、非対応または未指定の場合はモデルのデフォルトが使われます。`xhigh` と `max` は、1 段階上の料金になります。
- `--advanced` は、Gemini モデルでのみ動作します。`--temperature`、`--max-tokens`、そして推論の全範囲を有効にし、1 段階上の料金になります。

## ショット
ショットは、保存されたビルダーの状態です。ピッカーの選択内容、プロンプト、選んだモデル、アセットのリファレンスが含まれます。ショットは、共有リンクとワンクリックのリミックスを支えています。

```bash
nodaro shots get <id> [--json]
nodaro shots create [--file shot.json] [--visibility private|public] [--json]
nodaro shots update <id> [--file fields.json] [--visibility private|public] [--json]
nodaro shots delete <id>
```

新しいショットは、`--visibility public` を設定しない限り非公開です。公開ショットは、その ID を知っている人なら誰でも読み取れます。

## Recast
Recast は、分析済みの動画を、自分が選んだキャストで再生成します。自分で書いたスクリプトをインポートし、recast としてレンダリングすることもできます。recast のコマンドは、Nodaro Cloud でのみ動作します。

```bash
nodaro recast skill
nodaro recast validate --file script.json [--json]
nodaro recast import --file script.json --rights-attested [--json]
nodaro recast estimate --analysis-job <id> [--fidelity faithful] [--resolution <r>] [--segment-sec <n>] [--json]
nodaro recast create --workflow <id> --analysis-job <id> [--rights-attested] [--fidelity faithful] [--resolution <r>] [--segment-sec <n>] [--json]
nodaro recast start <recastId> [--segment-sec <n>] [--json]
nodaro recast status <recastId> [--json]
```

| コマンド | 内容 | 料金 |
| --- | --- | --- |
| `recast skill` | スクリプトの書き方ガイドを、Markdown として表示します。 | 無料 |
| `recast validate` | スクリプトを検証します。スクリプトが無効な間は、コード 1 で終了します。 | 無料 |
| `recast import` | 検証済みのスクリプトを、完了した分析としてインポートします。`--rights-attested` は、そのスクリプトが自分自身の作品であることを表明します。インポートで作成した recast は、書かれたとおりに Faithful でレンダリングされます。 | 無料 |
| `recast estimate` | 実行の料金を、クレジットで見積もります。 | 無料 |
| `recast create` | プランを購入し、実行 ID を返します。先に `estimate` を実行してください。 | クレジット |
| `recast start` | 計画済みの実行をレンダリングします。2 回実行しても問題ありません。 | プランに含まれる |
| `recast status` | ステータスと、対応待ちの対話的なステップを表示します。 | 無料 |

recast の仕組みについては [Recast](https://nodaro.ai/docs/mcp/recast) を、これらのコマンドの背後にあるエンドポイントについては [Recast API](https://nodaro.ai/docs/developers/api/recast) を参照してください。

## Frequently asked questions

### Nodaro CLI が実行できるすべてのノードタイプを一覧表示するには、どうすればよいですか？

nodaro nodes list を実行します。--category ai-image のようにカテゴリーを指定すると一覧を絞り込め、nodaro nodes get generate-image を実行すると、1 つのノードタイプの完全な入力スキーマを確認できます。

### CLI から、ワークフローの一部のノードだけを実行するには、どうすればよいですか？

nodaro workflows run に --node を追加し、続けてノード ID をスペース区切りで指定します。指定したノードだけが実行されます。

### ターミナルから、実行中のワークフローを停止するには、どうすればよいですか？

実行 ID を指定して nodaro executions cancel を実行します。デフォルトのモードである cancelled は、実行を即座に停止します。--mode stopping を指定すると、現在の階層のノードが完了するまで待ってから停止します。

### Nodaro Cloud が必要な Nodaro CLI コマンドは、どれですか？

recast のコマンドは、Nodaro Cloud だけで動作します。動画生成 Pro の実行制御は、Nodaro Cloud への接続を通じて、セルフホスティング環境でも動作します。

### ワークフローを、そのキャラクターと一緒にエクスポートするには、どうすればよいですか？

--with-assets と --output bundle.json を指定して nodaro workflows export を実行します。バンドルには、そのワークフローが使うキャラクター、オブジェクト、ロケーションのデータが含まれます。インポートするには、nodaro workflows import bundle.json --project にプロジェクト ID を続けて指定します。
