mcpField
T
tella-auto-layouts

tella-auto-layouts

github.com/tellahqクリエイティブ・メディア253 回インストール5 日前に更新
リポジトリ

tella-auto-layouts について

tella-auto-layoutsは、Tellaの動画クリップを分析し、発話内容や画面上の動きに合わせたレイアウトを適用するスキルです。既存の基本レイアウトを保ちながら、動画編集者が意図のある切り替えを加え、他の編集内容には手を加えません。

主な機能

  1. 01文字起こし、カーソルイベント、フレームを確認
  2. 02基本レイアウトと必要な変更を選定
  3. 03レイアウト編集を適用して確認
  4. 04既存のメディア付きレイアウトを維持
  5. 05カット、ズーム、オーバーレイ、字幕は変更しない

活用シーン

  1. 01画面中心の製品デモにレイアウトを設定
  2. 02プレゼン中の話者の反応を強調
  3. 03メニュー、コード、画面上の結果に注目
  4. 04既存のBロールを保ってレイアウトを調整

MCP 対応

Tella MCPを使ってクリップのタイムライン、文字起こし、イベント、フレームを確認し、レイアウト編集を適用・検証します。

インストール

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

$npx skills add https://github.com/tellahq/skills --skill tella-auto-layouts

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

同梱ファイルagents/openai.yaml

詳細

Tella クリップの自動レイアウト

トランスクリプト、カーソルデータ、フレームをもとに、クリップで何が起きているかを把握します。視聴者がほとんどの時間に見るべきレイアウトを選び、場面がよりわかりやすくなったり、印象に残りやすくなったりする場合にのみレイアウトを切り替えます。その後、適用して結果を確認します。

このスキルには Tella MCP が必要です。get_timeline などのツールが見つからない場合は、まず tella スキルの接続手順に従ってください。

対象範囲

自動レイアウトは直接実行する操作です。レイアウトを適用してから、実施内容を報告します。事前に承認を求めないでください。ユーザーは元に戻したり、変更を依頼したりできます。どのクリップを指しているのか判断できない場合に限り、質問してください。

クリップの既存のレイアウト変更は置き換えます。Bロールの media を含むレイアウトは維持し、それを踏まえて計画してください。カット、ズーム、オーバーレイ、キャプションは変更しないでください。ユーザーがBロールを依頼した場合に限り、生成したBロール(generate_image、続いて media を指定した add_layout)を追加してください。

ユーザーがスタイル(製品デモ、チュートリアル、プレゼンテーション、イントロ/アウトロのみ)を指定したり、指示を出したりした場合は、以下の内容よりもそれらを優先してください。

ワークフロー

  1. クリップを確認します。 get_timeline では、クリップの ID、再生時間、layoutSceneType がわかります。list_layouts では、クリップのベースレイアウト(cameraStyle、popOut、crop を含む)とセクションがわかります。followsBase: true のセクションにはベースレイアウトが表示され、そうでないセクションには現在のレイアウト変更が表示されます。ベースレイアウトの見た目はユーザーが選んだものです。ユーザーが別の見た目を求めていない限り、カメラスタイル、ポップアウト、カメラの形状、クロップは維持してください。list_saved_layouts ではユーザーのお気に入りレイアウトがわかります。ここで使用できるのは、sceneType がクリップの layoutSceneType と一致するもの(カスタムレイアウトの場合は、さらに canvasRatio が動画と一致するもの)だけです。
  2. 何が起きているかを把握します。 発言内容とそのタイミングは get_transcript で確認します。types: ["clicks"] を指定した get_mouse_events では、画面上で操作されている場所がわかります。クリップに対する get_storyboard では、画面に表示されているものと、その変化のタイミングがわかります。クリップ全体を区間ごとに確認し(デフォルトは 80 秒で、長いクリップでは区間を広げます)、何かが変化する箇所をさらに絞り込んでください。get_clip_frame でフレームを確認し、話者の向きとカメラに映る範囲を見ます。レンダリングされたフレームには、左右反転も含め、視聴者から見たカメラ映像が表示されます。
  3. 以下のガイダンスに基づいて編集を決めます。 ベースレイアウトを決めた後、変更する価値のある場面を理由とともに短く列挙します。
  4. 編集を適用します。 ベースレイアウトがお気に入りの場合は、最初に範囲を指定せず apply_saved_layout を実行します。その後、apply_video_edits を 1 回呼び出します。古いレイアウト変更ごとに remove_layout を指定します(followsBase: false のセクションだけが対象です。followsBase: true のセクションにはすでにベースレイアウトが表示されており、削除できません)。ベースレイアウトを変更する場合は base に対して update_layout を指定し、変更ごとに add_layout を 1 つ指定します。カメラを映す変更にはすべて、ベースの cameraStyle と popOut を指定してください。新しいレイアウトにはこれらが引き継がれないためです。apply_video_edits ではクロップを設定できません。そのため、ベースに独自のクロップがある場合は、バッチ処理の後に list_layouts を実行し、画面を表示し、ベースとは異なる crop が報告された新しいレイアウトごとに、ベースの crop を指定して update_layout を呼び出します。お気に入りを使う変更はバッチ処理に含められません。それぞれに対して apply_saved_layout を範囲指定付きで適用し、その後、異なる場合はベースの cameraStyle、popOut、crop を update_layout で設定します。list_layouts で kind: custom となっているカスタムのお気に入りでは、cameraStyle は受け付けられません。代わりに layout: {kind: "custom", presentation: {shape}} を指定してカメラの形状を設定してください。これによりジオメトリが維持されます(形状にはベースの cameraStyle と同じ値を指定します)。crop は別の update_layout で指定します。タイミングはクリップの再生タイムライン上の ms 単位で、トランスクリプトと同じです。各変更は 200 ms 以上の長さにしてください。
  5. 確認します。 その list_layouts を使い、ベースレイアウトと、特に重要な変更の中間地点で get_clip_frame を実行します。テキスト、カーソル、メニュー、結果にカメラが重なっている場合や、変更が意図した言葉とずれた場合は修正してください。
  6. 数行で報告します。 ベースレイアウト、各変更のタイミングと理由、意図的に変更しなかった内容を報告します。

視聴者に見せるもの

常に、視聴者が何を見るべきかを考えてください。

  • 何かが起きているときや、何かが指し示されているときは、画面を見せます。クリック、入力、メニュー、表示された結果、スライドの切り替え、コード、グラフ、画面に表示されているものについての発言(「これ」「ここ」「ご覧のとおり」など)が該当します。こうした場面では画面を隠さないでください。
  • 画面が静止している、または重要でないときの挨拶、つかみ、意見、リアクション、ジョーク、要点、締めくくりでは、話者を見せます。
  • それ以外のほとんどの場面では、両方を見せます。これがベースレイアウトの役割です。
ベースレイアウト

ベースレイアウトはホームショットであり、クリップの大部分を占めます。クリップ全体に適したものを選びます。

  • 画面中心のデモやチュートリアル:画面を最も覆わない隅に、サイズ M の camera-bubble を配置します。
  • スピーカーがスライドと同じくらい重要な講演、ピッチ、振り返り:side-by-side(overlap または regular)か tv-presenter を使います。
  • クリップにすでに意図的なベースレイアウト(カメラスタイル、ポップアウト、切り抜き表示のプレゼンター、カスタムレイアウト)がある場合は、それを維持して変更だけを追加します。
  • そうでない場合、クリップのベースに合う Favorite レイアウトがユーザーにあれば、デフォルトではなくそれを使います。お気に入りはユーザー自身のスタイルです。
レイアウトの変更

レイアウトを変更するには、視聴者が実感できる理由が必要です。クリップの大部分はベースレイアウトのままにし、変更の間には間隔を空けます。連続した変更は、全画面カメラショットの後に重要なフレーズへパンチインするなど、意図的な短いシーケンスに限ります。1 分あたり数回、適切な位置で変更すれば十分です。静止画中心のクリップや非常に短いクリップでは、変更が不要な場合もあります。自動レイアウトで最もよくある不満は変更が多すぎることなので、迷ったらベースレイアウトのままにします。例外は Short です。1 分以下の縦型動画では、代わりに tella-short スキルのペースに従います。

MCP の用語で役立つ変更は次のとおりです(各 layoutSceneType で使用できる値は add_layout スキーマに記載されています)。

  • 画面へのフォーカス(screen-only、またはサイズ S に縮小したバブル):情報量の多い UI、コード、設定、または集中して見る必要がある結果。多くの場合 2~8 秒で、詳細を確認している間はさらに長くします。
  • カメラへのカットアウェイ(style: fullscreen の camera-only):画面の動きが少ないときに、人の印象的な瞬間を見せます。通常は 2~5 秒です。
  • パンチイン(punchIn: true の camera-only):カットアウェイや冒頭のフックで、最も強い言葉を強調します。1.5 秒以上、できれば 2~4 秒にします。
  • バブルサイズのアクセント(同じ camera-bubble をサイズ L にしてからベースに戻す):画面も重要なまま、コメントやリアクションを見せます。
  • 分割表示またはプレゼンター表示(side-by-side、tv-presenter):スピーカーとスライドやページの両方が重要な場面で使います。小さな文字やコードには使わないでください。

これらの役割を果たす実用的なお気に入りレイアウトがある場合(画面へのフォーカスには画面中心のお気に入り、カットアウェイにはカメラ中心のお気に入り)、お気に入りを優先します。

冒頭について:最初の文が挨拶や前置きで、画面を見せる必要がない場合は、短いカメラオープニングが効果的です。すでに画面上の内容に言及している場合は、最初のフレームから画面を見せる必要があります。

画面録画のみ、またはカメラ録画のみのクリップでは、切り替え対象がほとんどありません。パンチインやフォーカスの演出を数回にとどめるか、ベースレイアウトのままにします。

配置と視線

スピーカーが顔を向けていない側にカメラを配置し、画面を見るようにします。視聴者から見て左を向いている場合はカメラを右側に配置します(分割表示とプレゼンター表示では position: right、バブルでは右隅)。反対を向いている場合はその逆です。正面を向いている場合は、重要度の低い内容を覆う側を選びます。一度決めたら、位置を安定させます。カメラを動かす前にサイズやレイアウトを変更し、視聴者に必要なものを覆ってしまう場合にのみカメラを移動します。

トランジション

transitionStyle はレイアウトの切り替わり方を設定します。hardCut または spring(アニメーション)を指定します。

  • 根本的に異なる全画面ショット(screen-only から camera-only、およびその逆)間の切り替えと、短いカメラへのカットアウェイには hardCut を使います。
  • バブルサイズの変更、分割表示とプレゼンター表示の変更、パンチインへの段階的な移行には spring を使います。
  • パンチインでは、素早く明確なリズムを作る場合は hardCut、同じ話題を展開させる場合は spring を使います。

変更が終わると、後続レイアウトの transitionStyle で切り替わります。多くの場合、後続レイアウトはベースセクション(followsBase: true)です。全画面カメラに切り替えた後、画面に戻る際にアニメーションが発生してしまう場合は、list_layouts でそのレイアウトを確認し、update_layout を使って hardCut に設定します。

問題が発生した場合

apply_video_edits が失敗した場合、変更は適用されていません。指定された操作を修正して、バッチを再送信してください。呼び出しの結果が不明な場合は、再試行する前に list_layouts を実行し、同じレイアウトを二重に追加しないでください。最初からやり直すには、クリップのレイアウト変更を削除して、プランを再適用してください。

コメント