# パイプライン

> MCP ツールで、プロンプトから「ストーリー → 動画」のパイプラインを開始し、ステージを監視して、チャットで承認や調整を行い、完了したパイプラインを任意のステージから分岐します。

Source: https://nodaro.ai/ja/docs/mcp/tools/pipelines

**パイプラインツール**を使うと、AI アシスタントから**ストーリー → 動画**（Story to Video）のパイプラインを操作できます。1 つのプロンプトでパイプラインが始まります。パイプラインは脚本を書き、キャストとロケーションを作成し、ショットを計画してレンダリングし、完成した映画に結合します。アシスタントは、ステージの監視、承認、チャットでの調整を行い、完了したパイプラインを任意のステージから分岐できます。同じエンジンをキャンバスで使うのが、[ストーリー → 動画](https://nodaro.ai/docs/nodes/video/story-to-video)ノードです。

パイプラインツールは、Nodaro Cloud にしかありません。`pipelines:read`、`pipelines:execute`、`pipelines:approve` の権限を許可した場合にだけ表示されます。

## ステージ
パイプラインは、`script`、`characters`、`objects`、`locations`、`shot_list`、`scene_images`、`animate_audio_edit`、`post_merge` の順にステージを実行します。`auto` モードでは、すべてのステージを自動で実行し、停止するのは、2 つのショットの間で計画したマッチカットが成立しない場合だけです。その場合、実行は、すべての不連続が [REST API](https://nodaro.ai/docs/developers/api/pipelines#match-cut-breaks-in-the-scene-images-stage) で承認されるまで待機します。MCP ツールで不連続を承認することはできません。`manual` モードと `guided` モードでは承認ゲートで停止し、そのステージは `awaiting_approval` のステータスで待機します。

## `start_pipeline`
ストーリーのプロンプトから、新しい「ストーリー → 動画」のパイプラインを開始します。

**権限**：`pipelines:execute`。**クレジット**：パイプラインが実行するすべての生成のクレジットです。`get_pipeline_status` で、進行に合わせてクレジットを確認できます。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `story_prompt` | string | **必須**。映画の内容で、最大 4,000 文字です。 |
| `format` | string | `trailer`、`short_film`、`music_video`、`reel`、`commercial` のいずれかです。デフォルトは `reel` です。 |
| `target_duration_seconds` | integer | 映画の長さで、5〜600 秒です。デフォルトは `15` です。 |
| `mode` | string | `auto`（デフォルト）は、マッチカットの不連続があるときを除き、人の操作なしで最後まで実行します。`manual` と `guided` は、承認ゲートで停止します。 |
| `output_resolution` | string | `480p`、`720p`、`1080p`、`4K` のいずれかです。デフォルトは `720p` です。 |
| `music_enabled` | boolean | 音楽を追加します。デフォルトは `true` です。 |
| `narration_enabled` | boolean | ナレーションを追加します。デフォルトは `false` です。 |
| `lipsync_enabled` | boolean | キャラクターの唇の動きを、セリフに合わせます。デフォルトは `false` です。 |

**戻り値**：新しいパイプラインの ID です。`get_pipeline_status` をポーリングし、ステージが待機している間は `pipeline_pending_approvals` もポーリングします。

アシスタントがパイプラインを開始する場合、ナレーションとリップシンクはデフォルトでオフです。そのため、人の操作なしで実行しても、依頼しない限り、これらにクレジットは使われません。

## `get_pipeline_status`
パイプラインの状態を返します。ステータス（`pending`、`running`、`awaiting_approval`、`completed`、`failed`）、現在のステージ、クレジットのカウンター、モード、そして失敗した場合は `failure_reason` です。

**権限**：`pipelines:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `pipeline_id` | string | **必須**。パイプラインの ID です。 |

## `pipeline_pending_approvals`
承認を待っているステージを、それぞれの出力のスナップショットとともに一覧表示します。一覧が空の場合、待っているステージはありません。実行が `auto` モードでマッチカットの不連続がないか、まだ生成中です。

**権限**：`pipelines:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `pipeline_id` | string | **必須**。パイプラインの ID です。 |

## `chat_pipeline_stage`
承認待ちのステージについて、調整を担当する監督にメッセージを送ります。たとえば「結末をもっと暗くして」と送ります。パイプラインは `guided` モードである必要があります。

**権限**：`pipelines:approve`。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `pipeline_id` | string | **必須**。パイプラインの ID です。 |
| `stage` | string | **必須**。待機しているステージで、`script` か `post_merge` です。 |
| `message` | string | **必須**。送るメッセージで、最大 8,000 文字です。 |

**戻り値**：監督の返信です。監督が編集を提案した場合は、`proposed_change` も返されます。変更は `apply_chat_proposal` で適用します。

## `apply_chat_proposal`
監督の返信で提案された変更を受け入れ、その変更を適用してステージを承認します。

**権限**：`pipelines:approve`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `pipeline_id` | string | **必須**。パイプラインの ID です。 |
| `stage` | string | **必須**。チャットのステージです。 |
| `turn_id` | string | **必須**。受け入れる変更を提案した、監督の返信の ID です。 |

## `get_pipeline_stage_chat`
ステージのチャットのメッセージを、古い順に一覧表示します。まだ誰も書き込んでいない場合、一覧は空です。

**権限**：`pipelines:read`。**クレジット**：無料。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `pipeline_id` | string | **必須**。パイプラインの ID です。 |
| `stage` | string | **必須**。チャットのステージです。 |

## `branch_pipeline`
完了したパイプラインを、あるステージから再実行する新しいパイプラインを作成します。そのステージより前のステージと、そこで作られたキャラクター、オブジェクト、ロケーションは、承認済みとしてコピーされます。選んだステージとそれ以降のすべてのステージは、もう一度実行されます。

**権限**：`pipelines:execute`。**クレジット**：もう一度実行されるステージのクレジットです。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `pipeline_id` | string | **必須**。ステータスが `completed` のパイプラインです。 |
| `from_stage` | string | **必須**。`script`、`characters`、`objects`、`locations`、`shot_list`、`scene_images`、`animate_audio_edit`、`post_merge` のいずれかです。 |

**戻り値**：新しいパイプラインの ID です。

## Frequently asked questions

### 「ストーリー → 動画」のパイプラインでは、何が作られますか？

1 つのストーリーのプロンプトから、完成した映画が作られます。パイプラインは脚本を書き、キャラクター、オブジェクト、ロケーションを作成し、ショットを計画します。続いてシーン画像を生成し、オーディオ付きで動画化して、最終カットを結合します。

### auto、manual、guided の各モードの違いは何ですか？

auto は、プロンプトから完成した映画まで、自動で実行します。停止するのは、2 つのショットの間で計画したマッチカットが成立しない場合だけで、REST API ですべての不連続が承認されるまで待機します。MCP ツールで不連続を承認することはできません。manual と guided は、承認ゲートで停止します。guided では、承認する前に、脚本と最終カットをチャットで調整することもできます。

### パイプラインを途中から再実行できますか？

はい、パイプラインが完了していればできます。branch_pipeline は、選んだステージより前のステージを承認済みとしてコピーします。そして、選んだステージとそれ以降のすべてのステージを、新しいパイプラインとしてもう一度実行します。

### アシスタントにパイプラインツールが表示されないのはなぜですか？

パイプラインツールには pipelines の権限が必要です。また、これらのツールは Nodaro Cloud にしかありません。接続し直し、同意画面でパイプラインの権限を許可してください。
