octen-video-search について
octen-video-searchは、テキストクエリでWeb動画を検索するスキルです。一致した区間のタイムスタンプと動画情報を返し、研究者や視聴者が該当箇所を探せます。現在は招待制ベータ版で、APIキーが必要です。
主な機能
- 01テキストクエリによる動画検索
- 02一致区間のタイムスタンプ表示
- 03相対期間またはISO 8601日付での絞り込み
- 04件数とセーフサーチの設定
- 05ソース、投稿者、カバー情報の表示
活用シーン
- 01動画内の特定箇所の特定
- 02テーマに関する新しい動画の検索
- 03公開期間による検索結果の絞り込み
インストール
コマンドをコピーしてターミナルで実行します。
npx skills add https:/ / github.com/ octen-team/ octen-skills --skill octen-video-searchインストール後、Claude Code で/octen-video-searchを入力して読み込まれたか確認します。
同梱ファイルagents/openai.yaml
詳細
Octen Video Search
テキストクエリでウェブ上の動画を検索します。各検索結果には一致したセグメント (動画内の開始/終了タイムスタンプ)、再生時間、カバー画像、掲載ページ、 投稿者が含まれるため、関連する場面にすぐ移動できます。
ベータ版です。ベータアクセスをご希望の場合はお問い合わせください。 Octen Video Search は 招待制のベータ版です。https://octen.ai(または [email protected])からアクセスをリクエストしてください。 アクセスがないと呼び出しは失敗します。その場合は、ベータ版であることと Octen への問い合わせ方法をユーザーに伝えてください。
API キーの設定
検索する前に、OCTEN_API_KEY が設定されていることを確認してください。設定されていない場合、またはいずれかの呼び出しで 401 が返された場合は、処理を中止し、むやみに再試行しないでください。ユーザーにキーが必要であることを伝え、https://octen.ai を案内し、エージェント用の設定を支援してください。キーが設定されたら、処理を続行します。403 はキーが有効でもリクエストが拒否されたことを意味します。ベータアクセスがないか、アカウント残高が不足している可能性があるため、両方の可能性とベータアクセスのリクエスト方法を伝えてください。
関連するエージェント用にキーを設定します(他の Octen スキルと同じです)。
- Claude Code —
~/.claude/settings.jsonに{ "env": { "OCTEN_API_KEY": "your-key" } }を追加します - Cursor / 汎用シェル —
~/.zshrcまたは~/.bashrcでexport OCTEN_API_KEY="your-key"を実行します - Codex —
~/.codex/config.toml→[shell_environment_policy]にset = { OCTEN_API_KEY = "your-key" }を設定します - OpenClaw —
~/.openclaw/.envにOCTEN_API_KEY=your-keyを追加します
エンドポイント
POST https://api.octen.ai/video-search
認証:X-Api-Key: <API_KEY> ヘッダー · Content-Type:application/json
クイックスタート(cURL)
curl -s -X POST "https://api.octen.ai/video-search" \
-H "Content-Type: application/json" \
-H "X-Api-Key: ${OCTEN_API_KEY}" \
-d '{
"inputs": [{"type": "text", "data": "how to tie a tie"}],
"count": 5
}'
時間で絞り込む場合
curl -s -X POST "https://api.octen.ai/video-search" \
-H "Content-Type: application/json" \
-H "X-Api-Key: ${OCTEN_API_KEY}" \
-d '{
"inputs": [{"type": "text", "data": "GPT-5 launch keynote"}],
"count": 10,
"time_range": "month"
}'
パラメーター
| パラメーター | 型 | 必須 | デフォルト | 説明 |
|---|---|---|---|---|
inputs | 配列 | はい | - | テキスト入力を 1 つ指定します:[{"type": "text", "data": "<query>"}](クエリは最大 500 文字) |
count | 整数 | いいえ | 5 | 検索結果の数(1~10) |
time_range | 文字列 | いいえ | - | 相対的な期間:day、week、month、year(または d、w、m、y) |
start_time | 文字列 | いいえ | - | 開始時刻のフィルター、ISO 8601 |
end_time | 文字列 | いいえ | - | 終了時刻のフィルター、ISO 8601(start_time より後である必要があります) |
safesearch | 文字列 | いいえ | strict | 成人向けコンテンツのフィルター:off または strict |
レスポンス形式
| フィールド | 型 | 説明 |
|---|---|---|
request_id | 文字列 | 一意のリクエスト識別子 |
data.results[] | 配列 | 動画検索結果のリスト |
data.results[].title | 文字列 | 動画のタイトル |
data.results[].url | 文字列 | 動画の URL |
data.results[].source_page | 文字列 | 動画が見つかったページ |
data.results[].description | 文字列? | 動画の説明 |
data.results[].cover_url | 文字列? | カバー/サムネイル画像の URL |
data.results[].duration_seconds | 整数? | 動画の合計再生時間(秒) |
data.results[].match_segment | オブジェクト? | 一致したセグメント {start_seconds, end_seconds} |
data.results[].authors | 文字列? | チャンネル/投稿者 |
data.results[].time_published | 文字列? | 公開時刻、ISO 8601 |
data.results[].time_last_crawled | 文字列? | 最終クロール時刻、ISO 8601 |
meta.latency | 数値 | レスポンス時間(ミリ秒) |
meta.warning | 文字列? | 警告メッセージ(ある場合) |
エラーコード
| HTTP ステータス | 説明 |
|---|---|
400 | パラメーターがない、または無効です |
401 | API キーが無効、または設定されていません |
403 | 残高不足、またはベータアクセスがありません |
429 | レート制限に達しました |
500 | 内部サーバーエラー |
注意事項
- 現時点では、入力はテキストのみです(
{"type": "text", "data": "..."})。 match_segmentには、最も関連性の高い場面のタイムスタンプが含まれます。ユーザーがすぐにその場面に移動できるよう、表示してください。countの上限は 10 です。