# スタジオプロダクション

> スタジオプロダクションの各ツールのパラメーターを、必要な権限と見積もりとともに説明します。無料のプラン検証から、フレーム、モーション、音声、サウンドトラックの生成までを扱います。

Source: https://nodaro.ai/ja/docs/mcp/tools/studio-productions

**スタジオプロダクションのツール**は、[studio.nodaro.ai](https://studio.nodaro.ai) の Nodaro Studio のエディターで開く映画を作成、変更します。このページでは、各ツールのパラメーターを一覧で示します。作業のループ、ユーザーとのやり取りで使う言葉、編集操作、クレジットを使うときのルールは、[スタジオプロダクション](https://nodaro.ai/docs/mcp/studio-productions)で説明しています。先にそちらを読んでください。

スタジオプロダクションは Nodaro Cloud の機能です。この機能がない環境では、このグループのツールはすべて `not_available` を返します。機能を提案する前に、`list_studio_productions` を呼び出して確認してください。

## ツール、権限、料金
| ツール | 権限 | クレジット |
| --- | --- | --- |
| `get_studio_production_skill` | なし | 無料 |
| `validate_studio_plan` | `workflows:read` | 無料 |
| `list_studio_productions` | `workflows:read` | 無料 |
| `get_studio_production` | `workflows:read` | 無料 |
| `plan_studio_export` | `workflows:read` | 無料（見積もりのため） |
| `create_studio_production` | `workflows:write` | 無料 |
| `import_studio_production` | `workflows:write` | 無料 |
| `edit_studio_production` | `workflows:write` | 無料 |
| `share_studio_production` | `workflows:write` | 無料 |
| `clone_studio_production` | `workflows:write` | 無料 |
| `describe_studio_production` | `workflows:write` と `workflows:execute` | LLM の実行 1 回分 |
| `generate_studio_still` | `workflows:write` と `workflows:execute` | 候補画像 1 枚ごと |
| `generate_studio_keyframe` | `workflows:write` と `workflows:execute` | 画像 1 枚分 |
| `generate_studio_clip` | `workflows:write` と `workflows:execute` | 動画 1 本分 |
| `new_studio_shot_from_frame` | `workflows:write` と `workflows:execute` | フレーム抽出 1 回分 |
| `voice_studio_shot` | `workflows:write` と `workflows:execute` | 音声合成の実行 1 回分 |
| `revoice_studio_clip` | `workflows:write` と `workflows:execute` | 声の差し替えの実行 1 回分 |
| `score_studio_production` | `workflows:write` と `workflows:execute` | 音楽生成の実行 1 回分 |

クレジットを消費するツールと、作品を見られる人を変える `share_studio_production` には、ツールの定義に、実行前の確認を求めるマークが付いています。クレジットを消費するツールは、8〜128 文字の再試行用のトークン `client_request_id` を受け付けます。タイムアウトの後に同じ値をもう一度送っても、処理が 2 回開始されたり、2 回課金されたりすることはありません。

## 計画と読み取り
### `get_studio_production_skill`
アシスタントがプロダクションの作業を始める前に読むガイドを返します。ガイドは、稼働中の環境から生成されます。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `part` | string | `operating`（デフォルト）では、ツールの全体像、作業のループ、編集操作を返します。`authoring` では、プランの形式を返します。`catalog` では、すべてのピッカー、モデル、オプションを返します。`schema` では、プランの JSON Schema を返します。 |

### `validate_studio_plan`
作成したプランを無料でチェックします。何も保存しません。また、`cast` のすべての名前を、あなた自身のキャラクター、ロケーション、オブジェクト、クリーチャーと照合します。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `plan` | object | **必須**。`nodaro-studio-production` プランです。 |

**戻り値**：`valid`、`errors`（それぞれ対象のフィールド名を含む）、`warnings`、そして、キャストの名前のうちいくつがライブラリと一致したかを示す `summary` です。エラーを修正し、`valid` が `true` になるまで呼び出しを繰り返してください。

### `list_studio_productions`
あなたのプロダクションを、新しい順に一覧表示します。ID、名前、バージョン、サムネイル、共有されているかどうか、シーンの数を返します。ダッシュボードと同じく、アーカイブ済みのプロダクションは表示されません。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `limit` | integer | 1〜100 です。デフォルトは `25` です。 |
| `cursor` | string | 前のページの `nextCursor` です。 |

### `get_studio_production`
1 つのプロダクションを返します。フィルムルック、キャスト、フォルダー、カット、ゴミ箱、実行中の処理、タイムライン順のシーンが含まれます。`workflows:write` がある場合は、まず前回の読み取り以降に完了したすべてのジョブの結果を反映します。そのため、完了した生成の結果は、この読み取りによってシーンに届きます。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクション ID です。 |
| `detail` | string | `summary`（デフォルト）では、件数と、各シーンの現在のフレームを返します。`full` では、過去のすべての結果を、それを生んだコンテキストとともに返します。 |
| `shot_id` | string | 1 つのシーンだけを読み取ります。生成の後に使う、軽い読み取りです。 |
| `reconcile` | boolean | `false` にすると、完了したジョブの結果を反映せずに読み取ります。デフォルトは `true` です。 |

**戻り値**：プロダクションと、まだ実行中の処理を示す `pending` ブロックです。結果は、`key`、ジョブ ID、または URL で指定してください。位置（何番目か）では指定しないでください。

### `plan_studio_export`
プロダクションを書き出すための手順を、順番どおりに、クレジットの見積もりとともに返します。何も開始せず、何も請求しません。ユーザーが承認する前に、この内容を見せてください。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクション ID です。 |
| `upscale` | boolean | 4K の処理工程を追加します。この工程は高額です。デフォルトは `false` です。 |

## 作成と変更
### `create_studio_production`
あなた自身の Studio プロジェクトに、プロダクションを作成します。作成したプロダクションは、すぐに studio.nodaro.ai のダッシュボードに表示されます。プランを指定すると、すべてのシーン、キャストの割り当て、フィルムルックが一緒に反映されます。指定しない場合、プロダクションは空です。先にプランを検証してください。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `plan` | object | 検証済みのプランです。 |
| `name` | string | プランに独自のタイトルがない場合の名前です。最大 200 文字です。 |

### `import_studio_production`
プランのシーンを既存のプロダクションに追加し、新しいキャストを登録します。プロダクションの名前を変えたり、ブリーフやルックを変更したりすることはありません。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `plan` | object | 検証済みのプランです。これか `plan_job_id` のどちらかを渡します。 |
| `plan_job_id` | string | 出力がスタジオプロダクションのプランである、完了済みの LLM ジョブです。まだ実行中のジョブは、`not_finished` で拒否されます。 |

**インポートの前後にエディターを再読み込みする:** 
プロダクションがスタジオのエディターで開かれている場合、エディターは編集のたびに少し後で自分のコピーを保存し、追加したシーンを上書きしてしまいます。インポートの前と後に、エディターを再読み込みするようユーザーに依頼してください。

### `edit_studio_production`
操作のバッチでプロダクションを変更します。たとえば、シーンの名前の変更、タイムラインの並べ替え、テイクの選択、シーンのモーション内のショットの設定、キャストの登録、ゴミ箱を空にする操作などです。操作とその引数は、`part: "operating"` を指定した `get_studio_production_skill` が提供します。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `ops` | array | **必須**。1〜100 個の操作で、順番に適用されます。 |
| `dry_run` | boolean | バッチをプレビューします。各操作が何をするか、どのバージョンに対して行うか、各削除を復元できるかどうかがわかります。何も書き込みません。 |
| `expected_version` | integer | バッチを作成するときに基準にしたバージョンです。 |
| `strict` | boolean | プロダクションが変更されていた場合に、リベースせず、競合として拒否します。`expected_version` が必要です。 |

**戻り値**：`receipts` です。操作ごとに 1 行ずつ、何を行ったかが過去形で記録されます。バッチは 1 つのステップとして適用されます。1 つの操作が拒否されると、応答にはその操作のインデックスが示され、何も書き込まれません。少し古いバージョンに対して作成したバッチも適用され、その場合は `rebased: true` で示されます。

### `share_studio_production`
プロダクションを共有リンクで公開するか、非公開に戻します。共有されたプロダクションは、リンクを知っている人なら誰でも閲覧できます。そのため、先にユーザーに確認してください。共有の状態を変えられるのは、このツールだけです。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `shared` | boolean | **必須**。`true` でリンクを公開し、`false` でリンクを取り消します。 |

### `clone_studio_production`
自分のプロダクション、または共有されたプロダクションを、自分の Studio プロジェクトにコピーします。コピーは非公開の状態で始まり、グラフと、反映済みのすべての結果を引き継ぎます。リスクのある編集をまとめて行う前に使ってください。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。コピーするプロダクションです。 |
| `name` | string | コピーの名前です。デフォルトは、元の名前に " copy" を付けたものです。 |

## 生成
生成ツールは、すぐにジョブ ID を返します。完成した結果がシーンに加わるのは、次に `get_studio_production` を呼び出したときだけです。`get_job` と `wait_for_job` は状態を報告するだけで、結果は反映しません。

### `describe_studio_production`
ブリーフを監督（Director）に渡します。監督は、シーン、キャスト、ルックをプロダクションに書き込みます。ユーザーの手元にプランではなくストーリーがある場合に使います。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `brief` | string | **必須**。ストーリー、トーン、制約です。 |
| `llm_model` | string | **必須**。プロダクションの下書きを作る LLM で、`list_models` から選びます。 |
| `mode` | string | `append`（デフォルト）はシーンを追加します。`replace` はプロダクションを書き直します。 |
| `label` | string | 実行の名前です。 |
| `client_request_id` | string | 再試行用のトークンです。 |

### `generate_studio_still`
シーンにすでにある情報（プロンプト、リファレンス、キャスト、演出）から、シーンのフレームの候補を生成します。もう一度生成するとテイクが追加されます。既存のテイクが置き換えられることはありません。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `shot_id` | string | **必須**。シーンの ID です。 |
| `count` | integer | 候補の数で、1〜10 です。デフォルトは、シーン自体の設定です。 |
| `overrides` | object | この呼び出しだけに使う設定です。 |
| `dry_run` | boolean | モデルと料金を返し、何も開始しません。`credits: null` は、料金が不明という意味で、無料という意味ではありません。 |
| `client_request_id` | string | 再試行用のトークンです。 |

### `generate_studio_keyframe`
計画フレームの候補を 1 つ生成します。計画フレームは、ユーザーが確認して承認するフレームで、シーンのフレームとは別のものです。派生したフレームには、承認済みの親フレームが必要です。このツールには見積もりがなく、`dry_run: true` は拒否されます。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `keyframe_id` | string | **必須**。計画フレームです。 |
| `expected_revision` | integer | **必須**。確認したフレームプランのリビジョンです。 |
| `overrides` | object | モデル、アスペクト比、解像度です。プロンプトとリファレンスは、プランが決めます。 |
| `client_request_id` | string | 再試行用のトークンです。 |

候補が反映されても、その候補が承認されたり、別のフレームの生成が始まったりすることはありません。確認した後で、`edit_studio_production` で承認してください。このツールを使うには、計画フレームに対応した環境が必要です。

### `generate_studio_clip`
シーンのフレーム、開始フレームと終了フレーム、演出から、シーンのモーションを生成します。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `shot_id` | string | **必須**。シーンの ID です。 |
| `mode` | string | 生成に使う入力の方式を固定します。`start` は開始フレームだけを送ります。`start-end` は開始フレームと終了フレームを送ります。`references` はリファレンスのメディアを送ります。指定しない場合は、シーンに保存された入力に従います。 |
| `overrides` | object | この呼び出しだけに使う設定です。 |
| `dry_run` | boolean | モデルと料金を返し、何も開始しません。 |
| `retake_result_key` | string | リンクされた既存のテイクを、元の設定で撮り直します。`mode` と `overrides` は指定しないでください。 |
| `expected_input_hash` | string | 撮り直しを送信するときに必須です。撮り直しの見積もりで返されたハッシュです。 |
| `client_request_id` | string | 再試行用のトークンです。 |

リンクされたテイクをそのまま撮り直すには、まず `retake_result_key` と `dry_run: true` を指定して呼び出し、料金と `inputHash` を確認します。次に、`dry_run` を外し、`expected_input_hash` と新しい `client_request_id` を付けて、同じ呼び出しを送信します。撮り直しでは、その後プランが変わっていても、テイクの元の設定と両端の画像が使われます。この機能に対応した環境では、`operations.retakeLinkedClips` ケイパビリティが公開されています。

### `new_studio_shot_from_frame`
シーンの現在のモーションから 1 フレームを取り出して活用します。呼び出しは抽出が終わるまで待ち、更新されたプロダクションを返します。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `shot_id` | string | **必須**。フレームを取り出すモーションを持つシーンです。 |
| `target` | string | `new-shot`（デフォルト）は、そのフレームから次のシーンを始めます。`start-frame` または `end-frame` は、そのフレームをこのシーンの開始点または終了点として固定します。`still` は、そのフレームをこのシーンのフレームのテイクとして追加します。 |
| `mode` | string | `first`（デフォルト）、`last`、`timestamp` のいずれかです。 |
| `timestamp` | number | `timestamp` の場合の秒数です。 |
| `client_request_id` | string | 再試行用のトークンです。 |

### `voice_studio_shot`
1 行のテキストを読み上げ、ナレーションとしてシーンに重ねます。呼び出しは音声の生成が終わるまで待ち、更新されたプロダクションを返します。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `shot_id` | string | **必須**。シーンです。 |
| `text` | string | **必須**。読み上げるテキストです。 |
| `voice_id`, `voice_type` | string | [`list_voices`](https://nodaro.ai/docs/mcp/tools/audio#list_voices) で取得したボイスです。指定しない場合は、シーン自体のボイス設定がそのまま使われます。 |
| `delivery` | object | 話し方の設定です。たとえば、速度や安定性です。 |
| `tts_provider` | string | 音声モデルです。モデルの違いが重要な場合に指定します。 |
| `client_request_id` | string | 再試行用のトークンです。 |

### `revoice_studio_clip`
シーンの現在のモーションに含まれる声を差し替えます。セリフが新しい声で演じ直され、同じ映像にミックスし直されます。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `shot_id` | string | **必須**。シーンです。 |
| `plan` | object | **必須**。どの話者にどの声を割り当てるかです。形式は、運用ガイドで説明しています。 |
| `client_request_id` | string | 再試行用のトークンです。 |

### `score_studio_production`
音楽の説明から、プロダクション全体に使うサウンドトラックを 1 曲作ります。

| パラメーター | 型 | 説明 |
| --- | --- | --- |
| `production_id` | string | **必須**。プロダクションです。 |
| `prompt` | string | **必須**。ムード、楽器、ジャンルなど、音楽の説明です。最大 2,000 文字です。 |
| `duration` | number | 秒数で、1〜600 です。 |
| `instrumental` | boolean | ボーカルなしにします。 |
| `vocal_gender` | string | 歌い手の声です。 |
| `model` | string | 音楽モデルで、`list_models` から選びます。 |
| `client_request_id` | string | 再試行用のトークンです。 |

## Frequently asked questions

### スタジオのツールのうち、クレジットがかかるのはどれですか？

describe_studio_production、generate_studio_still、generate_studio_keyframe、generate_studio_clip、new_studio_shot_from_frame、voice_studio_shot、revoice_studio_clip、score_studio_production です。プロダクションの読み取り、検証、作成、編集、共有、複製は無料です。

### スタジオの生成ツールがアシスタントに表示されないのはなぜですか？

これらのツールには、workflows:write と workflows:execute の両方が必要です。どちらか一方しか許可していない接続には、どのツールも表示されません。再接続して、両方の権限を許可してください。

### 完成したフレームが、まだプロダクションに入っていないのはなぜですか？

完了したジョブの結果がシーンに反映されるのは、get_studio_production が書き込み権限でプロダクションを読み取ったときだけです。get_job と wait_for_job は状態を報告しますが、結果は反映しません。プロダクションをもう一度読み取ってください。

### 生成する前に料金を確認するにはどうすればよいですか？

generate_studio_still または generate_studio_clip に、dry_run を true にして渡します。ツールはモデルとクレジットを返し、何も開始しません。書き出しの見積もりは plan_studio_export で出せます。
