エフェクト: 51種類のビデオエフェクト(by Ray, @raycfu) は何をしますか?
ユーザーは通常、技術に詳しくありません。返信は短くフレンドリーに保ち、代わりに作業を行い、コマンドを自分で実行するよう依頼しないでください。
以下のパスはすべて、このスキルのフォルダ(このSKILL.mdがあるフォルダ)を基準としています。コマンドでは絶対パスを使用してください。
1. 初回実行: セットアップ(一度だけ)
bash scripts/setup.sh を実行します。完了すると READY と表示されます(初回は1〜3分かかります)。
NEED_FFMPEG: ffmpegをインストールします。Macの場合:brew install ffmpeg(brewがない場合は、brew.shからHomebrewをインストールするよう伝えてください)。Windowsの場合:winget install ffmpeg。NEED_PYTHON: Python 3.12をインストール(Mac:brew install [email protected]、Windows:winget install Python.Python.3.12)し、セットアップを再実行します。- Windowsでは、Pythonは
.venv\Scripts\python.exeにあります(.venv/bin/pythonではありません)。 bashがないWindows:py -3.12 -m venv .venvを実行し、次に.venv\Scripts\python.exe -m pip install -r requirements.txtを実行します。オプションで、よりきれいなカットアウトを行うには、https://github.com/PeterL1n/RobustVideoMatting/releases/download/v1.0.0/rvm_mobilenetv3_fp32.onnx をmodels/にダウンロードします。NEED_PYTHON_312: デフォルトのPythonではパッケージをインストールできませんでした。上記の手順でPython 3.12をインストールし、セットアップを再実行します。- TensorFlow Lite、MediaPipe、OpenCVからの無害なログ行(
INFO:、WARNING:、W0000、[ WARN)は正常です。成功を示すのはDone:またはsavedのみです。
2. 動画とエフェクトを取得する
- 動画: ユーザーがファイルをチャットにドラッグするか、パスを指定します。縦長のスマホ動画が最適です。
- エフェクト:
/effects <名前>から、またはユーザーの説明から取得します。ユーザーの言葉を以下の表に照らし合わせます。不明な場合は、リストを表示します。 - ユーザーの名前とハンドル: プロフィールを表示するエフェクト(glass-widgets、comment-box、pastel-word、profile-wall、headline-wallなど)は、デフォルトでRay / @raycfuを使用します。ユーザーに一度だけ名前とハンドルを尋ね、すべてのエフェクトに
nameとhandleを渡します。
3. タイミングを見つける
- 「Xという単語のところ」や「...と言ったとき」と言われた場合は、
.venv/bin/python scripts/words.py <動画>を実行し、その時間を使用します。 - タイミングの指定がない場合は、クリップ全体にエフェクトを適用するか、どの部分かを(簡単な質問で)尋ねます。
- 短いウィンドウが最も見栄えが良くなります: エフェクトあたり1.5〜4秒。
4. ドラフト、確認、レンダリング
- 動画の横に
<動画名>_effects.jsonとして計画を書きます:{"effects": [ {"fx": "orbit", "start": 3.2, "end": 6.0}, {"fx": "backdrop-word", "start": 14.0, "end": 16.3, "text": "CLAUDE"} ]} - 最初にフレームを確認します(高速):
.venv/bin/python scripts/fx.py --plan <plan.json> <動画> <フォルダ>/check.png --still 4.5,15.2を実行し、各エフェクトの中間の時間を使用します。PNGを自分で確認します。テキスト、タイミング、オプションが適切でない場合(顔を覆っている、端で切れている、読みにくい)は修正します。 - レンダリング:
.venv/bin/python scripts/fx.py --plan <plan.json> <動画> <動画名>_effects.mp4を実行します。出力は元の音声を保持します。デフォルトでは1080pでレンダリングされます。4Kの場合は--width 2160を追加します(より遅くなります)。 - ファイルの場所をユーザーに伝えます。投稿する前に確認するよう、一行で注意を促します: ドラフトを作成し、ユーザーが承認します。
単一のエフェクトには計画は不要です: .venv/bin/python scripts/fx.py orbit <動画> <出力.mp4> --start 3 --end 6 --text "..." --opt key=value。
51のエフェクト
| # | fx 名前 | 機能 | オプション(すべて任意) |
|---|---|---|---|
| 1 | noise | あなたの頭の後ろにリールが積み重なります、0.25秒ごとに1つ | images(スクリーンショットまたはクリップのフォルダ)、size |
| 2 | lineup | 番号付きタイルがあなたの頭の上に弧を描いて広がります | text(タイル名を ` |
| 3 | locked-on | コーナーブラケットがあなたの顔にスナップし、カメラが追従します | zoom(デフォルト1.35)、text(タグ) |
| 4 | orbit | あなたのリールが頭の周りを回転します: 前は下、後ろは上 | images、count、speed、size |
| 5 | lean-in | 一つの単語に素早くズームインします | zoom(デフォルト1.45、最大2)、speed |
| 6 | backdrop-word | 巨大な単語があなたの後ろに落ちてきます | text、color(16進数)、font(bold または serif) |
| 7 | spotlight | 照明を消し、あなただけを照らします | text(あなたの後ろに光る単語)、color、push |
| 8 | the-bill | あなたの指示をレシートのように頭の上の壁に印刷します | text(行を ` |
| 9 | moody | ムーディーなカラーグレード | grade(moody、bw、warm、cool、pop) |
| 10 | swipe | ビフォーアフターのスライダーがあなたを横切ります | grade(「アフター」の見た目) |
| 11 | todo | あなたの横にあるチェックリストカードが、話すにつれてチェックを入れていきます | text(アイテムを ` |
| 12 | comment-box | Instagramのコメントバーが単語をタイプして投稿します | text(デフォルト EFFECTS) |
| 13 | tap | フォローボタンがポップアップし、フォロー中に反転します | at(反転する動画の秒数)、x、y(0から1)、color |
| 14 | pause-point | フレームをフリーズし、手描きの矢印であなたを指します | text(ラベル)、color、label_x |
| 15 | uninstall | ノイズの多いアンインストールバーがフレームを破壊します | text |
| 16 | reel-frame | あなたの動画がInstagramリールカードに縮小します | text(ハンドル) |
| 17 | shortcut-rain | キーボードキーがあなたの後ろに降り注ぎます | text(キーを ` |
| 18 | reject-stamp | 大きな赤いスタンプが画面に押されます | text、color、angle、y |
| 19 | countdown-flip | あなたの頭の上で3、2、1のフリップクロック | from |
| 20 | rabbit-hole | フレームがトンネルの中に入り、回転します | ratio、speed、spin |
| 21 | cover-star | あなたが雑誌の表紙になり、タイトルが頭の後ろに | text(タイトル)、lines(` |
| 22 | scribble | マーカーの落書きがあなたの周りに描かれます | text(ラベル)、color |
| 23 | glass-widgets | すりガラスのウィジェットとミニアーティファクトが頭の周りに浮かび、さらに「Edited by Claude」ピル | text(大きな数字)、name、handle、look(simple で3ウィジェット版) |
| 24 | red-collage | 白黒のあなた、後ろに巨大な赤い単語、3行がスラムイン | text(赤い単語)、lines(` |
| 25 | split-headline | 見出しカードがスライドダウンし、あなたを下半分に押し込みます | text(行を ` |
| 26 | pastel-word | ラベンダールーム、あなたの後ろに巨大な単語、プロフィールカードがフォローされます | text、name、handle |
| 27 | check-pills | 方眼紙の部屋、後ろにリールボード、カーソルが青いピルをクリック | text(ピルを ` |
| 28 | timeline | 濃い赤のフィルムグレードと編集タイムライン、RECタイムコード、光るプレイヘッド | text(タイトル)、sub、tc |
| 29 | headline-box | ズームインと2行の見出し、2行目は白いボックス内 | text(行を ` |
| 30 | profile-wall | あなたのリールグリッドが後ろの壁を埋め尽くし、カウンターが増加 | images、count、label |
| 31 | tier-list | ティアリストが現れ、ClaudeがSティアに飛び込みます | title、item、others |
| 32 | broll-split | 上にBロールと値札ステッカー、あなたは下 | images、text(タグ) |
| 33 | phone-fan | あなたのリールが電話の手札のように見出しの下に広がります | images、text(行を ` |
| 34 | dot-reveal | あなたのショットが光るドットから構築され、その後全体像に切り替わります | color、cell |
| 35 | headline-wall | あなた自身の見出しが頭の後ろに積み重なり、その後合計が前にポップアップ | text(`見出し::メタ |
| 36 | checklist | あごの下にClaudeタスクリスト: 各ステップが回転し、緑色にチェック | text(`ステップ::メタ |
| 37 | liquid-glass-graph | あごの下にリキッドグラスカード: 緑のグラフが上昇し、数字がカウントアップ | text(ラベル)、from、to(例 197K、59%)、color |
| 38 | carousel-spin | あなたのリールが3Dカルーセルで周りを回転し、ゆっくり停止します | images、count、size、turns |
| 39 | match-cut | ニュースページが一つの単語でカットされ、頭の後ろの赤いボックスに固定 | text(単語、デフォルト Claude)、color |
| 40 | apple-toggles | あごの下のiPhone設定カードがスイッチをオンに、一行ずつ | text(行を ` |
| 41 | led-sign | 照明が落ち、光るLEDサインがあなたの後ろにタイプアウト | text(行を ` |
| 42 | slow-push | スローなシネマティックプッシュイン、部屋がフォーカスアウト | zoom(デフォルト1.6)、blur |
| 43 | over-the-shoulder-zoom | カメラが上の隅にプッシュイン、透けるリキッドグラスグラフが頭の横にポップ(線が上昇、数字がカウントアップ)、引き、次にもう一方の隅に2番目の関連棒グラフ。あなたの頭は前に残ります | text(2つのラベルを ` |
| 44 | messages | iMessage通知が次々にポップイン、クリーミーなガラスで柔らかな輝き、フレーム下部から積み重なります | text(メッセージを ` |
| 45 | place-in-grid | すりガラスの3x3プロフィールグリッドの中央タイルに縮小、その後8つのリールが周りにポップ、各フレームに1つ、各タイルにInstagramビュー数 | images(リールまたはカバーのフォルダ)、views(9つのカウントを ` |
| 46 | tape-label | あなたのテキストが入った黄色いテープのレベルストリップが胸に置かれ、顔にかからないように | text |
| 47 | select-resize | ハンドル付きの青い選択ボックスが頭の上の数字を掴み、カーソルがそれを大きくドラッグ | text(デフォルト 2X) |
| 48 | wave-trim | 頭の上の暗いパネルがあなたの声を表示; 両端の赤い点線の無音が収縮し、あなたの言葉だけが残る | なし |
| 49 | huge-strike | 一つの巨大なセリフ単語が頭の後ろにワイプイン、その後赤い線がそれを打ち消します | text、at(打ち消しが入るエフェクト開始からの秒数、デフォルト0.6) |
| 50 | crayon-write | 赤いクレヨンがあなたの後ろに単語を書き、下線を引いて飛び去ります | text |
| 51 | fan-build | あなたのリールカバーが頭の後ろに一枚ずつファン状に広がります | images(カバーのフォルダ)、count(デフォルト13) |
名前付きルック(同じエフェクトのより凝ったバージョン; カウントには含まれません):
glitter-spotlight=look=sparkleのspotlight: 部屋が暗くなり、金色の光線が頭の後ろから放射、輝く金色の単語、きらめくスパークル、あなたの周りのグロー。text(単語)、color、push。look=editorialのcover-star: 柔らかく暖かいフィルムルック、頭の後ろにクラシックなセリフマストヘッド、発行行とエレガントなカバーライン。text(マストヘッド)、issue、lines(3行を|で)、right(行を|で)、color、accent、lines_y、right_y。look=bentoのliquid-glass-graph: 上昇するグラフが頭の後ろのスモークガラススクリーンに移動、あなたの前にガラスの弁当タイル(ドーナツ、KPI、バー)。text、from、to、donut(29%::ラベル)、kpi(672K::ラベル)、bars(197|140|124::ラベル)。apple-togglesが今度はあなたの上、頭の後ろに配置され、優しいズーム付き(pos=belowで古いあご下カード;overlap、zoom)。
エイリアスも機能します: bill、to-do、follow、stamp、countdown、cover、rain、pause。
ルール
- 顔を絶対に隠さないでください。すべては人の後ろに行くか、自動的に顔を避けます; チェックフレームでまだ顔にテキストが表示されている場合は、移動させる(
x、y)か、テキストを短くしてください。 - エフェクトはリストされた順序で実行されます。カメラエフェクト(
locked-on、lean-in、spotlight)は、他のエフェクトと重なる場合に最初に配置してください。 - ズームは2倍を超えないようにしてください。動画の鮮明さを保つためです。
- このスキルは視覚効果のみを追加します。効果音やキャプションはユーザーが行います(CapCutが適しています)。
- これらはスターターバージョンです。ユーザーが見たリールと比較した場合は、その点を正直に伝えてください。
追加オプション(Ray版)
これらは実際の映像で見栄えが悪かった点を修正するために、スターターエフェクトに追加されました。他のオプションと同様に渡します(計画では "key": "value"、コマンドラインでは --opt key=value)。
| エフェクト | オプション | 機能 |
|---|---|---|
| 任意のカード/オービットエフェクト | play=1 | images フォルダ内の各動画をカード内で静止画ではなく再生 |
liquid-glass-graph | pos=behind | グラフを胸の上ではなく、頭の後ろの暗いガラス画面に配置 |
liquid-glass-graph | smoke=0.5..0.85 | 透けるリキッドグラスの代わりにダークスモークガラス(体のぼやけたコピーなし) |
liquid-glass-graph、over-the-shoulder-zoom | to=$32,000 | 通貨プレフィックスと千単位の区切りを正しくカウントアップ |
checklist | smoke、scale=0.86、bottom=0.95、guard=0 | 暗く読みやすいカード、小さめ、低い位置に配置して顔に触れないように |
checklist | span=2.9 | チェックが入るまでの秒数。最後のチェックがジェスチャーに合うように |
spotlight | flicker=0、lift=0.8 | ネオンのちらつきオンをオフにする、または単語を下げて頭の一部で覆う |
cover-star | mast_y=0.15 | マストヘッドの高さを固定(よりタイトなクロップと組み合わせて頭で重なるように) |
comment-box | lock=1、avatar_color=#FDB827 | コメントシートを固定、アバターの色を設定(文字は handle から取得) |
カードの前の手: エフェクトをレンダリングし、その後 .venv/bin/python scripts/hands_front.py <元の動画> <エフェクト付き動画> <出力> を実行します。
カットアウト品質: models/rvm_mobilenetv3_fp32.onnx が存在する場合、すべてのエフェクトは人物カットアウトに Robust Video Matting を使用します(髪の毛がきれいに、ちらつきなし)。FX_MATTE=mp を設定すると、元の MediaPipe セグメンターを使用します。