/clip
動画をショートクリップにカットし、リフレームします。字幕はこのスキルの仕事ではありません — カット後、srt スキルがスタイル設定を行います(以下の引き継ぎを参照)。
エントリーポイント
-
明示的なタイムコード(「この動画の 2:00–3:00 をカット」)→ ローカルファイルを直接カット:
--video "<file>" --ranges "2:00-3:00,..."。STT 不要、キー不要、クレジット不要。 -
STT プロジェクトでの AI ハイライト選択 →
--planしてから--clips(以下のフロー)。プロジェクトのトランスクリプトと単語タイムスタンプが必要です。 -
生の動画、「良い瞬間を見つけて」(タイムコードなし)→ トランスクリプトなしではハイライトを選択できないため、ユーザーにどちらを希望するか尋ねてください:
- STT(適切な選択、クレジット消費): 最初に
srtスキルの STT を実行してプロジェクトを作成し、その後--plan/--clipsでクリップします。 - 無料(STT なし): ユーザーがタイムコードを指定し、
--video --rangesでカットします。
ユーザーの選択に従って進めてください。許可なく STT(クレジット消費)を実行しないでください。
- STT(適切な選択、クレジット消費): 最初に
コアルール
- ワーカーのみが生のキーを参照します — 決して開いたり、エコーしたり、引数として渡したりしないでください。
- キー制限は
--project/--plan/--clipsにのみ適用されます。--video --rangesと--sidecarsは完全にオフラインです — これらのためにキーチェックや登録を実行しないでください。 - バックグラウンドで実行 — エンコードに時間がかかります。
- このスキルは吹き替えスキルのライブラリを共有します:
dubbingフォルダーはclipの隣にインストールされている必要があります。
フロー
フェーズ 1 — 計画。 node scripts/clip.mjs --project <seq> --plan は、サマリーのセクションマップ(トピックガイド)と完全な文のトランスクリプトを出力します。各行は order [start-end] text の形式です。
フェーズ 2 — 選択してカット。 トランスクリプトを読み、各クリップを { "title": "...", "start_order": N, "end_order": M } の形式で選択します。評価基準:
- 最初にフック — 注目を集める文(質問、大胆な主張、面白い/驚くような発言)で開始します。
- 最初の完全な文で終わるのではなく、瞬間が解決するところで終了。 ビートの終わりまで続けてください — 反応全体、フォロースルー、および二次的なパンチライン全体。見かけ上の終わりの数文先まで読んでください。それらが同じ反応であれば保持します。
- トランジションでカット — エネルギーが低下したり、トーンが変わったりする直前(興奮した反応 → 落ち着いたナレーション)で終了します。
- ピーク — 面白い/驚くべき/感情的な/引用可能な瞬間を優先。ハイライトは、リテラルな明かしの1〜2文後に来ることが多いです。
- 長さ 30〜90秒 — ワーカーは範囲外の場合に警告します。早期にカットするよりも、完全なアークを優先します。
- タイトル — その瞬間を説明します。ファイル名になります(
01_<title>.mp4)。
セクションはチャプター長です — セクションマップをガイドとしてのみ使用し、フックに絞り込んでください。
実行: node scripts/clip.mjs --project <seq> --clips '<json>' [--out folder](--clips は @path も受け付けます)。横長(16:9)のソースは 9:16(ドラマショートのレターボックス)にリフレームされます。縦長のソースはそのまま保持されます。ワーカーはクリップと clips.json マニフェスト(各クリップと後で字幕に必要なトランスクリプトスライスを記録)を書き込みます。[progress] を中継し、[clips-output] からファイルを提供します。
字幕 → srt スキルへの引き継ぎ
字幕はデフォルトでオフです。カット後、ユーザーにクリップの準備ができたことを伝え、字幕を追加するかどうかを尋ねてください。 ユーザーが字幕を希望する場合、最初にプリセットを表示してください — 決して直接 1 つにジャンプしないでください。 これは srt スキルのスタイル設定フローとまったく同じです: Claude アプリではインタラクティブな ギャラリー(選択 + 適用)、その他の場所では静的な ../srt/assets/style_presets.png + node ../srt/scripts/style.mjs --list-presets メニュー。ユーザーにプリセットを選んでもらうか、スタイルを説明してもらいます(karaoke/bold-punch のようなショートフォームプリセットがクリップに適しています)。ユーザーが選択した後にのみ:
- サイドカーを書き込む:
node scripts/clip.mjs --sidecars "<out>/clips.json"— カラオケプリセットの場合のみ--karaokeを追加します(これにより、測定された単語タイミングのための<clip>.timestamps.jsonも書き込まれます。通常のプリセットには.srtのみが必要です)。 - srt スキルで各クリップをスタイル設定:
node ../srt/scripts/style.mjs "<clip>.mp4" "<clip>.srt" --preset <id>(カラオケの場合は--word-timestamps "<clip>.timestamps.json"を追加)。srt スキルの「スタイル設定と字幕焼き付け」セクションを参照してください。
テレメトリ(サイレント)のために --host <runtime> を追加します。これは他のワーカーと同じです。
設定(環境変数)
/dubbing / /srt と同じ(PERSO_API_BASE/PERSO_MEDIA_BASE — https perso.ai ホストのみ、PERSO_SPACE_SEQ、XP_API_KEY、PERSO_NO_TELEMETRY、…)。