mcpField
V
video-highlight-extraction

video-highlight-extraction

github.com/eachlabsクリエイティブ・メディア44346 回インストール今日更新
リポジトリ

video-highlight-extraction について

video-highlight-extraction は、each::sense で長尺動画を分析し、注目シーンをクリップやまとめ動画として抽出するスキルです。ゲーム、スポーツ、ポッドキャスト、会議、イベントなどの映像を扱う制作者やチーム向けです。

主な機能

  1. 01見どころとなる場面の検出
  2. 02ゲーム・スポーツのクリップ抽出
  3. 03ポッドキャストやウェビナーの場面選定
  4. 04会議の決定事項とアクションの要約
  5. 05予告編やハイライト集の生成

活用シーン

  1. 01ポッドキャストから共有用クリップを作成
  2. 02スポーツ試合のハイライト集を制作
  3. 03会議の決定事項を振り返り動画に集約
  4. 04予告編用の重要シーンを選定

インストール

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

$npx skills add https://github.com/eachlabs/skills --skill video-highlight-extraction

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

同梱ファイルreferences/SSE-EVENTS.md

詳細

動画ハイライトの抽出

each::sense を使って、長尺動画コンテンツから最適な瞬間やハイライトを抽出します。このスキルは動画をインテリジェントに分析し、印象的なクリップ、アクションシーン、感情が高まる場面、重要な瞬間を特定して抽出します。

機能

  • スマート検出:AI を活用した分析で、最も魅力的な瞬間を見つけます
  • ゲームのハイライト:キル、勝利、クラッチプレイ、圧巻の瞬間を抽出します
  • スポーツクリップ:ゴール、タッチダウン、ダンク、重要なプレイを捉えます
  • ポッドキャストの注目シーン:引用に適したセグメントや拡散されそうなクリップを見つけます
  • ウェビナーの要約:重要なポイントや実行可能な知見を抽出します
  • 会議のハイライト:決定事項、アクションアイテム、重要な議論を要約します
  • イベントのハイライト:コンサートの盛り上がり、結婚式の瞬間、旅行の冒険をまとめます
  • 予告編の生成:全編のコンテンツから予告編を自動生成します

クイックスタート

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract the 5 best highlight moments from this gaming video, focus on action sequences and wins"}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/gameplay-session.mp4"]
  }'

ハイライトの種類とユースケース

コンテンツの種類注目する内容出力形式
ゲームキル、勝利、失敗、リアクション短いクリップ(15~60 秒)
スポーツ得点、プレイ、祝福ハイライトリール(30~90 秒)
ポッドキャスト引用、知見、議論クリップ集(30~120 秒)
ウェビナー重要なポイント、デモ、Q&A要約クリップ(60~180 秒)
会議決定事項、アクションアイテム短縮版のまとめ(2~5 分)
コンサート盛り上がり、観客の様子ベストシーン集
結婚式式、リアクション、スピーチハイライトリール
旅行風景、アクティビティ冒険のモンタージュ

ユースケースの例

1. 長尺動画から最適な瞬間を抽出する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Analyze this 2-hour video and extract the top 10 most engaging moments. Look for emotional peaks, funny moments, and visually impressive scenes. Create individual clips of 30-60 seconds each."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/long-form-content.mp4"]
  }'
2. ゲームのハイライトを検出する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract gaming highlights from this Valorant stream. Find all clutch rounds, ace plays, and epic kills. Create a highlight reel with smooth transitions between clips."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/valorant-stream.mp4"]
  }'
3. スポーツのハイライトを抽出する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a sports highlight reel from this football game. Extract all touchdowns, big plays, interceptions, and celebration moments. Include 2 seconds before and after each key moment for context."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/football-game.mp4"]
  }'
4. ポッドキャストのベストクリップ
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Find the most shareable clips from this podcast episode. Look for controversial takes, insightful moments, funny exchanges, and quotable statements. Extract 5-8 clips optimized for social media (under 60 seconds each)."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/podcast-episode.mp4"]
  }'
5. ウェビナーの重要な瞬間
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract key moments from this 90-minute webinar. Identify main talking points, important demonstrations, audience questions, and actionable takeaways. Create a 5-minute summary highlight reel."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/webinar-recording.mp4"]
  }'
6. 会議のハイライト
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a meeting highlight summary from this team call. Extract all decisions made, action items assigned, key discussion points, and any important announcements. Condense into a 3-minute recap video."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "eco",
    "video_urls": ["https://example.com/team-meeting.mp4"]
  }'
7. コンサートのベストシーン
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract the best moments from this concert recording. Find crowd singalongs, guitar solos, drum fills, artist interactions with crowd, and emotional peaks. Create a 4-minute highlight compilation with the most energetic parts."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/concert-full.mp4"]
  }'
8. 旅行動画のハイライト
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a travel highlight reel from my vacation footage. Extract the most scenic views, exciting activities, local food experiences, and memorable moments. Make a 2-minute shareable video with dynamic pacing."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/vacation-footage.mp4"]
  }'
9. 結婚式のハイライトリール
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create a wedding highlight reel from the full ceremony and reception footage. Extract the vows, first kiss, first dance, cake cutting, bouquet toss, speeches with emotional reactions, and candid guest moments. Create a 5-minute cinematic highlight video."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/wedding-full.mp4"]
  }'
10. 映画から予告編を自動生成する
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Generate a 2-minute trailer from this feature film. Select the most dramatic moments, action sequences, emotional beats, and visually stunning shots. Build tension with the pacing - start slow, build to climax. Avoid major spoilers but hint at the story."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/feature-film.mp4"]
  }'

モードの選択

処理を開始する前に、ユーザーに確認してください。

「高速で低コストな処理と、高品質な処理のどちらをご希望ですか?」

モードおすすめの用途速度品質
max最終版のハイライトリール、クライアントへの納品物、予告編のカット遅い最高
eco手早いプレビュー、会議のまとめ、社内レビュー速い良好

複数ターンでのハイライトの調整

session_id を使って、抽出したハイライトを反復的に調整できます。

# Initial extraction
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract highlights from this gaming stream, focus on the best plays"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "highlight-project-001",
    "video_urls": ["https://example.com/stream.mp4"]
  }'

# Refine selection
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Remove the third clip and find more moments with team fights"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "highlight-project-001"
  }'

# Adjust timing
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Make each clip shorter, around 15-20 seconds, and add transitions between them"}],
    "model": "eachsense/beta",
    "stream": true,
    "session_id": "highlight-project-001"
  }'

プラットフォームに最適化したクリップ

異なるプラットフォームに最適化されたハイライトを生成します。

# YouTube Shorts / TikTok (vertical 9:16)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract viral-worthy moments and format them as vertical 9:16 clips for TikTok/YouTube Shorts. Each clip should be 15-30 seconds with a strong hook in the first 2 seconds."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/content.mp4"]
  }'

# Twitter/X (square 1:1)
curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Create square 1:1 highlight clips optimized for Twitter. Under 2 minutes each, punchy and shareable."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/content.mp4"]
  }'

ハイライト検出パラメーター

AI が探す内容をカスタマイズします。

curl -X POST https://eachsense-agent.core.eachlabs.run/v1/chat/completions \
  -H "Content-Type: application/json" \
  -H "X-API-Key: $EACHLABS_API_KEY" \
  -H "Accept: text/event-stream" \
  -d '{
    "messages": [{"role": "user", "content": "Extract highlights with the following criteria: prioritize moments with high audio energy (cheering, music peaks), visual motion (fast action, camera movement), and emotional expressions (laughter, surprise). Skip any slow or static segments. Create 8 clips of 20-40 seconds each."}],
    "model": "eachsense/beta",
    "stream": true,
    "mode": "max",
    "video_urls": ["https://example.com/event-footage.mp4"]
  }'

エラー処理

エラー原因解決策
Failed to create prediction: HTTP 422残高不足eachlabs.ai で残高をチャージしてください
Video too long処理の上限を超えています小さなセグメントに分割してください
Unsupported format動画コーデックがサポートされていませんMP4 H.264 に変換してください
タイムアウト長尺動画の処理クライアントのタイムアウトを最低 10 分に設定してください

**重要:**長尺動画のハイライト抽出には、かなりの時間がかかる場合があります。早期切断を防ぐため、HTTP クライアントのタイムアウトは必ず 10 分以上に設定してください。

ベストプラクティス

入力動画
  • 形式:H.264 コーデックの MP4 が最適です
  • 品質:解像度が高いほど、瞬間をより正確に検出できます
  • 長さ:2 時間を超える動画は、セグメントに分けて処理することを検討してください
プロンプトのヒント
  • 抽出したいハイライトの数を指定します
  • 探している瞬間の種類を説明します
  • 希望するクリップの長さを伝えます
  • 出力形式の要件(アスペクト比、再生時間)を指定します
出力の最適化
  • 最終納品物には max モードを使用します
  • 手早いプレビューや反復には eco モードを使用します
  • session_id を活用して、複数ターンで調整します

関連スキル

  • each-sense - コア API ドキュメント
  • video-generation - 新しい動画コンテンツの生成
  • video-edit - 既存の動画の編集と変更

コメント