Communitygithub.com

talking-head-short — マスターエディター

縦型トーキングヘッド動画(Reels、TikTok、Shorts)用のマスターエディター。1本の生クリップから文字起こし、NGテイクや無音部分の除去、24ジャンルマトリックスによるニッチ検出、スタイルオプションの選択を経て、黄金比のキネティックキャプション、意味駆動のモーショングラフィックス、ライセンス済みBロール、音楽、SFX、フォント、カラーコレクション、QAを施したスムーズなプロフェッショナル編集をレンダリングします。

talking-head-short — マスターエディター とは?

Talking-Head Shortは、縦型トーキングヘッド動画(Reels、TikTok、Shorts)の編集を自動化するスキルです。生のクリップから文字起こし、NGテイクや無音の自動除去、24ジャンルのニッチ検出、ユーザーとのスタイル選択対話を経て、黄金比のキネティックキャプション、意味に基づくモーショングラフィックス、ライセンスクリアなBロール、音楽、SFX、フォント、カラーコレクション、QAまでを一貫して行います。Claude Code、Cursor、Codex、Claude.ai上で動作し、HuggingFace、Mixkit、Google Fontsなどの外部アセットに自動フォールバック機構を持ちます。ワークフローは分析・ブリーフィング・スタイル選択・アセット収集・spec.json編集・レンダリング・QAの順に進行し、ユーザーはスタイル、フォント、パレット、密度、音楽、Bロールを選択できます。

対応✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/uday629/talking-head-short-skill/tree/HEAD/talking-head-short

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Talking-Head Short — マスターエディター

簡潔な返信を書いてください。文字起こしや長いログは出力しないでください。spec.json は Edit ツールで編集し、書き直さないでください。各スクリプトはコンパクトなレポートを出力します。それを読んで行動し、次に進んでください。

S=<このスキルディレクトリ>/scripts、WD=<生ファイルの隣の作業ディレクトリ>/ths_<名前>

0. セットアップ(マシン/サンドボックスごとに1回)

bash $S/setup.sh → 表示された PY= を使用します。これにより、静的ffmpegを含むすべてのPyPIパッケージがインストールされます。 すべてのダウンロードには自動フォールバックがあります。サンドボックス(claude.aiコード実行、無料・有料とも)は通常、HuggingFace、Mixkit、Google Fonts APIをブロックしますが、GitHubは許可します:

  • 文字起こしモデル:HuggingFace → GitHubミラー(whisper-base、次にwhisper-tiny)
  • 音楽/SFX:Mixkit → GitHubミラーCC0パック(IDは pack:lofi_chill のようになります)
  • フォント:Google Fontsリポジトリ → jsDelivr → GitHubミラーOFLパック(32ファミリー) → システムフォント
  • Bロール:Mixkit → なし(カードを使用するか、ユーザーにクリップのアップロードを依頼)

セットアップが「ネットワークなし」/ pipエラーを出力した場合:サンドボックスのネットワーク出力がオフになっています。ユーザーに正確に(1メッセージで)伝えてください: 「claude.ai → Settings → Capabilities → Code execution → Network access:All domains(または追加:pypi.org、files.pythonhosted.org、github.com、objects.githubusercontent.com、release-assets.githubusercontent.com、api.github.com、raw.githubusercontent.com、cdn.jsdelivr.net、huggingface.co、mixkit.co、assets.mixkit.co)、その後新しいチャットを開始して /talking-head-short を再度実行してください。」numpy/ffmpegなしで編集を試みないでください。 すべてのソースが失敗した場合のみ:貼り付けられた文字起こしを要求 → $PY $S/align_text.py $WD transcript.txt。アセットは ~/.ths_assets にキャッシュされます。

1. 分析

$PY $S/analyze.py RAW $WD 解像度、アイポイント、クリーンな長さ、自動除去されたフィラー・吃音・再開、CHECK(ソフトフィラー、低信頼度単語、長いポーズ)、および8単語ごとのタイムスタンプ付きTEXTを出力します。

  • 不良テイクは自分で判断してください。 誤スタート、未完了の文、「あのー」「えーっと」「みたいな」を削除します。修辞的な繰り返しは維持します。--remove '[[s,e],...]'(ソース秒)を付けて再実行します。文字起こしはキャッシュされます。
  • $WD/frames.jpg はアイポイントやフレーミングが疑わしい場合のみ確認します。

2. ブリーフィング(頭の中で、その後ユーザーに4行)

以下を書きます:トピック · コアメッセージ · 感情のアーク(フック → … → ペイオフ) · ニッチ行(NICHESから) · トーン(calm/balanced/energetic) · 生のフレーミング(wide or tight)。 次に $PY $S/style.py RAW "<niche>" --out $WD/style.json を実行します。これにより、適応されたパレット(理由付き)、フォント、MG/Bロール/音楽/SFXの方向性、ハードノートが出力されます。 references/craft.md(ルール)と references/spec.md(スペック形式)を1回読んでください。

3. 構築前に質問(決して先にレンダリングしない)

AskUserQuestionが利用できる場合はそれを使用し、そうでなければ1つのコンパクトな番号付きメッセージを使用します。毎回オプション1を推奨します。

  1. スタイル: 検出されたニッチ + トーン(例:「自己啓発 · calm-reflective」)対1~2の代替案。
  2. フォント: その行のペア対2つの代替案(明確なスタイルコントラスト:サンズリード + セリフ/イタリックキー、またはボールドサンズキー + イタリックセリフアクセント)。
  3. パレット: 映像に適応された行パレット対映像由来パレット対ユーザー指定のブランドカラー。
  4. ビジュアル密度: Minimal(キャプション + 2~3カード)・Balanced(キャプション + 4~6カード / Bロール)・Rich(より多くのMG + Bロール)。
  5. 音楽: $PY $S/assets.py music "<mood>" からライセンス候補3つ(ID · タイトル · タグ)、またはなし。
  6. Bロール: はい(リテラルな行に一致するライセンスストック) / いいえ。 ユーザーがすでに答えた質問はスキップします。回答を待ちます。

4. アセット収集

  • フォント:$PY $S/assets.py font "Family" ...
  • 音楽、SFX、ビデオ:assets.py music|sfx|video "<query>" を実行して一覧表示、その後 assets.py get <kind> <id> $WD。
    • SFX by tone:calm → "air woosh", "chime";balanced → "whoosh", "pop";energetic → "swoosh", "impact"(1回使用)。
  • ブロックされたソースは自動的にフォールバックされます(パックID)。assets.py pack でオフラインCC0パック全体を一覧表示します。

5. spec.json、プラン、スタイルフレームの作成

  1. $WD/spec.json を作成します(references/spec.md参照):キャプションは話された順序、カードは適切な節に、オーディオ。
  2. $PY $S/engine.py $WD --plan → すべてのISSUEをspecの編集(ビートの短縮や結合、カード下のキャプションの移動や削除)で修正し、ISSUEがなくなるか許容できるものだけになるまで再プランします。
  3. $PY $S/engine.py $WD --frames t1,... を10~15のタイムで実行:すべてのカードの中間点と終了−0.3秒、およびすべてのキャプションの終了−0.1秒。$WD/styleframes.jpg を確認し、カットオフ、密集、位置ずれ、パレット外のものを修正します。
  4. スタイルフレームを1行(「レンダリングしてよろしいですか?」)でユーザーに表示します。ユーザーが指摘したもののみ反復します。

6. レンダリング、ミックス、QA

  • bash $S/render.sh $PY $WD はパーツを並列レンダリングし連結します(ノートPCで動画1分あたり約5分)。コマンドごとに時間制限のあるサンドボックスでは、パーツごとに $PY $S/engine.py $WD --render --part i/N を実行し、その後 --concat N を実行します。
  • $PY $S/mix.py $WD → final.mp4(音声クリーンアップ、ペイオフ調整されたダッキング音楽、SFX、-14 LUFS)。
  • $PY $S/qa.py $WD → qa_endframes.jpg を確認します。すべてのビートとカードの終了でテキストとアニメーションが完了している必要があります。フラッシュフレームはなしでなければなりません。
  • ファイルパスと、選択した内容とその理由を3行で提供します。ダウンロードできなかったアセットがあれば言及します。

譲れない条件(理由:それぞれがアマチュアと指摘された)

  • キャプションが途切れてはいけません。リードはキー幅以下で近くに配置します。黄金比で2つの対照的なフォントスタイル。単独のフィラーワードにキャプションを付けないでください。
  • モーショングラフィックスは意味を示し、シーンチェンジ前に終了し、1つのビジュアルシステムに収まります。棒人間やクリップアートは使用しないでください。
  • スムーズ:カットをまたいでイージングされたアイロックズーム、フラッシュフレームなし、多様なトランジション。
  • カラーコレクションのみ。ライセンス済みアセットのみ(Mixkit / Google Fonts OFL)、LICENSES.txtを$WDに保存します。

関連スキル