video-highlight-extraction について
video-highlight-extraction は、each::sense で長尺動画を分析し、注目シーンをクリップやまとめ動画として抽出するスキルです。ゲーム、スポーツ、ポッドキャスト、会議、イベントなどの映像を扱う制作者やチーム向けです。
主な機能
- 01見どころとなる場面の検出
- 02ゲーム・スポーツのクリップ抽出
- 03ポッドキャストやウェビナーの場面選定
- 04会議の決定事項とアクションの要約
- 05予告編やハイライト集の生成
活用シーン
- 01ポッドキャストから共有用クリップを作成
- 02スポーツ試合のハイライト集を制作
- 03会議の決定事項を振り返り動画に集約
- 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- 既存の動画の編集と変更
コメント
Markdown 対応