# 動画分析

> 最長 10 分の動画や YouTube のリンクを、8 秒以下のシーンに分解します。プロンプトにそのまま使える映像、カメラ、音声の説明と、キャスティングできる人物や場所が得られます。

Source: https://nodaro.ai/ja/docs/nodes/video/video-analysis

**動画分析**（Video Analysis）ノードは、動画を、AI モデルで再現できるシーンごとの説明に分解します。動画を 8 秒以下のシーンに区切り（1 シーンが 1 回の生成に相当します）、各シーンの映像、フレーミング、カメラ、音を説明します。繰り返し登場する人物、オブジェクト、場所は、再利用できる**エンティティスロット**になります。そのため、自分のキャラクター、オブジェクト、ロケーションで、動画をキャスティングし直せます。

- Found in: Video › Analyze
- Output: data
- API type: `video-analysis`

セルフホスティング環境では、ノードに **NODARO** マークが表示され、[Nodaro Cloud への接続](https://nodaro.ai/docs/self-hosting/cloud-connect)を通じて実行されます。料金は、接続先のアカウントに請求されます。接続していない場合、ノードには **nodaro.ai を接続**ボタンが表示され、実行されません。

## 使いどころ
- リファレンス動画を、AI で再現するためのショットごとの計画にしたいとき。
- 動画のキャストを抽出して、自分のキャラクター、オブジェクト、ロケーションで撮り直したいとき。
- 画像ノードや動画ノードに渡すために、プロンプトとしてそのまま使える各シーンの説明がほしいとき。
- 映像に合うサウンドトラックを作るために、各シーンの音のレイヤー（セリフと、音楽や効果音の説明）がほしいとき。

## クイックスタート
### ノードを追加する
キャンバス上で Tab を押し、**動画 › 分析 › 動画分析**を選びます。

### 動画を渡す
[**動画アップロード**（Upload Video）](https://nodaro.ai/docs/nodes/video/upload-video)などの動画ノードを**動画**入力に接続するか、設定パネルの **YouTube の URL** にリンクを貼り付けます。リンクの場合は、パネルに動画の長さが表示されます。この長さで料金が決まります。

### 品質を選ぶ
**分析の品質**を選びます。デフォルトは **Pro** です。必要に応じて、**分析の重点（任意）**に、最も重視する点を書きます。

### 実行して結果を使う
**実行**をクリックします。**テキスト**出力を[**動画生成 Pro**（Generate Video Pro）](https://nodaro.ai/docs/nodes/video/generate-video-pro)などのプロンプトに接続するか、**シーン JSON** 出力を、構造化データを読み込むノードに接続します。

Workflow: リファレンス動画を分析し、AI 監査がその分析を映像と照らし合わせて再確認します。修正されたテキストが、動画生成 Pro を動かします。

- 動画アップロード → 動画分析 (動画)
- 動画アップロード → AI 監査 (動画)
- 動画分析 → AI 監査 (分析)
- AI 監査 → 動画生成 Pro (プロンプト)

## 入力
| 入力 | 接続できるノード | 説明 |
| --- | --- | --- |
| **動画** | 動画アップロード、**動画 URL**（Video URL）、**動画生成**（Generate Video）などの動画ノード | 分析する動画です。**YouTube の URL** が設定されている場合は任意です。接続した動画は、常にリンクより優先されます。 |

## 出力
| 出力 | 渡す内容 |
| --- | --- |
| **シーン JSON** | 構造化データとしての分析全体です。`meta`、`look`、`slots`、`scenes` を含みます。[分析の内容](#what-the-analysis-contains)を参照してください。 |
| **テキスト** | 同じ分析を、プレーンテキストにしたものです。コピーして貼り付けなくても、任意のプロンプト入力やテキスト入力に接続できます。 |

## 設定
| 設定 | 説明 |
| --- | --- |
| **分析の品質** | **スマート**、**Pro**（デフォルト）、**Fast**、**ミックス**、**ミックス（一貫性重視）**のいずれかです。[品質の選び方](#which-quality-to-choose)を参照してください。 |
| **結果の選び方** | **選択**（デフォルト）または**統合**です。動画は複数回分析されます。**選択**は、最も良いパスをそのまま残します。**統合**は、さらに、ほかのパスの詳細を映像と照らし合わせて確認したうえで追加します。少し時間がかかりますが、最も網羅的です。**スマート**では、この設定は無視されます。 |
| **キャストのバリエーション：エンティティごとの別の見た目を検出** | デフォルトはオフです。人物やものの異なる見た目と、それぞれの見た目が登場するシーンも検出します。[外見のバリエーション](#appearance-looks)を参照してください。 |
| **英語に翻訳** | 2 つのチェックボックスで、どちらもデフォルトはオフです。**音声：話したり歌ったりしている内容**と、**画面上のテキスト：看板、字幕、タイトル**です。[出力の言語](#output-language)を参照してください。 |
| **YouTube の URL** | 動画が接続されていないときに分析する、`youtube.com` または `youtu.be` のリンクです。 |
| **分析の重点（任意）** | 分析で注目すべき点を、最大 2,000 文字で書きます。たとえば「商品のショットと画面上のテキスト」です。 |
| **前後のテキスト** | 実行時に、分析の重点の前後に追加されるテキストです。[プロンプトの前後のテキスト](https://nodaro.ai/docs/concepts/prompt-pre-post-text)を参照してください。 |

**分析の重点**が左右するのは注目する点だけで、形式には影響しません。結果の構造、シーンの長さ、フィールドの一覧は変わりません。一般的な分析にするには、空欄のままにします。

![動画分析の設定パネル。「分析の品質」が「Pro」、「結果の選び方」が「統合」に設定され、翻訳の 2 つのチェックボックスがどちらもオンになっています。また、上限の 10 分より長い動画の YouTube の URL が入力されています。](https://nodaro.ai/docs-media/screens/en/nodes/video-analysis/settings.light.webp)

## 品質の選び方
選ぶのはモデルではなく、品質のティアです。各ティアの裏で使う分析モデルは Nodaro が選ぶため、ワークフローを変更しなくても、ティアの品質は時間とともに向上することがあります。

| 分析の品質 | 内容 | 使う場面 |
| --- | --- | --- |
| **Fast** | エコノミーな分析 | 多少の詳細を犠牲にしてでも、価格と速度を優先したいとき。 |
| **Pro**（デフォルト） | シーンとエンティティの、より忠実な分析 | ほとんどの分析。 |
| **ミックス** | 複数の分析パスを組み合わせて、網羅性を最大にした分析 | 網羅性が最も重要なとき。 |
| **ミックス（一貫性重視）** | 同じ計画を、実行ごとの結果が最も安定するように調整したもの | 同じ種類の動画をよく分析し、安定した出力がほしいとき。 |
| **スマート** | 最高の精度。詳細なメインのパスと、複数のエコノミーなパスを組み合わせ、常に仕上げの修正を行います | ショットリストをもとに再生成するとき。 |

どのティアも、動画の各部分を複数回分析し、最も良い結果を残すか、統合します。パスの回数は、Fast と Pro では 3 回、2 つのミックスのティアでは 6 回です。スマートと 2 つのミックスのティアでは、最後に**連続性のレビュー**も行います。このレビューでは、シーンの間で矛盾する記述を修正します。また、続いているはずの状態が抜け落ちているように見える場合は、連続性に関する要注意の警告を出します。たとえば、キャラクターに手錠でつながれたオブジェクトが、後のシーンで消えている場合です。すべての修正と要注意の項目は、結果の警告に一覧表示されます。

## 分析の内容
結果は 4 つの部分からなります。下流のノードも自分のコードも、同じ構造を読み込みます。

### `meta`：ファイルの情報
| フィールド | 内容 |
| --- | --- |
| `durationSec` | 測定した長さ（秒） |
| `width`、`height` | フレームのサイズ（ピクセル） |
| `aspectRatio` | アスペクト比です。差が 3% 以内なら `16:9`、`9:16`、`1:1`、`4:3`、`3:4`、`21:9` のいずれかに丸められます。それ以外の場合は、幅と高さの比を約分したものです。 |
| `title` | わかっている場合は、元の動画のタイトル（YouTube のタイトルなど） |
| `language` | 主に話されている言語です。翻訳の設定にかかわらず、常に映像の言語を表します。 |

### `look`：クリップ全体の映像表現
1 つのショットではなく、作品全体に属する特性です。再生成するすべてのショットで共有できるように、1 回だけ記述されます。どのフィールドも省略されることがあり、分析で読み取れない場合は、この部分全体が省略されます。

| フィールド | 内容 |
| --- | --- |
| `style` | 表現の媒体です。たとえば「live-action photoreal」「2D anime」「stop-motion claymation」「3D render」などです。 |
| `styleId` | 媒体が[**スタイル**（Style）](https://nodaro.ai/docs/nodes/creative-controls/style)ピッカーの項目に当てはまる場合の、対応する項目 |
| `grade` | カラーグレードとパレット |
| `format` | カメラやフィルムのフォーマットとフィルムストックです。たとえば「16mm film grain」です。 |
| `lens` | レンズの特性です。たとえば「wide-angle, shallow depth of field throughout」です。 |
| `lighting` | 全体的なライティングのスタイルです。これと異なるシーンでは、そのシーンで独自のライティングが記述されます。 |
| `genre` | 作品の種類です。たとえば「cinematic trailer」や「talking-head vlog」です。 |
| `influence` | 作品がはっきりと想起させる視覚的な影響元です。[**写真家／アーティストのスタイル**（Photographer / Artist Style）](https://nodaro.ai/docs/nodes/creative-controls/photographer)ピッカーに相当します。スタイルがはっきりと認識できる場合にだけ含まれます。 |

### `slots`：キャスティングできる人物、オブジェクト、場所
繰り返し登場する各エンティティは、1 回だけ抽出されます。そのため、自分のものに置き換えられます。

| フィールド | 内容 |
| --- | --- |
| `slotId` | 安定した ID です。シーンの `visual` テキストの中で、`{slot:hero}` のようなスロットトークンとして使われます。 |
| `label` | 読みやすい名前 |
| `source` | キャスティングに使うアセットの種類です。キャラクター、オブジェクト、ロケーション、クリーチャーのいずれかです。 |
| `role` | 動画の中での役割です。たとえば「narrator」や「hero product」です。 |
| `description` | 完全な見た目の説明です。アセットがキャスティングされていない場合に使われます。 |
| `refImageUrl` | エンティティがはっきりと見える、動画のフレームです。自動で選ばれます。 |
| `variations` | **キャストのバリエーション**がオンのときの、エンティティの別の見た目 |

### `scenes`：ショットごとに 1 エントリー
| フィールド | 内容 |
| --- | --- |
| `sceneNumber` | 動画全体を通して 1 から始まる、シーンの番号 |
| `startSec`、`endSec` | シーンの開始位置と終了位置（秒） |
| `label` | シーンの短いラベル |
| `shotType` | フレーミングのサイズです。Wide、Medium、Medium Close-Up、Close-Up、Extreme Close-Up、または Two-Shot、Insert、Aerial のいずれかです。 |
| `angle` | カメラの位置です。フィールドがない場合は、アイレベルです。下の値の一覧を参照してください。 |
| `camera` | カメラの動きを、自由なテキストで表したものです。たとえば「slow push-in」です。固定ショットの場合は空です。 |
| `speed` | `slow-motion`、`ramp-in`、`ramp-out`、`timelapse`、`freeze`、`reverse` のいずれかです。フィールドがない場合は、通常の速度です。 |
| `effects` | 映像にかかっているエフェクトで、`blur`、`pixelate`、`glitch`、`grain`、`vignette`、`flash`、`distortion`、`double-exposure` のいずれかです。フィールドがない場合は、クリーンな映像です。 |
| `onScreenText` | タイトルや字幕など、映像に焼き込まれたテキストです。元の文字のまま、一字一句そのまま記録されます。 |
| `visual` | スロットトークンを含む映像の説明です。キャスティングし直すときに使います。 |
| `visualResolved` | 同じ説明で、すべてのスロットを書き出したものです。**このフィールドからレンダリングしてください。** |
| `audio` | シーンの音のレイヤーです。下記を参照してください。 |
| `slotRefs` | シーンに登場するスロット |
| `slotVariations` | **キャストのバリエーション**がオンのときに、各スロットがこのシーンでどの見た目をしているか |
| `oversized` | それ以上短く区切れなかったために、シーンが 8 秒を超える場合に含まれます。それでも 1 回の生成です。 |

次のショットへの目に見えるトランジションがある場合は、それも各シーンに記録されます。

**カメラアングル**：`angle` は、`eye-level`、`low`、`high`、`overhead`、`worms-eye`、`dutch`、`over-the-shoulder`、`pov`、`profile`、`from-behind` のいずれかです。カメラに関する 3 つのフィールドは、互いに独立しています。`shotType` は被写体がフレームにどれだけ収まっているか、`angle` はカメラの位置、`camera` はカメラの動きを表します。肩越しのミディアムショットは、`shotType` が Medium、`angle` が over-the-shoulder になります。

**`visual` ではなく `visualResolved` を読む**：`visual` には、後でシーンをキャスティングし直せるように、スロットトークンが残っています。`visualResolved` は、プロンプトとしてそのまま使える完全なテキストで、下流のすべてのノードはこちらを使ってください。

### 音のレイヤー
シーンの `audio` は、同時に鳴る音のリストです。水しぶきの音の上にセリフがあり、その下に BGM が流れている場合は、3 つのレイヤーになります。空のリストは、本当に無音であることを意味します。

| フィールド | 内容 |
| --- | --- |
| `mode` | `speech`、`music`、`sfx` のいずれか |
| `content` | 音声の場合は、話された言葉そのものです。音楽と効果音の場合は、生成にそのまま使える説明です。 |
| `voice` | 音声の場合の、声の特徴です。たとえば「male, warm, conversational」です。 |
| `speakerSlot` | 音声の場合の、画面上の話者のスロットです。分析で判断できる場合に含まれます。 |

- **各セリフは 1 回だけ登場する**：音声のレイヤーをシーンの順に読むと、同じ言葉が 2 回出てくることのないサウンドトラックになります。カットをまたぐセリフはカットの位置で分割され、モンタージュに重なるセリフは、そのセリフが始まるショットに属します。
- **サウンドトラックの歌は音楽として扱う**：画面上の誰も歌っていない歌は、音楽のレイヤーに含まれ、ボーカルもそこで説明されます。音声として扱われるのは、物語の中で話されたり歌われたりする言葉だけです。
- **話者は省略されることがある**：分析で確信が持てない場合、話者が画面に映らないナレーターの場合、話者がスロットのない一度きりの人物の場合、`speakerSlot` は省略されます。

## 外見のバリエーション
**キャストのバリエーション：エンティティごとの別の見た目を検出**をオンにすると、分析は、同じ被写体の異なる見た目を、1 つの説明に平均化せずに区別します。シーン間の単なる着替えも、夢、フラッシュバック、変装、変身、時代の違いと同じように、別の見た目として扱われます。

- **1 つのスロットにつき最大 4 つの見た目**：各見た目には、`dream`、`flashback`、`disguise`、`costume`、`transformation`、`era`、`alt-1` などの ID があります。また、短いラベル、その見た目での被写体の完全な説明、その見た目が映っているフレームも含まれます。
- **どの見た目が使われているかはシーンに記録される**：あるスロットの見た目が指定されていないシーンでは、そのスロットのデフォルトの見た目が使われます。
- **見た目を見つける 2 つの方法**：1 つ目のパスでは、映像を見て、服装、髪型、メイクの変化を探します。2 つ目のパスでは、完成した分析を読んで、「20 年後」のように映像には映っていない見た目を探します。どちらのパスも、スロットの名前を変えたり、シーンのテキストを変更したりはしません。
- **何も黙って消えることはない**：被写体の見た目が上限を超える場合、超えた分の見た目はデフォルトの見た目にまとめられ、そのことが結果に記録されます。

[動画生成 Pro](https://nodaro.ai/docs/nodes/video/generate-video-pro) は、各見た目を、その見た目が登場するシーンの中で一貫させます。

## 出力の言語
**英語に翻訳**のチェックボックスが 2 つともオフの場合、分析は動画の元の言語のままです。音声は一字一句そのまま引用され、画面上のテキストも元の文字のままです。動画をそのまま再現したい場合は、この設定にします。

2 つのチェックボックスはそれぞれ別のものを変えるので、個別にオンにできます。

| チェックボックス | 翻訳されるもの |
| --- | --- |
| **音声：話したり歌ったりしている内容** | 話された言葉と歌われた言葉 |
| **画面上のテキスト：看板、字幕、タイトル** | 映像の中に見えるテキスト |

たとえば、看板は中国語のままの街並みに、英語のナレーションを付けられます。どちらかのチェックボックスをオンにすると、シーンの説明、カメラのメモ、スロットの説明、声のメモも英語で書かれます。

- **名前はそのまま**：ブランド名、商品名、人名、地名は翻訳されません。
- **`language` フィールドは変わらない**：`language` は、常に映像で話されている言語を示します。
- **再現の結果が変わる**：シーンの説明は再生成のプロンプトになるため、翻訳された看板は、新しいショットでは英語でレンダリングされます。
- **元の言葉は残らない**：翻訳が元の言葉に置き換わります。元の言葉が必要な場合は、チェックボックスをオフにして、もう一度実行してください。

**ミュージックビデオ**：デフォルトでは、画面上の誰も歌っていない歌の歌詞は、音楽のレイヤーの中に残ります。歌そのものが作品であるミュージックビデオの場合は、API のリクエストで `musicVideo: true` を、MCP のツールでは `music_video` を設定します。すると、歌われたすべての歌詞が、シーンごとに一字一句そのまま音声として返されます。このオプションは、API と MCP でのみ使えます。

## 長い動画と制限
- **最大の長さ**：どのソースでも 10 分（600 秒）です。この上限は、ノードの実行時と、動画のダウンロード後の 2 回チェックされます。
- **ウィンドウ**：180 秒までの動画は、1 回のパスで分析されます。それより長い動画は、約 150 秒のウィンドウに分けて、5 秒ずつ重ねながら分析されます。その後、番号を振り直した 1 つの連続した結果に統合されます。
- **YouTube**：受け付けるのは `youtube.com` と `youtu.be` のリンクだけです。ライブ配信は拒否されるので、配信が終わってから録画を分析してください。

## クレジット
料金は、**分析の品質**と動画の長さによって決まります。長さは、収まる最小の段階に分類されます。段階は、60 秒まで、180 秒まで、360 秒まで、600 秒までの 4 つです。

| 分析の品質 | 60 秒まで | 180 秒まで | 360 秒まで | 600 秒まで |
| --- | --- | --- | --- | --- |
| [Fast](https://nodaro.ai/docs/models/video/video-analysis-fast) | 181 | 186 | 516 | 849 |
| [Pro](https://nodaro.ai/docs/models/video/video-analysis-pro) | 217 | 233 | 642 | 1,059 |
| [ミックス](https://nodaro.ai/docs/models/video/video-analysis-mixed)とミックス（一貫性重視） | 270 | 292 | 731 | 1,181 |
| [スマート](https://nodaro.ai/docs/models/video/video-analysis-smart) | 414 | 504 | 1,270 | 2,081 |

- **3 秒の余裕**：ダウンロード後、ノードは動画の長さをもう一度測り、3 秒の誤差を許容します。そのため、ちょうど 1 分、3 分、6 分、10 分の動画は、それぞれの段階に収まります。
- **長さが不明な場合**：ノードの実行時に長さを読み取れない場合は、600 秒の段階の料金が確保されます。実際には、長さを読み取れないソースは、その前に拒否されます。
- **ティアによって料金が違う理由**：長い動画ほど多くのウィンドウが必要になり、各ティアはすべてのウィンドウを複数回分析します。ミックスとスマートの料金が高いのは、主にこの繰り返しのパスのためです。

## ヒント
- **まずは Pro で**：多少の詳細を犠牲にできる場合は、Fast に下げると、安く分析できます。
- **分析の重点を使う**：商品のショット、画面上のテキスト、特定のキャラクターなど、再現で重要な点に分析を向けます。
- **クレジットを使う前に分析を確認する**：すべてのシーンを生成する前に、結果を [**AI 監査**（AI Audit）](https://nodaro.ai/docs/nodes/video/ai-audit)に接続します。AI 監査は動画を見直し、映像で裏付けられた部分だけを修正します。
- **`visualResolved` からレンダリングする**：`visual` と `slotRefs` は、独自のキャスティングし直しのステップを作る場合にだけ使います。

## API から
同じ分析を、コードや AI アシスタントからも使えます。完全な結果は、ジョブの出力にも保存されます。ソースは `videoUrl` または `youtubeUrl` で、設定は `llmModel`（品質のティア）、`selectionMode`、`variations`、`translateSpeechToEnglish`、`translateOnScreenTextToEnglish`、`analysisFocus` に対応します。[単体のノードを実行する](https://nodaro.ai/docs/developers/api/nodes)と [MCP ツール](https://nodaro.ai/docs/mcp/tools)を参照してください。

## Frequently asked questions

### 「分析の品質」はどれを選べばよいですか？

デフォルトの「Pro」は、ほとんどの分析に適しています。より安く速く分析するには「Fast」を選んでください。ショットリストをもとに再生成する場合に最高の精度が必要なら「スマート」を、最も網羅的な分析が必要なら「ミックス」を選んでください。

### 動画分析には何クレジットかかりますか？

料金は、「分析の品質」と動画の長さによって決まります。長さの段階は、60 秒まで、180 秒まで、360 秒まで、600 秒までです。たとえば、45 秒の動画は、「Fast」で 181 クレジット、「Pro」で 217 クレジット、「スマート」で 414 クレジットです。

### YouTube の動画を分析できますか？

はい。youtube.com または youtu.be のリンクを「YouTube の URL」に貼り付けます。ライブ配信は拒否されるので、録画が公開されるまで待ってください。ノードに接続した動画は、常にリンクより優先されます。

### 動画の長さは、どれくらいまで対応していますか？

最長 10 分です。3 分までの動画は 1 回のパスで分析されます。それより長い動画は、重なり合うウィンドウに分けて分析され、1 つの結果に統合されます。

### 分析した動画を再現するにはどうすればよいですか？

「テキスト」出力を、動画生成 Pro のプロンプトに接続します。動画生成 Pro の「分析から自動キャスト」オプションは、分析が人物やオブジェクトごとに選んだフレームを使います。そのため、再現した動画でも、元の動画と同じ見た目が保たれます。
