mcpField
P
Premiere Claude Bridge

Premiere Claude Bridge

ローカル
github.comメディア・デザイン23 日前に更新

Premiere Claude Bridge について

Premiere Claude Bridge は、編集者向けのオープンソース MCP サーバーです。Claude Code や Codex が Premiere Pro と DaVinci Resolve Studio で素材整理、文字起こし、ラフカットを支援し、納品物を検査して編集者が保存した変更も反映します。

主な機能

  1. 01素材ログとオフライン文字起こし
  2. 02台詞や話題による素材検索
  3. 03ラフカット作成と無音部分の除去
  4. 04字幕作成と音量調整
  5. 05ショットの色合わせと LUT 出力
  6. 06カラー・ラウドネス・納品品質の検査

活用シーン

  1. 01ドキュメンタリー素材を整理してショットを探す
  2. 02長時間の録音から短縮版の素材を選ぶ
  3. 03手動編集を後続のレンダリングに反映
  4. 04納品前に映像や音声の問題を検出

MCP 対応

Claude Code、Codex、その他の MCP 対応クライアントを Premiere Pro または DaVinci Resolve Studio に接続します。編集、分析、検査を行う 31 個のツールを提供します。

設定

ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。

インストール方法は未掲載です

このサーバーのパッケージやリモートエンドポイントはまだ取得できていません。プロジェクトの README の手順に従ってください。

リポジトリ
パッケージ
mcpbpremiere-claude-bridge-0.3.0.mcpb0.3.0

ツール

ツール一覧はまだ取得されていません

ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。

詳細

Premiere Pro および DaVinci Resolve 向け AI アシスタントエディター

premiere-claude-bridge は、Claude Code または Codex が自分のプロジェクト内でアシスタントエディターの作業を行える、無料のオープンソース MCP サーバーです。普段の言葉で指示するだけで、素材をログに記録し、音声を書き起こし、タイムラインにラフカットを配置し、納品前に結果をチェックします。

License: MIT MCP Status: Beta PRs Welcome

Premiere Pro および DaVinci Resolve 向け AI アシスタントエディター

一文でインストール

Claude Code を開き(Claude デスクトップアプリの Code タブでも使えます)、次の内容を送信します。

Install premiere-claude-bridge from github.com/koptsev63/premiere-claude-bridge following its README, and take me to the green "Connected" label in Premiere.

Claude がリポジトリをクローンし、すべてをセットアップして、Premiere を再起動するタイミングを知らせます。その後:

  1. Premiere で ウィンドウ → エクステンション → Claude Bridge を開きます。パネルに「Claude に接続済み」と表示されます。
  2. 新しいチャットを開始して、「Premiere への接続を確認して」と依頼します。
  3. 編集中は、その Claude セッションを開いたままにします。

DaVinci Resolve Studio ではパネルはありません。環境設定 → システム → 一般 → 外部スクリプティングの使用をローカルに設定し、Resolve を再起動して、プロジェクトを Resolve 用にセットアップするよう Claude に依頼します。

Premiere Pro 2024 以降、または DaVinci Resolve Studio と、Claude または Codex のサブスクリプションが必要です。macOS でテスト済みです。Windows 向けのインストール手順もありますが、まだ動作確認した人はいません。手動で作業したい場合は、手動インストールをご覧ください。

依頼できること

素材を整理する

  • 素材フォルダー全体を確認してログを作成します。ショットに何が映っているか、動きや音声がどこにあるか、手ブレや傾きのあるクリップを記録します。各クリップのフレームストリップ付きの一覧が1ページにまとまります。
  • ロシア語、英語、ハンガリー語など、さまざまな言語の音声をオフラインで書き起こし、聞き間違えた可能性のある単語にフラグを付けます。
  • 言葉を手がかりに素材を検索します。登場人物のセリフ、トピック、「夜の長い独白」などを探せます。

カットを組み立てる

  • テイクを順番にタイムラインに配置し、ストーリーのビートに印を付けます。
  • 間や無音部分をカットします。
  • 長時間の録音から短縮版に使う最も印象的な場面を選びます。
  • 同じ素材から、比較できる対照的なラフカットを2つ作成します。
  • 手作業で作ったカットのバリエーションを作成します。シーンを削除したり、ブロックを挿入したり、他のすべてのフレームの位置を維持したりできます。

サウンドと字幕

  • 音楽をセリフに合わせて下げ、テイク同士の音量をそろえます。
  • SRT 形式の字幕と、映像に焼き込んだ字幕を出力します。

カラー調整とカラーグレーダーへの引き継ぎ

  • カメラ、AI 生成、ドローンのショットを、ショットごとに共通の色調に合わせます。その後、3種類のルックを LUT として作成し、ffmpeg でレンダリングします。
  • エディターの Resolve .drt からカラーグレーディング用の「コルバサ」を作成します。すべてのショットをカメラのオリジナル素材に再リンクし、グレーディングを削除して、ProRes 422 HQ で出力します。80ショット中1ショットでもエディターのカットと一致しない場合は、レンダリング前に停止します。

納品前に確認する

  • ハイライトの白飛びや肌の赤みがあるグレード、または違いが見えないグレードは受け付けません。
  • 縦横比の誤り、エッジの手ブレ、音声のないファイルは受け付けません。

あなたの操作に追従します。 カットを移動し、キャプションを入力し直し、プロジェクトを保存してください。保存された .prproj を読み込み、以後はそのバージョンを基に作業します。

作品のセンスはありません。判断はあなたに任せ、ログの作成、整理、確認を引き受けます。

エディターの声

「あなたの手順どおりに問題なくすべてインストールできました。唯一つまずいたのは、最初の接続の設定です。」

「今のところ、タイムライン上のファイルを基本的に整理する用途にしかアシスタントを使っていません。たとえば、テイクを時系列順に並べたり、何もない部分をカットしたり、といったことです。これらは非常にうまく処理できて、すべてかなり直感的でした。」

Andrey、映像エディター、2026年10月

英語では、「あなたの手順どおりに問題なくすべてインストールできました。唯一つまずいたのは、最初の接続の設定です。」また、「今のところ、タイムライン上のファイルを基本的に整理する用途にしかアシスタントを使っていません。たとえば、テイクを時系列順に並べたり、何もない部分をカットしたり、といったことです。これらは非常にうまく処理できて、すべてかなり直感的でした。」

彼がつまずいた箇所は、上記のステップ 2 です。

0.4 の新機能:誰にも気づかれない間違ったショット

フェスティバルのティーザーを仕上げる、ごく普通の日曜日のことです。エディターは Resolve でプロキシを使って編集し、.drt を送信しました。カラーグレーダーは、4K の S-Log3 カメラオリジナルで同じ編集を再現する必要がありました。読み込み結果は問題なく、長さもフレーム単位で一致していました。それでも、79 ショットのうち 1 つが間違ったままで、3 回もそのまま納品されました。

  1. Resolve が、エディターがヒーローの周りを回り込むショットを使っていた箇所に、群衆のショットを配置しました。
  2. その「修正」では .drt の番号を信頼し、3 番目のショットを入れてしまいました。
  3. エディターがタイムコードを送って、ようやくショットが正しくなりました。

7 秒ごとに 1 フレームを並べたコンタクトシートでは、3 秒のショットを見つけられません。そのため、core/drt_audit.py は編集内容を 2 回読み込みます。1 回目は .drt から、2 回目は NLE が実際に配置した内容から読み込み、クリップごとに比較します。食い違いがある場合は、レンダリングを行いません。両方の読み取り結果を表示し、エディターのタイムコードを求めます。どちらのファイルも正解ではありません。正解を知っているのはエディターです。エディターが逆再生したクリップや再タイミングしたクリップは、In フィールドではなく Resolve の速度マップを使って読み取ります。逆再生の場合は、ソースの順方向の区間としてプルに取り込み、反転して戻すよう注記します。それ以外の速度変更は、エディターのタイムコードが入力されるまで処理を停止します。

同じリリースで、core/shotmatch.py がカメラ、AI、ドローンのショットを 1 つのカラー基準に合わせ、その結果を LUT に焼き込みます。Python ですべてのフレームをグレーディングする場合と比べて、約 60 倍高速です。詳細は CHANGELOG をご覧ください。

デモ

You:    "Open Premiere. Import all .MTS from ~/Desktop/Footage/.
        Create a 1080p25 sequence called 'Rough'. Place clips
        00118 (1-6s), 00149 (4-9s), 00130 (1-5s) on V1 in order.
        Add markers at every emotional beat per Murch's hierarchy."

Claude: ✓ Imported 108 clips into bin '01_Source_MTS'
        ✓ Created Rough — 1920x1080, 25fps, 3 V / 6 A tracks
        ✓ Placed 3 clips on V1, total 14 sec
        ✓ Marked 5 emotional beats: HOOK @0s, COMEDY @5s,
          PIT @8s, BREATH @11s, PAYOFF @13s

→ このプロンプトから実際に出力された結果です。ケーススタディのティーザーを作成した全 12 クリップのカットリストは、examples/grave-stakes-teaser/cutlist_v3.json をご覧ください。

Premiere および Resolve の他の MCP サーバーとの比較

現在、GitHub には Premiere 用の MCP サーバーが約 15 個あり、Resolve 用もいくつかあります。主要なものはこのプロジェクトにない機能に優れているため、ここでは率直に違いを説明します(2026 年 10 月時点で確認)。

他のプロジェクトが優れている点

  • 型付きタイムラインツール。 hetpatel-11/Adobe_Premiere_Pro_MCP と leancoderkavy/premiere-pro-mcp には、エフェクト、キーフレーム、トランジション、マルチカメラ用の型付きツールが何百個も含まれています。ここでは、それらの操作は pr_eval_jsx を介して行います。
  • インストール。 これらには npm パッケージとインストーラーがあります。このリポジトリはクローンとシンボリックリンクです。
  • UXP。 どちらにも UXP プレビューがあります。このパネルは CEP のみです。
  • Resolve の対応範囲。 samuelgursky/davinci-resolve-mcp は Fusion、Fairlight、無料版に対応しています。このプロジェクトでは Resolve Studio が必要で、macOS でテストされています。

他のプロジェクトの README に記載されていない、このプロジェクトの機能

編集内容が反映されます保存済みの .prproj を読み込み、手作業で変更した内容に合わせて、その後のすべてのレンダリングを調整します
実行を拒否するゲート色、ラウドネス、納品のチェックでエラーを発生させ、不適切なファイルの出力を防ぎます
タイムライン作成前の作業素材の自動ログ作成、オフライン文字起こし、無音部分の削除、ラフカット 2 種類、字幕
編集手法Walter Murch の「Rule of Six」を skills/film-editing/SKILL.md 内の判断ルールとして採用しています
1 つの頭脳、2 つの編集ソフト同じカットリストを Premiere または Resolve に送れます
シンプルな構成ツールは 31 個で、そのうち 1 つは最後の手段となる pr_eval_jsx です。何百個ではなく数十個なので、モデルはツールを検索して操作方法を探す必要がありません

Premiere のすべてのボタンを操作できるエージェントが必要なら、主要な MCP サーバーを選んでください。ドキュメンタリー素材向けに、自身の出力をチェックし、手動での変更にも従うアシスタントエディターをお探しなら、このプロジェクトが適しています。

これを作った理由

私は映画監督です(映画祭向け短編作品を制作し、現在は脚本ラボで長編映画 2 作品を開発中です。Doukhobors は TFL Next、Grave Stakes は Cinéfondation に参加しています)。Adobe Premiere をいつもいじっていて、ティーザー 1 本につき 4〜6 時間、デイリー映像をすべて見て、Excel にメモを書き、使うカットをタイムラインにドラッグし、トリミングやタイミング調整をするという、同じ退屈なアシスタントエディターの作業に費やしています。

Adobe 独自の AI ツールも試しました。公式の Creative Cloud コネクターは「Premiere の機能」をうたっていますが、実際に使えるのはデスクトップアプリとは無関係なクラウド動画ツールが 4 つだけです。Adobe 自身のドキュメントにも、タイムスタンプを指定してトリミングするには「Adobe Premiere を使用」と書かれています。そこで、それを実際に行うツールを作りました。

重要なのは、ボタンをランダムにクリックするチャットボットを求めていたわけではない、ということです。編集者のように考えるものが欲しかったのです。そのため、このリポジトリの中核は skills/film-editing/SKILL.md です。Walter Murch の著書 In the Blink of an Eye を、機械が実行できる判断ルールにまとめたものです。AI アシスタントが提案するすべてのカットは、感情 > ストーリー > リズム > 視線の動き > 2D > 3D の順に優先順位を付けます。また、ショットごとに優先順位を上書きできます。

実際の Grave Stakes のティーザーでうまく機能しました。他の監督や編集者にも、ブリッジを一から再実装することなく、同じものを使ってほしいと思いました。

率直な制限事項

このブリッジを使うと、Claude から Premiere を完全にプログラムで操作できます。watch スキルを同梱したことで、これまでの「停止フレームのみ」という制限はほぼ解消されています。残る制限は次のとおりです。

  • サブフレームのタイミング感覚。 Murch レベルの「8 フレーム詰める」という判断には、依然として人間の編集者が必要です。
  • 微細な表情のニュアンス。 フレームと文字起こしで 80% までは到達できますが、残り 20% はセンスが問われます。
  • ゼロからのドラマトゥルギー。 構成は指定する必要があります。このスキルが物語の軸を考案することはありません。

位置付けは、シニアアシスタントエディター+自動化であり、監督のエディターではありません。


開発者向け

手動インストール

前提条件

エージェントを1つ、NLEを1つ選んでください。ブリッジが両者を接続します。

  • エージェント: Claude Code または OpenAI Codex(どちらも MCP に対応しています)、または MCP 互換クライアント
  • NLE: Adobe Premiere Pro 2024+ または DaVinci Resolve Studio(有料の Studio 版です。無料版にはスクリプト API もスタビライザーもありません)。Premiere は macOS/Windows で動作します。Resolve の手順は macOS でテスト済みです。
  • MCP サーバー用の Node.js 20+
  • 分析ツール用の Python 3.11+ + ffmpeg(カメラの揺れと水平線の分析には OpenCV が必要です:pip install opencv-python-headless)

操作は自然な言葉で話しかけるだけです。覚えるコマンドはありません。ターミナルを使うのは初回インストール時だけです。

1. クローンしてインストールする
git clone https://github.com/koptsev63/premiere-claude-bridge.git
cd premiere-claude-bridge
cd mcp-server && npm install && cd ..
2. MCP サーバーを登録する

~/.claude.json(Claude Code)またはクライアントの MCP 設定に追加します。

{
  "mcpServers": {
    "premiere": {
      "command": "node",
      "args": ["/absolute/path/to/premiere-claude-bridge/mcp-server/server.js"]
    }
  }
}
3. CEP パネルを Premiere にインストールする

macOS:

defaults write com.adobe.CSXS.11 PlayerDebugMode 1
defaults write com.adobe.CSXS.12 PlayerDebugMode 1
ln -sf "$(pwd)/cep-extension" \
  ~/Library/Application\ Support/Adobe/CEP/extensions/com.koptsev.claude-bridge

Windows(PowerShell 管理者):

New-ItemProperty -Path "HKCU:\Software\Adobe\CSXS.11" -Name PlayerDebugMode -Value 1 -PropertyType String -Force
New-ItemProperty -Path "HKCU:\Software\Adobe\CSXS.12" -Name PlayerDebugMode -Value 1 -PropertyType String -Force
mklink /D "$env:APPDATA\Adobe\CEP\extensions\com.koptsev.claude-bridge" "$(Get-Location)\cep-extension"

Premiere を再起動し、ウィンドウ → 拡張機能 → Claude Bridge を開いて、緑色の「Connected to Claude」が表示されることを確認します。

初回接続(つまずきやすいポイント)
  1. Claude Code のセッションを開いたままにしてください。 MCP サーバーは Claude セッションの子プロセスとして動作します。セッション(またはデスクトップアプリの Code タブ)を閉じると、パネルは「Disconnected」になります。
  2. インストール後に新しいチャットを開始してください。 セッションの開始時にのみ MCP サーバーが読み込まれるため、インストールを行ったチャットでは、まだブリッジを利用できません。
  3. まずヘルスチェックを依頼してください:「pr_status を使ってブリッジを確認してください。」 Premiere のバージョンとプロジェクト名が返信に含まれていれば、すべて正しく接続されています。
4. (任意)分析ツールを有効にする
pip install -U pillow opencv-python-headless openai-whisper
brew install yt-dlp ffmpeg          # macOS
# Linux: sudo apt install ffmpeg && pip install yt-dlp

openai-whisper は /watch 用のオフライン文字起こしバックエンドです。API キーは不要で、ハンガリー語やロシア語などの文字起こしでは、クラウドの whisper-1 よりはるかに高い精度で動作します。

→ インストールとトラブルシューティングの詳細: docs/install.md

ツール(Claude が呼び出せる MCP コマンド)

ツール機能
pr_statusブリッジのヘルスチェック+Premiere のバージョン+アクティブなプロジェクト情報
pr_get_project_infoすべてのビン+プロジェクト項目を一覧表示(参照用の nodeId 付き)
pr_get_active_sequenceシーケンスの寸法、fps、トラック数
pr_list_timelineトラックごとのクリップ情報をすべて出力(イン/アウト、開始/終了、長さ)
pr_get_selectedタイムラインで現在選択されているクリップ
pr_get_playhead / pr_set_playheadCTI の制御
pr_add_marker指定時刻に名前とコメント付きのマーカーを配置
pr_export_ame.epr プリセットを使って Adobe Media Encoder に書き出しをキュー登録(ソースに合わせる。プロキシプリセットは拒否)
pr_import_captions.srt ファイルを一度に 1 つずつ読み込み、ファイルごとにキャプショントラックを作成
pr_list_video_effectsPremiere が認識するエフェクト名(ローカライズされた UI)
pr_add_video_effect英語名またはローカル名でエフェクトを追加し、コンポーネント数で確認
pr_eval_jsxエスケープハッチ — 任意の ExtendScript コードを実行し、最後の式を返す
pr_ping / pr_dialog_check手軽なヘルスチェック。「Premiere はクリック待ちか?」(モーダルウィンドウ検出、0.6)
pr_probe_media / pr_import_mediaコーデックとディスクのチェック(AV1/VP9 は音声のみで読み込まれます)、範囲の H.264 コピー、呼び出しごとに 1 ファイルを読み込み
pr_make_sequenceダイアログなしでクリップ範囲からシーケンスを作成:サイズ、fps、ビン。設定を読み戻して確認
pr_set_motion / pr_set_motion_keyframesクリップのスケール/位置/回転をピクセル単位で設定。ショット切り替え時のホールドキーフレームに対応
pr_add_markers / pr_list_markersマーカーを一括処理し、件数を確認
pr_open_sequences / pr_activate_sequenceタブとアクティブなシーケンス
pr_get_timeline / pr_get_inout任意のシーケンスのクリップを秒単位の境界付きで取得。手動でトリムした後のレンダリング範囲
pr_delete_sequence / pr_move_to_bin / pr_list_bin / pr_save_projectプロジェクトの整理
pr_build_sequences1 つの仕様から複数のシーケンスを作成:読み込み、作成、モーション、キーフレーム、マーカー、オープン

→ ツールの完全なリファレンス+ExtendScript のレシピ: docs/tools.md

0.6 の新機能:クリックなしでシーケンスを作成

1 つのポッドキャストから、Premiere のシーケンスとして縦型ショート動画を 10 本作成する必要がありました(24.10.2026)。問題が 4 つ続けて発生しましたが、現在はすべてブリッジ関数で対処できます。

  • createNewSequence(name, presetId) は「Создать эпизод」ダイアログを開き、ブリッジはタイムアウトで停止しました。pr_make_sequence はダイアログを使わない手順を実行します(項目に対する setInPoint/setOutPoint、createNewSequenceFromClips、getSettings/setSettings)。その後、設定を読み戻します。
  • yt-dlp から取得した AV1 ソースは「正常に」読み込まれましたが、音声しかありませんでした。pr_import_media は最初に ffprobe を実行し、AV1/VP9/VP8/4:4:4 を拒否します。必要な範囲だけを H.264 にコピーする ffmpeg コマンドを提示し(または convert: true で実行し)、空きディスク容量が 2 GB 未満の場合は処理を拒否します。
  • モーダルウィンドウが開くたびに、説明もなくすべてのツールが停止しました。pr_dialog_check(およびタイムアウト時の 0.6 の各ツール)はその違いを判別します。スクリプトスレッドがブロックされていてもパネルのデバッグポートは応答を続け、画面上に追加で表示されているウィンドウの名前が示され、押すべきボタンがロシア語でメッセージに表示されます。
  • モーションキーフレームでは 2 つの誤りがありました。setInterpolationTypeAtKey に 5 を指定するとベジェになり(ホールドは 4)、キーフレームの時刻はメディア時間(inPoint + t)ですが、getValueAtTime は一貫して、使用した任意の基準時間で応答します。この 2 点は API ではなく、フレームを書き出して ffmpeg のプレビューと比較することで判明しました。pr_set_motion_keyframes は時間を変換し、ホールドを設定します。

これらはすべて pk.js のコマンドでもあります(node mcp-server/pk.js make-seq ...)。そのため、MCP パネルを使わないセッションでも同じ操作ができます。受け入れテストでは、10 シーケンスの仕様を指定した pr_build_sequences の実行に 6 秒かかり、すべてのシーケンスについて、タイムライン、Motion の値、マーカー名を読み戻して確認しました。

複数の Claude セッションがポートを奪い合う場合の直接パス

MCP サーバーは 1 つの WebSocket ポート(9876)を所有し、パネルはそのポートを使用しているサーバーインスタンスに接続します。0.5.0 以降は、ツールを呼び出したセッションがポートを引き継ぐため、この方法が必要になることはほとんどありません。それでも、古いブリッジ(0.5.0 より前に起動したもの)がポートを使用している場合や、MCP サーバーをまったく使わずにスクリプトを実行したい場合には役立ちます。

mcp-server/pk.js はそのポートを使用しません。パネル独自の Chromium デバッグエンドポイント(ポート 8088。cep-extension/.debug で宣言され、PlayerDebugMode のインストール手順ですでに有効化されています)に接続し、パネルと同じ方法で evalScript を呼び出します。複数のセッションが同時に使用できます。

node mcp-server/pk.js info                       # version, project, active sequence
node mcp-server/pk.js eval 'app.project.name'    # one ExtendScript expression
node mcp-server/pk.js file build_sequence.jsx    # a whole script
echo 'app.version' | node mcp-server/pk.js eval -
node mcp-server/pk.js status                     # 0.6: health + "is Premiere waiting for a click?"
node mcp-server/pk.js make-seq --name "ПОДКАСТ 01" --file /abs/clip.mp4 --in 10 --out 43.6 --w 1080 --h 1920 --fps 29.97 --bin "ПОДКАСТ шортсы"
node mcp-server/pk.js build --spec spec.json     # many sequences from one spec

引数なしで node mcp-server/pk.js を実行すると、すべての型付きコマンド(probe、import、make-seq、motion、motion-keys、markers、open、activate、timeline、inout、delete-seq、move、ls、build、save)が一覧表示されます。これらは MCP ツールと mcp-server/lib/ops.js を共有しているため、どちらのパスでも動作は同じです。

Node 22 以降では、実行にパッケージは不要です。それより古い Node では、npm install によってすでに mcp-server/ にインストールされた ws を使用します。Premiere を起動し、Claude Bridge パネルを開いておく必要があります。結果は evalScript が返す文字列なので、スクリプトでは return JSON.stringify(...) を指定してください。エージェントには次のように伝えてください。「pr_status がパネル未接続を示す場合は、node mcp-server/pk.js を使ってください」

Resolve 側にも同じ種類のハッチがあり、タイムラインを確認できます。python -m core.adapters.resolve_run exec script.py を実行すると、resolve、project、timeline、mp があらかじめ読み込まれた状態で Python が実行され、still/grab は合成済みのタイムラインフレームを PNG として返します。

納品ループ(実際にカットを出荷する流れ)

レンダリングは納品ではありません。編集者が作品を開き、異議を唱え、カットを動かせる必要があります。そのため、このループはマシンに戻って完結します。

cutlist → sequences in the editor's own project → he edits and saves →
core.prproj reads his version → renders + grade conform to it →
core.colorgate passes it or sends it back
モジュール用途
core/prproj.py保存済みの .prproj を読み込みます。シーケンス、キャプションキュー、映像カットが対象です。レイザーで分割された半分はカットリストと照合して再結合します。変更されていない行は、重なりではなく順序を基準にサイドカーから解決します(トランスクリプトの時間とカットの時間は異なるクロックです)
core/colorgate.py双方向のカラーゲートです。上限側では、クリッピング、過飽和、肌の Cr、ベースに対する彩度を確認します。下限側では平均 CIE ΔE を確認するため、見分けられないルックも不合格になります。assert_ok() は出荷せずに例外を発生させます
core/qc.pyレンダリング済みファイルのジオメトリと残留揺れを検査するゲートに加え、納品の完全性も確認します。正常にデコードできること、規定のサイズとフレームレートであること、音声があることを検証します
core/loudness.pyショット間のレベルをそろえた後、固定ゲインとトゥルーピークリミッターを適用して納品目標に合わせます。ゲートでは、統合 LUFS、トゥルーピーク、ショット間のばらつきを確認します
core/screen_comp.pyスクリーン置き換え機能です。プレート内のスマートフォン、モニター、テレビにクリップを合成し、ECC カメラトラックに追従させます。Rec.709 の入出力を色精度どおりに処理します。ゲートでは、スクリーン外のプレートが変更されずに復元されることを確認します
core/adapters/resolve_run.pyシェルから Resolve を操作します。タイムラインのダンプ、合成済みフレームの PNG 出力(still、grab)、独自スクリプト用の exec を提供します
core/パイプラインのその他の機能です。カットリスト IR、アダプター、字幕、ダッキング、ノイズ除去、ハイライト、ビートが含まれます
# does this grade burn the picture — or is it invisible?
python -m core.colorgate base.mov graded.mp4 --frames 8 --upto 60

# what did the human actually approve in there?
python -m core.prproj "reel.prproj" --srt subs.srt

# even out the takes, hit -14 LUFS / -1 dBTP, and prove it (exit 1 = do not ship)
python -m core.loudness master.mov deliver.mp4 --shots 0,5.6,11.2

# put a clip inside the TV in the shot
python -m core.screen_comp plate.mp4 content.mp4 out.mp4 --config screen.json

スキル

film-editing/

Walter Murch の編集システムを、Claude の判断ルールとしてまとめています。

  • Rule of Six(感情 51% > ストーリー 23% > リズム 10% > 視線の流れ 7% > 2D 5% > 3D 4%)
  • まばたき理論、ミスディレクション、アイデアカット、ペアで夢を見ること、決定的瞬間
  • トレーラー/ティーザー/モンタージュ/インタビュー/タイトルカードのペーシング表
  • ロシア語↔英語の用語対応

ツールも含まれています。

  • tools/analyze_clips.py — フォルダー → HTML コンタクトシート(動き+音声+地平線+ストリップ)
  • tools/horizon_detect.py — 空と地面のセグメンテーション+傾き検出用 Hough フォールバック
watch/ (bradautomates/claude-videoからベンダー提供、MIT)

Claude が実際にクリップを視聴できるようにします。3種類の Whisper バックエンドを使って、30~100枚のフレームとトランスクリプトを抽出します。

  • local(openai-whisper、キー不要、オフライン、無料)— 推奨
  • Groq whisper-large-v3(クラウド、最速、約$0.0002/分)
  • OpenAI whisper-1(クラウド、最遅、約$0.006/分)

クレジットについてはskills/watch/ATTRIBUTION.mdを、統合されたワークフローについてはskills/film-editing/SKILL.md §XIVを参照してください。

アーキテクチャ

Claude が Premiere を操作する仕組み — 3つのプロセス、4つのホップ

docs/architecture.mdを参照してください。注目すべき設計上の選択は次のとおりです。

  • 呼び出し元のセッションがパネルを取得します — Claude または Codex の各セッションはそれぞれ独自のサーバーを起動し、ポート9876を保持できるのは1つだけです。0.5.0以降、ツール呼び出しを受け取ったサーバーは、保持者にポートを解放するよう要求し(同じポート上のHTTP)、バインドしたあと、パネルが再接続するまで待機します。リクエスト処理中の保持者は、処理が完了するまでポートを保持します。ポーリングは行いません。0.5.0以降のブリッジではない保持者には一切触れず、エラーにそのpidを表示します。mcp-server/pk.jsは、引き続きデバッグポート経由でパネルにアクセスします(複数のClaudeセッションがポートを奪い合う場合の直接パス)。
  • ExtendScript用JSONポリフィル — AdobeはES3エンジンにJSONを搭載しませんでした。このポリフィルがないと、型付きツールはすべてJSON.stringifyで失敗します。
  • 自己修復するソケット検索 — CEPパネルの再読み込み後にキャッシュされたpanelSocketが古くなった場合、稼働中のwss.clients[0]を採用します。

これらはすべて、Grave Stakesのケーススタディ中に見つかった実際のバグです。CHANGELOG.mdを参照してください。

ロードマップ

  • v0.1 — MCPブリッジ + film-editingスキル + analyze_clips
  • v0.2 — /watchスキルを同梱、ローカルWhisper、horizon detection v2
  • v0.3 — trailer-bridgeスキルパック — ジャンル別レシピ7種類(アクション、ドラマ、コメディ、ホラー、ドキュメンタリー、スリラー、ロマンス)+ LUTプリセット + 自動レンダリング
  • v0.4 — マルチカム音声同期 — 音声波形の相互相関を使ってカメラアングルを照合し、マルチカムクリップをプログラムで構築
  • v0.5 — 顔・感情検出 — クリップごとにmediapipeを実行 →「このテイクで俳優の感情が最も表れているのはどこですか?」
  • v0.6 — MCP Registryへの公開 — 公式掲載 + 自動リリース用GitHub Action
  • [~] v1.0 - 汎用NLEコア - OpenTimelineIOカットリストを介してPremiereから編集処理を分離。Premiere、DaVinci Resolve(Studio Python API)、Final Cut(FCPXML)を相互に交換可能なバックエンドにします(#6)。基盤はcore/に実装済み:カットリストIR + ロスレスOTIOラウンドトリップ、機能マトリックス、3種類すべてのアダプター、NLEに依存しないレビューループ、672件のテストに合格。ResolveアダプターはResolve Studio 21でエンドツーエンドの動作を確認済みです。 残作業:コンフォーム/プロキシの再リンク、機能プローブ。

→ 担当したい項目がありますか?claimラベルを付けてイシューを作成してください。

「ユニバーサルなNLEコア」は「すべてのエディター向けの同じブリッジ」ではありません

3つのエディターは根本的に異なる方法で統合されるため、v1.0はPremiereブリッジのコピーではなく、アダプター設計です(epic #6)。

  • 編集の中核はNLEに依存しません。 skills/film-editing/(Murchのルール・オブ・シックス)と/watchの知覚レイヤーは、Premiereではなく映像素材とカットについて推論します。これらに変更はありません。
  • カットリストは1つで、OpenTimelineIOで表現します。 カットは一度だけ、OTIOタイムラインとして決定します(Grave Stakesの例にあるcutlist_*.jsonを正式化したものです)。OTIOは業界標準の交換形式です。Resolveは標準で読み書きでき、FCPXMLにはOTIOアダプターがあり、Premiereではこのブリッジを介します。
  • NLEごとのドライバーは薄く、動詞のセットは共通です。 Premiere=既存のCEP/ExtendScriptブリッジ。DaVinci Resolve=公式スクリプティングAPIを使った直接的なPython(Resolve Studioが必要です。無料版では外部スクリプティングが無効になっています)。Final Cut=FCPXMLのラウンドトリップ(ライブ制御ではなく、ファイル交換)。

つまり、決定を一度下せば、どのエディターにも反映できます。生の「AIによるResolveの操作」はすでに競合がひしめいています(複数のMCPサーバーが存在します)。ここでの差別化要因は下層のドライバーではなく、その上にある編集オペレーティングシステムです。

コントリビューション

PR、イシュー、スキルパックを歓迎します。簡単なガイドはCONTRIBUTING.mdをご覧ください。

協力するための簡単な方法:

  • 🐛 インストール手順がご利用のOSで動作しない場合は、イシューを作成してください
  • 🎬 詳しいジャンル(ミュージックビデオ、ポッドキャスト、スポーツ、結婚式など)のSKILL.mdを投稿してください
  • 📺 ご自身のユースケースを60秒のスクリーンキャストに録画してください → READMEにピン留めします
  • 🌐 film-editing SKILL.mdをお使いの言語に翻訳してください

good first issueとhelp wantedのラベルが付いたイシューをご覧ください。

ライセンス

MIT — 詳細はLICENSEをご覧ください。同梱されているskills/watch/もMITライセンスで、著作権者はBradley Bonannoです。詳細はskills/watch/ATTRIBUTION.mdをご覧ください。

ステータス

🟡 ベータ v0.3。 フェスティバル出品予定の実際のドキュメンタリー映像(Grave Stakes、未編集の.MTSクリップ108本、4.4 GB)でエンドツーエンドのテストを実施し、その後、2つ目の制作案件でも最初から最後までテストしました。Premiereで縦型の告知リールを編集し、DaVinci Resolveでコンフォームとカラーグレーディングを行い、上記の納品ワークフローをディレクター自身のプロジェクトファイルで実行しました(2026年8月)。これまでに外部のエディター3人が利用しており、最初の1人は2026年10月に自分でインストールしました。

インストールで困っていますか? バグを見つけましたか? こちらでイシューまたはディスカッションを作成してください。最新情報はTelegramチャンネル@koptsev_AI(ロシア語)でお知らせします。

作者: Vladimir Koptsev — 映画監督、バルセロナ。TG @koptsev_AI · [email protected]

  • core/hits.py - 音楽のアクセント(大きな音)と、2フレームの許容範囲を設けた「アクセントに合わせてカット」の検証。core/xmeml.py - カットリストからPremiere用のFCP7 XMLを書き出します(0.5.1)。

コメント

MCP は初めてですか?

プロトコルの概要から最初のサーバーの導入まで、よくある疑問にまとめて答えます。

AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。