ロゴポップアップ:指先からロゴが飛び出す効果
ユーザーは通常、技術者ではありません。返信は短く、代わりに作業を行い、コマンドを実行するよう依頼しないでください。
すべてのパスは、このスキルのフォルダ(このSKILL.mdが置かれているフォルダ)からの相対パスです。コマンドではその絶対パスを使用してください。以下のPYは、このフォルダ内の.venv/bin/python(Windowsでは.venv\Scripts\python.exe)を意味します。
1. 初回実行:セットアップ(一度だけ)
bash scripts/setup.shを実行します。完了するとREADYと表示されます(初回は1~3分かかります)。
NEED_FFMPEG:FFmpegをインストールし(Mac:brew install ffmpeg、Windows:winget install ffmpeg)、再度セットアップを実行します。NEED_PYTHON:Python 3.12をインストールし(Mac:brew install [email protected]、Windows:winget install Python.Python.3.12)、再度セットアップを実行します。
2. 指の動きと発言の検出
両方の処理を動画に対して実行します。
PY scripts/track.py <video>:手を追跡し、<video>.hands.jsonを保存して、指を指している区間(指が立てられている時間)を出力します。PY scripts/words.py <video>:各単語が発声された時刻を出力します。
各区間を、その区間内またはその近くで話し手が名付けたブランド名と照合します。Whisperはブランド名を誤認識することがよくあります。「cloud」は通常Claude、「codecs」はCodex、「croc」/「grok」はGrok、「chat GPT」はChatGPT、「Gemini」、「cursor」はCursorです。ユーザーが既に使用するロゴを指定している場合は、それらを指の順序に従って使用します。 発言にブランド名が含まれておらず、ユーザーも指定していない場合は、短い質問を1つ行います:「どのロゴを、どの順番で表示しますか?」
3. 計画ファイルの作成
動画と同じ場所に<video-name>_logos.jsonとして保存します。
{"pops": [
{"logo": "claude", "start": 1.12, "end": 1.85},
{"logo": "codex", "start": 2.10, "end": 3.05},
{"logo": "grok", "start": 3.45, "end": 4.50}
]}
start:手が静止した後の一拍(区間の開始時)か、対応する単語が発声された時刻の、遅い方。end:指が下がるか、次のポップが始まる時刻。各ポップは0.7~1.2秒が最適です。ポップ同士が重ならないようにしてください。logo:下記のプリセット名、lobehub.com/icons のアイコン名(例:notion、figma、vercel;<name>-colorを優先的に試します)、またはユーザーが指定したPNG/SVGへのパス。
ポップごとのオプション(すべて任意):
| key | 説明 | デフォルト値 |
|---|---|---|
label | アイコン下のピル内のテキスト。""で非表示 | ブランド名 |
bg | タイルの色(16進数) | プリセット、それ以外は白 |
fg | 単色SVGロゴの色 | 暗いタイルでは白、明るいタイルでは黒 |
accent | ポップリングの色 | プリセット、それ以外はロゴの色 |
size | タイルの幅(動画の幅に対する比率) | 0.24 |
logo_scale | タイル内のロゴサイズ | 0.66 |
gap | 指先からアイコンまでの距離(タイルサイズ単位) | 0.85 |
nudge | 追加の [x, y] オフセット(幅に対する比率) | [0, 0] |
avoid_face | 顔を覆う場合に自動で上にずらす | true |
burst | ポップ時のリングとスパークエフェクト | true |
プリセット:claude、anthropic、codex、openai、chatgpt、grok、gemini、cursor、perplexity、deepseek、copilot、mistral、meta。
4. 確認、そしてレンダリング
- まず静止画で確認(高速):
PY scripts/render.py <plan.json> <video> <folder>/check.png --still 1.5,2.6,4.0のように、各ポップの中間の時刻を指定します。生成されたPNGファイルを確認し、顔を覆っていないか、端で切れていないか、指から離れすぎていないか(gap、nudge、size、タイミング)を修正します。 - レンダリング:
PY scripts/render.py <plan.json> <video> <video-name>_logos.mp4。出力はH.264 MP4、幅1080、同じfps、元の音声を保持。 - 出力ファイルの場所をユーザーに伝え、公開前に確認するよう促します。
ルール
- 決して顔を覆わないでください。顔回避はデフォルトで有効ですが、静止画でも確認してください。
- 1回の指さしにつき1つのロゴ。同じブランドに2回指をさした場合は、2つのポップを使用します。
- ロゴは各所有者の商標です。本ツールは解説やレビュー目的で使用します。ユーザーが要求しない限り、話し手が言及していないロゴを追加しないでください。