mcpField
O
open-edit

open-edit

github.com/veedstudioクリエイティブ・メディア1.7k1.2k 回インストール3 週間前に更新
リポジトリ

open-edit について

open-edit は、HTML ページとして制作した映像をレンダリングするコマンドラインツールです。編集可能な状態で作品を管理したい制作者向けに、文字起こし、カット編集、音声、素材処理、VEED への引き継ぎ機能も備えています。

主な機能

  1. 01HTML ページを動画にレンダリング
  2. 02変更箇所のみ再レンダリング
  3. 03動画フレームと画像一覧の確認
  4. 04文字起こしとクリップ編集
  5. 05音声のミックスと結合
  6. 06VEED プロジェクトへの引き継ぎ

活用シーン

  1. 01HTML と素材から動画を制作
  2. 02編集箇所だけを再レンダリング
  3. 03文字起こしとショットの並べ替え
  4. 04レンダリング済み動画に音声を追加

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/veedstudio/open-edit --skill open-edit

インストール後、Claude Code で/open-editを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

CUT.md
FABRIC.md
TRANSCRIPTION.md
VEED.md

詳細

open-edit

HTML ページとして自分で作品を作成し、render でレンダリングします。OpenEdit は、素のシェルにはない機能を提供します。1 回のログインで利用できる VEED のホストサービス、カットや音声用の計測ツール、変更した区間だけを再レンダリングするレンダラーです。以下の openedit は npx @veedstudio/openedit-cli の短縮形です。すべてのコマンドで --help を使ってフラグを確認できます。

セットアップ

最初のコマンドを実行する前に、ワークスペースごとに 1 回実行します。WORKSPACE は現在のプロジェクトルート、またはプロジェクト外の場合は現在のディレクトリです。

npx --yes @veedstudio/openedit-cli init --dry --workspace "$WORKSPACE"
npx --yes @veedstudio/openedit-cli init --workspace "$WORKSPACE"

終了コードではなく、最後の preflight: 行を確認してください。ready — OPEN_EDIT_ROOT=… と表示されていれば準備完了です。runs/ と記録された設定は、そのルートの下にあります。init に APPROVAL REQUIRED と表示された場合は、実行する操作を一つずつ正確にユーザーに伝え、明示的な許可を待ってから、もう一度 --auto-approve を付けて実行してください。最後の行に、ユーザーがインストールコマンドを実行すると表示された場合、--auto-approve ではそのコマンドを実行できません。ユーザーにそのコマンドを伝え、実行完了後に init をもう一度実行してください。許可を得ずにマシン全体に何かをインストールしてはいけません。また、レンダリングの依頼から許可を推測してはいけません。コマンドに update available と表示された場合は、1 回だけユーザーに伝えてください。ユーザーが許可した後に限り、表示された init --update コマンドを実行します。ユーザーが許可しない場合は、再度尋ねずに続行してください。

作品ごとに 1 つのフォルダー

作品を構成するすべてのものを runs/<key>/ の下にまとめます。ページ、アセット、レンダリング結果、音声が含まれます。コードが編集対象です。このフォルダーがあれば、ユーザーは後から戻って 1 つのシーンを変更したり、別の動画に作品を再利用したりできます。そのため、必要なものをほかの場所に置いてはいけません。

ツール

必要なものコマンド
単語ごとの正確なタイムスタンプ付き文字起こしtranscribe <video> [...] は $OPEN_EDIT_ROOT/.open-edit-prefs.json に記録されたプロバイダーを実行します。記録がない場合(コマンドは実行を拒否してその旨を表示します)、"No VEED login found" と表示された場合、または実行に失敗した場合は、まず TRANSCRIPTION.md を読んでください
テイクの削除、並べ替え、結合CUT.md(speech-probe、apply-edl、retime-transcript)を読んでください
縦横比の異なるクリップ全体の結合concat-videos(再エンコードして、30 fps の 1 つのキャンバスにします)
動画、ページ、または大量の画像の確認frames <video> --at <sec,...> --sheet(指定した時点の一覧。参照画像のフォルダーには --images)、render --stills
被写体を背景から切り抜くbackground-removal(無料の VEED の方法です。実行できない場合、コマンドは fal の料金を表示して停止します。購入する場合にのみ --fal を指定してください)
台本を話すプレゼンターFabric:まず FABRIC.md を読んでください
顔に新しい音声を合わせるlipsync
任意の fal モデル:画像、動画、音楽、音声、効果音fal schema <model> の後に fal run <model> --input <json or @file> --run runs/<key>(複数の場合は --batch <jobs.json>)。入力内のローカルファイルは自動的にアップロードされます
Web フォントをローカルファイルとして取得fonts <Family> [...] --out <dir>
ライセンス済みの実写真stills search、stills show、stills save
複数の素材から 1 つのサウンドトラックを作成mix-audio runs/<key>(音声トラックに合わせて BGM の音量が下がります。仕様は mix-audio --help を参照してください)
納品時のラウドネスでレンダリング結果に音声を付けるmux-audio --video <render> --audio <source clip or built track> --out <file>
ユーザーが変更できる VEED エディター内の作品、または VEED から持ち込んだプロジェクトVEED.md(veed-project、veed-pull)を読んでください

Fabric、背景除去、lipsync、veed-project は、VEED の文字起こしログインを再利用します。同じ veed.io アカウントと保存済みトークンを使うため、2 回目のサインインは不要です。エディターへの引き渡しに使うブックマークは、ブラウザーでユーザー自身の VEED セッション内で実行されます。background-removal --fal に VEED ログインは必要ありません。

レンダリング

openedit render runs/<key>/index.html --out runs/<key>/out.mp4 --fps <fps> --duration <seconds>

キャンバスにはページの #stage(または [data-stage])要素を使用し、その要素自体のサイズでキャプチャします。該当する要素がない場合は、1920x1080 になります。--width/--height を指定すると、ページの左上からそのサイズ分をキャプチャし、ステージは無視します。映像がある場合、キャンバスとフレームレートにはソース自体の値を使用し、frames には両方が表示されます。30000/1001 などの frameRate を --fps に渡してください。隣にある小数値は使わないでください。

  • 時間はレンダラーが管理します。仮想クロック(performance.now、Date.now、requestAnimationFrame、タイマー、シード値を指定した Math.random)を動かし、すべての CSS アニメーションと Web Animations アニメーションを各フレームの時刻に設定し、GSAP のグローバルタイムラインをシークします。時間経過で動くものはすべて window.__seek(t) に記述してください(非同期でもかまいません)。
  • 最初のフレームの前にフォント、画像、動画の読み込みを待ち、各 <video> を正確なフレームに表示します。フォントとアセットはページと同じ場所にファイルとして置いてください。
  • --from <s> --to <s> を指定すると、その区間だけを再レンダリングし、それ以外は再利用します。変更後は全体ではなく、変更した部分だけを再レンダリングしてください。
  • --stills 0.5,2,4 --sheet <file> を指定すると、全体をレンダリングせずに各時点を確認できます。--transparent を指定するとアルファチャンネルが付きます。
  • ページエラー、空白のレンダリング、Chrome の起動失敗は明確に報告されます。表示された理由を確認してください。失敗として表示された読み込み(動画、画像、フォント)があればレンダリングに誤りがあります。修正してから再レンダリングし、納品してください。
  • 出力は無音です。音声は mux-audio で重ねてください(複数の断片からなるトラックは、先に mix-audio で作成します)。

映像がない場合

ユーザーが動画を添付していない場合、動画が必要だと決めつけず、依頼内容を読んでください。

  • クリップが届く予定の場合:届くまで待ちます。
  • 台本に基づくトーキングヘッド動画の場合:FABRIC.md に従って Fabric を使用します。
  • 別のモデルで作成したクリップ(fal 上のもの、ユーザー自身の API キーと料金を使うもの)の場合:クリップの音声から字幕を文字起こしすること、そして大半の生成サービスでは無音のクリップが返されることを同時に伝えてください。
  • 動画を使わない場合:静止画、グラフィック、生成画像、音声から作成します。これも一連の作業として扱います。

どれに当たるか不明な場合は、確認してください。

料金

  • VEED の文字起こしでは、1 つのワークスペースの VEED 文字起こしクレジットを消費します。複数のワークスペースがあるアカウントでは、CLI は自動で選択しません。ユーザーが選んだものを --workspace で指定してください。
  • Fabric では、選択したワークスペースの AI Playground クレジットを消費します。Fabric の 3 つの手順については FABRIC.md を確認してください。
  • fal の呼び出し(fal run、lipsync、background-removal --fal または --fast)ごとに、ユーザー自身の fal アカウントに料金が発生します。 最初の有料呼び出しの前に、何を作成するかと料金を一行で伝え、ユーザーの返答を待ってください。背景除去のデフォルトの方法は無料です。
  • 納品時に、どのアカウントで何にいくら使ったかを報告してください。

ユーザーへの対応

開始時は一行だけ伝え、その後、成果物のパスと結果について一、二文で説明してください。進捗を段階ごとに報告したり、内部情報(実行キー、コマンド名、生のツール出力)を伝えたりしないでください。結果に関する注意点(タイミング情報のない文字起こしなど)は、平易な言葉で伝えてください。作業を中止しなければならない場合は、画面上で何が問題なのか、どのような選択肢があるのかを平易な言葉で説明してください。

コメント