mcpField
M
muapi-youtube-shorts

muapi-youtube-shorts

github.com/samuraigptクリエイティブ・メディア252.7k 回インストール4 週間前に更新
リポジトリ

muapi-youtube-shorts について

長い動画から評価順の短尺クリップを作るスキルです。YouTube Shorts、TikTok、Reels、Instagram Feed向けの設定を備え、文字起こしやハイライト選定、顔追跡クロップはmuapi.aiに委ねます。

主な機能

  1. 01プラットフォーム別の比率と本数設定
  2. 02ハイライトの採点と順位付け
  3. 03重複候補の除外
  4. 04顔追跡クロップ
  5. 05クリップのダウンロードとプレビュー

活用シーン

  1. 01長いYouTube動画からShortsを作成
  2. 02TikTokやReels向けのクリップを作成
  3. 03Instagram Feed向けの正方形クリップを生成

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/samuraigpt/generative-media-skills --skill muapi-youtube-shorts

インストール後、Claude Code で/muapi-youtube-shortsを入力して読み込まれたか確認します。

詳細

YouTube Shorts ジェネレーター

長尺動画 → 縦型のショートクリップをランキングし、ショート動画向けに調整します。

このスキルは、AI Clipping の基本機能をプラットフォームに合わせたプリセットで利用します。対象プラットフォームに適したアスペクト比とクリップ数を選び、ハイライト抽出、重複排除、顔追跡による自動クロップを muapi.ai のマネージド /ai-clipping エンドポイントに委任します。

リファレンス実装:https://github.com/SamurAIGPT/AI-Youtube-Shorts-Generator 基盤となる API:https://muapi.ai/playground/ai-clipping


このスキルと AI Clipping の使い分け

次の場合はこのスキルを使用します…次の場合は AI Clipping を直接使用します…
対象が YouTube Shorts/TikTok/Reels の場合アスペクト比やクリップ数を完全に制御したい場合
プラットフォームに合わせたデフォルト設定を使いたい場合生のタイムスタンプ(--coords-only)が必要な場合
アスペクト比を考えるより --platform tiktok を渡したい場合カスタムレンダラーに統合する場合

エージェント実行プロトコル

ステップ 1 — 入力を収集する
入力デフォルト備考
--source—YouTube の URL、ホストされた mp4 の URL、またはローカルファイル
--platformshortsshorts | tiktok | reels | feed(アスペクト比とクリップ数のデフォルトを設定)
--num-clipsプラットフォームのデフォルトクリップ数を上書きします
--aspect-ratioプラットフォームのデフォルトアスペクト比を上書きします

ユーザーが URL だけを指定した場合は、プラットフォームのデフォルト設定で実行し、追加情報を求めて処理を止めないでください。


ステップ 2 — 前提条件を確認する
  • muapi-cli がインストールされ、認証済みであること(muapi auth configure)
  • MUAPI_API_KEY が利用可能であること

必要なのはこれだけです。文字起こし、ハイライトのランキング、重複排除、クロップはすべてサーバー側で実行されます。ローカルに ffmpeg、Python、Whisper、LLM キーは必要ありません。


ステップ 3 — パイプラインを実行する
bash library/social/youtube-shorts/scripts/run-youtube-shorts.sh \
  --source "<YOUTUBE_URL>" \
  --platform shorts \
  --num-clips 5 \
  --view

このスクリプトは次の処理を行います。

  1. ソースを解決します(必要に応じてローカルファイルを muapi CDN にアップロードします)。
  2. --aspect-ratio/--num-clips が渡されていない場合は、プラットフォームのデフォルト設定を選択します。
  3. 選択したパラメーターを指定して muapi edit clipping(/ai-clipping エンドポイント)を呼び出します。
  4. 完了するまでポーリングし、ランキング付きの概要を表示し、必要に応じてクリップをダウンロード/開きます。

サーバー側で実行される処理

/ai-clipping エンドポイントは、パイプライン全体を実行します。

  • 音声を文字起こしします。
  • バイラリティのフレームワークに基づいてハイライトをランキングします。対象となるのは、フックとなる場面、感情の高まり、強い意見、発見の瞬間、対立、引用に適した発言、ストーリーの山場、実用的な価値です。
  • スコアに基づいて、重複する候補を重複排除します。
  • 上位 N 件を選び出し、縦型クロップの顔追跡を行います。

各クリップには、スコア(0~100)、冒頭のフックとなるセリフ、そして「効果がある理由」を示す一文が付属します。


プラットフォーム別のデフォルト設定

プラットフォームフラグアスペクト比デフォルトのクリップ数備考
YouTube Shorts--platform shorts9:163最初の 1 秒でフックを入れます
TikTok--platform tiktok9:165エネルギー重視で、長めでも問題ありません
Instagram Reels--platform reels9:163最初の 1 秒でフックを入れます
Instagram Feed--platform feed1:13静止画のような雰囲気が効果的です

デフォルト設定は --aspect-ratio/--num-clips で上書きできます。


クイック実行パターン

単一の動画、デフォルト設定:

bash run-youtube-shorts.sh --source "https://youtube.com/watch?v=VIDEO_ID"

TikTok プリセット — 5 本のクリップをプレーヤーで表示:

bash run-youtube-shorts.sh --source "<URL>" --platform tiktok --view

Instagram フィード向けの正方形クリップ:

bash run-youtube-shorts.sh --source "<URL>" --platform feed --num-clips 3

一括処理 — 1 行に 1 つの URL を記載した urls.txt:

xargs -a urls.txt -I{} bash run-youtube-shorts.sh --source "{}"

非同期で送信(request_id を返し、後でポーリング):

REQUEST_ID=$(bash run-youtube-shorts.sh --source "<URL>" --async --output-json - | jq -r '.request_id')
muapi predict wait "$REQUEST_ID" --download ./outputs

出力スキーマ

{
  "source_video_url": "...",
  "shorts": [
    {
      "title": "The one mistake that cost me $50K",
      "start_time": 124.3,
      "end_time": 187.6,
      "score": 92,
      "hook_sentence": "Nobody talks about this, but it killed my first startup...",
      "virality_reason": "Opens with a number + regret, peaks on a contrarian lesson",
      "clip_url": "https://.../short_1.mp4"
    }
  ]
}

結果を報告する際は、各クリップのランク、スコア、時間範囲、タイトル、フック、クリップ URL を提示してください。


よくあるミスと回避方法

  1. プラットフォームに合わないアスペクト比を使う — Shorts/TikTok/Reels は 9:16 です。プラットフォームのプリセットで設定されるため、理由が分かっている場合にのみ上書きしてください。
  2. --num-clips の数に合わせて水増しする — API が返した候補が少ない場合は、返された分だけを使ってください。スコアの低い埋め草は公開しないでください。
  3. 404 になったクリップ URL で再実行する — クリッピングをやり直すのではなく、muapi predict wait <id> で同じ request_id を再取得してください。

失敗時の対応

  • API キーがない、または拒否された — エラーを表示します。キーを捏造しないでください。
  • ジョブがタイムアウトした — --poll-timeout の値を増やして再試行します。
  • ソース URL にアクセスできない — muapi upload file でファイルをアップロードし、返された URL を渡します。
  • 返されたクリップが指定数より少ない — ソースにランク付け可能なハイライトがそれほどありませんでした。返された結果を注記とともに返します。

完了条件

このスキルは、次の条件を満たしたときに完了です。

  1. result.shorts に最大 num_clips 件のエントリーがあり、それぞれに有効な clip_url が設定されている。
  2. ユーザーにランク付けされたリスト(スコア、時間範囲、タイトル、フック、URL)が表示されている。
  3. --output-json が設定されている場合、ファイルが存在し、解析できる。

コメント