captions-overlay について
captions-overlayは、字幕や強調語を映像に重ねる方法を定めた動画字幕スキルです。エージェントが作る動画を対象に、読める逐語字幕と、被写体の背後に合成する希少な強調語を区別し、画面全体の構図を保ちます。
主な機能
- 01発話をdrop、rail、embedに分類
- 02逐語字幕を下部のrailに表示
- 03強調のピークに限りembedを使用
- 04字幕を画面全体に重ねる
- 05構図を真の垂直中央に配置
- 06字幕の読みやすさを視覚的に評価
活用シーン
- 01トーク動画や解説動画に字幕を付ける
- 02時折、見出し語を被写体の背後に強調表示
- 03字幕用の帯を確保せずに動画を構成
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ heygen-com/ hyperframes --skill captions-overlayインストール後、Claude Code で/captions-overlayを入力して読み込まれたか確認します。
詳細
キャプションオーバーレイの原則
オーバーレイの原則 — 上流の
/hyperframesスキルのreferences/captions.mdを補足します。その上に適用されるものであり、上流スキルに統合されているとは考えないでください。
ここでは2つの考え方を組み合わせます。1つ目はキャプションモデルです。話されるフレーズはすべて drop、rail、embed のいずれかであり、embed は希少で、価値に見合うピークであって、デフォルトではありません。2つ目はオーバーレイの法則です。キャプションの行は映像の上にオーバーレイとして合成されるものであり、確保された領域ではありません。そのため、キャプションのためにコンテンツを上へずらしたり、場所を「空ける」ために空白帯を残したりしてはいけません。この2つは互いを補強します。キャプションはオーバーレイとして重ねられるため(逐語的な rail は手前に、まれな embed は被写体の背後に配置します)、構図はフレーム全体を保ち、真の垂直方向の中心を基準にします。
キャプションモデル — drop / rail / embed
話されるフレーズはすべて、次の3つのいずれかです。
| 内容 | 表示方法 | |
|---|---|---|
| drop | フィラー — um/uh、どもり、言い直し | 表示しない |
| rail | デフォルト — 通常の話し言葉の内容(逐語) | すっきりしたローワーサードの字幕を、手前に読みやすく表示します。強調したい単語は、インラインの emphasis ハイライト(アクセントカラー/アクティブワードの強調表示)にできますが、rail 上に留めます。 |
| embed | 昇格させたピーク — 見出しとなるビート | 大きな単語を1つ、被写体の背後に合成します(マットオクルージョン)。演出を施した登場と退場を加えます。 |
ほとんどのテキストを担うのは rail であり、embed は希少で、価値に見合うピークです — ビートあたり最大1つとし、隣り合うものや同時に見えるものは避け、少なくとも1ビート分の間隔を空けます。短いクリップなら通常は embed を1つ、長い解説動画ならセクションごとにおよそ1つです。すべての単語を embed にするのはよくある間違いです。
これがデフォルトの形式です(rail は逐語的なローワーサード、embed はクライマックスを被写体の背後に合成する形式です)。完全にシネマティックな演出では rail をなくし、すべてを embed スタイルにします。これは完全にシネマティックな要望の場合に限って使い、言葉を読める状態にする必要がある解説動画やボイスオーバーでは使わないでください。
まずrail、embedは控えめに(重要なルール)
- トーキングヘッド/解説動画では、まず
railを使います。 トランスクリプト全体をembedにしないでください。テキストの大半はrailにし、ピークだけをembedにします。すべてをembedにするのはよくある間違いです。 embedは控えめにし、間隔を空けます。 文/ビートあたり最大1つとし、隣り合うものや同時に見えるものは避け、少なくとも1ビート分の間隔を空けます。apexは最大1つです。クライマックスはビートごとのピークであり、「クリップ全体でただ1つの見せ場」ではありません。
オーバーレイの原則 — キャプションは予約済みの帯ではありません
キャプションを有効にした合成動画では、キャプション行は小さく最小限の単語ごとの行で、動画全体の上にオーバーレイレイヤーとして合成されます(キャンバスの高さの下部約5~8%に、画面下部中央揃えで表示される1行のテキストです)。これはオーバーレイであり、予約領域ではありません。
- 構図は垂直方向の真の中央 — y = H / 2 — に配置します(横向きは540、縦向きは960)。キャプション用のスペースを「空ける」ためにコンテンツを上へずらしてはいけません。下部に何もない帯を残し、0.42 × H を中心にした構図は修正ではなく、バグです。
- コンテンツはキャンバスの最下部まで広げてかまいません。画面いっぱいの被写体、レール、背景も問題ありません。
- 控えめな配慮ルールは1つだけです。 キャプション行が表示される画面下部中央の約80pxの範囲には、重要で小さな読み取り可能なテキスト(URLの行、法的な文言、副キャプションなど)を配置しないでください。オーバーレイと干渉する可能性があります。キャプションの下に大きな画像やカード、雰囲気づくりのコンテンツを配置するのは問題ありません。キャプションのスキンは、コンテンツの上に重ねても読み取れるように設計されています。
- 機械的に配置を禁止する仕組みはありません(以前の
captions.mjs keepoutチェックは廃止されています)。スナップショットのレビューでは、キャプションとコンテンツの重なりの読みやすさを目視で評価します。
キャプションを無効にした場合: 配置の自由度は同じです。単にオーバーレイが表示されないだけです。
この2つのルールが1つの原則である理由
このモデルでは、レールは手前にあり、埋め込みはまれな単語を被写体の背後に合成したものです。どちらも、変更せずに配信する映像に追加されるレイヤーです。オーバーレイの原則では、キャプション行は動画全体の上に合成されるレイヤーであり、レイアウトから切り取られた帯ではありません。つまり、キャプションを映像の上に重ねる場合でも、合成動画の上に重ねる場合でも、キャプションは追加するオーバーレイであり、予約する領域ではありません。
- フレーム全体を保ち、真の中央に配置し、コンテンツを端まで広げます。
- レール(または小さなオーバーレイキャプション行)に、逐語的なテキストを表示します。
- 単語を埋め込みにするのは、本当に盛り上がる瞬間だけにします。数を絞り、間隔を空け、同時に2つ表示しないでください。
- 何も予約せず、配置禁止の仕組みではなく、キャプションとコンテンツの重なりの読みやすさを目視で評価します。