Ozor ビデオライブラリ管理
MCP を介して既存の Ozor.ai 動画を管理します:一覧表示、詳細確認、再エクスポート、埋め込み、ビデオエージェントへのフォローアップ編集の送信。このスキルは mcp__ozor__* 系ツールの「新規作成以外のすべて」をカバーするインターフェースです。
使用すべきタイミング
ユーザーが Ozor アカウントに既に存在する動画を操作したい場合に使用します。以下のようなリクエストが合図です:
- 「動画を一覧表示して/見せて」
- 「…のステータスは?」
- 「共有リンク/ダウンロード/埋め込みコードを取得して」
- 「その動画を 9:16 で再エクスポートして」
- 「フォローアップ編集を送信:シーン 2 の見出しを X に変更して背景を明るくして」
- 「その動画のプランを見せて」
- 「ジョブはもう終わった?」「エクスポートの進捗を確認して」
以下の場合はこのスキルを使わないでください:
- テキストから新しい動画を作成 →
ozor-generate - ドキュメント/ファイルから作成 →
ozor-document-video - URL から作成 →
ozor-url-to-video
必要な MCP ツール
| タスク | ツール |
|---|---|
| 最近の動画を一覧表示 | mcp__ozor__list_videos |
| 1つの動画の詳細を取得 | mcp__ozor__get_video |
| ビルドジョブのステータスを確認 | mcp__ozor__get_job |
| ジョブが完了するまで待機 | mcp__ozor__wait_for_job |
| 動画が基づいているプランを取得 | mcp__ozor__get_plan |
| プランを編集 | mcp__ozor__update_plan |
| (新しい)エクスポートをトリガー | mcp__ozor__export_video |
| エクスポート完了まで待機 | mcp__ozor__wait_for_export |
埋め込み用の <iframe> を取得 | mcp__ozor__get_embed_code |
| エージェントにフォローアップ編集メッセージを送信 | mcp__ozor__send_message |
| 利用可能な音声を一覧表示 | mcp__ozor__list_voices |
MCP が接続されていない場合は、ユーザーにその旨を伝えて停止してください。
一般的なワークフロー
A. 最近の動画を一覧表示
mcp__ozor__list_videos({ limit?: 10 })
以下のような表で提示します:
| # | タイトル | ステータス | フォーマット | 更新日時 | videoId |
|---|----------|------------|--------------|----------|---------|
| 1 | ... | exported | 16:9 | 2時間前 | abc... |
2~3の明らかな次のアクションを提案します:「これらのどれかの共有リンクを取得しますか?埋め込みコードは?9:16 で再エクスポートしますか?」
B. 特定の動画の詳細を取得
ユーザーが動画の名前や ID を指定した場合:
mcp__ozor__get_video({ videoId })
タイトル、現在のステータス(draft / building / exported / failed)、フォーマット、長さ、最終更新日、既存の URL(共有、エディタ、ダウンロード)を表示します。
C. 「最後の動画のステータスは?」
list_videos({ limit: 1 })で最新の動画を特定。- ステータスが
buildingなら、get_job(またはユーザーが完了まで待機したい場合はwait_for_job)も呼び出して進捗を取得。 - ステータスが
exportedなら、URL を表示。
D. 埋め込みコードを取得
mcp__ozor__get_embed_code({ videoId })
動画がまだエクスポートされていない場合は、先にエクスポートを実行します(下記ワークフロー F)。
E. 共有/ダウンロード URL を取得
動画が既にエクスポート済みなら、get_video で URL が返ります。未エクスポートの場合:
mcp__ozor__export_video({ videoId })
mcp__ozor__wait_for_export({ videoId })
F. 再エクスポート(例:編集後に新しいレンダリングが必要、または URL が期限切れ)
mcp__ozor__export_video({ videoId })
mcp__ozor__wait_for_export({ videoId }) // → 新しい shareUrl、editorUrl、downloadUrl
mcp__ozor__get_embed_code({ videoId }) // → 新しい iframe
G. 別のフォーマットで再レンダリング(例:横長 → 縦長)
フォーマット変更はプランを経由します:
mcp__ozor__get_plan({ videoId })— 現在のプランを取得mcp__ozor__update_plan({ planId, format: "9:16" })— 変更を適用mcp__ozor__generate_from_plan({ planId })は新規プロジェクト作成パスです — ユーザーが 同じプロジェクト を更新したい場合は、代わりにsend_messageを使用してください(ワークフロー H)。新しいプロジェクト を別フォーマットで作りたい場合は、generate_from_planに進み、その後エクスポートします。
注:generate_from_plan は新しいプロジェクトを作成するため、ozor-document-video / ozor-url-to-video にあります。既存のプロジェクトを変更するのではなく、新しいプロジェクトを立ち上げようとしていることをユーザーに伝えてください。
H. エージェントにフォローアップ編集を送信
既存の動画に対して、最初からやり直さずにコピー/ビジュアル/シーンの微調整を行う場合:
mcp__ozor__send_message({
videoId,
message: "<ユーザーの編集内容、例:'シーン2の見出しをXに変更し、背景をもっと明るくしてください'>"
})
通常これにより新しい jobId が返ります。その後:
mcp__ozor__wait_for_job({ videoId, jobId })
mcp__ozor__export_video({ videoId })
mcp__ozor__wait_for_export({ videoId })
完了後、新しい URL を表示します。
I. プランの確認/編集
mcp__ozor__get_plan({ videoId | planId })
シーンを番号付きリストでユーザーに表示します。変更が必要な場合:
mcp__ozor__update_plan({ planId, ... })
その後再取得して変更を確認します。プランの編集だけではレンダリング済み動画は変わりません — 続けて再生成(インプレースなら send_message、新規プロジェクトなら generate_from_plan)とエクスポートが必要です。
J. 音声一覧
ユーザーが音声の選択や切り替えをしている場合:
mcp__ozor__list_voices()
コンパクトな一覧(名前、言語、スタイル)を提示します。切り替える場合は update_plan({ planId, voice: "<voice id>" }) してから再生成します。
「その動画」「最後の動画」の曖昧さを解消する
ユーザーが ID なしで「その動画」や「最後のやつ」と言った場合:
list_videos({ limit: 5 })を実行。- 説明に完全に一致するものが1つだけあれば、それを使用。
- 複数の候補がある場合は、短いリストを表示してどれかを尋ねる。
黙ってランダムな動画を選ばないでください。
URL の表示
利用可能な URL は常にラベル付きで表示します:
**共有リンク:** <shareUrl>
**エディタリンク:** <editorUrl>
**ダウンロードリンク:** <downloadUrl>
**埋め込みコード:** (コードブロック内)
URL が存在しない場合(例:動画が一度もエクスポートされていない)、空の URL を作成せず、何が不足しているかを伝え、エクスポートを実行する提案をします。
エラーと復旧
videoIdが見つからない → 最近の動画を一覧表示し、どれを指しているか尋ねる。- ジョブが失敗した → 失敗メッセージをそのまま伝え、修正を伴う
send_messageまたは再エクスポートを提案する。 - エクスポートが失敗した → 一度だけ再試行する。再度失敗した場合はエラーを表示し、エディタ URL を開いて確認するよう推奨する。
- プラン/動画の同期が取れていない(プランは編集されたが再生成されていない)→ 変更はステージングされているがレンダリングされていないことを伝え、再生成を提案する。
ルール
- 動画 ID、共有 URL、ステータスを決してでっち上げないでください。 すべて MCP から取得した実際のデータのみを使用します。
- インプレース編集には、
generate_from_planで新規プロジェクトを作成するよりも、send_messageを優先してください。 ほとんどの場合、ユーザーは重複ではなく既存の動画の更新を望んでいます。 - 再エクスポートは安価で安全です — ユーザーが新しい URL を欲しがっているなら、単にエクスポートを再実行してください。
- ユーザーがどの動画か曖昧な場合は、必ず確認してください — 短いリストを表示し、推測しないでください。
- 再生成や再エクスポートの後は、毎回すべての URL を表示してください。 会話の初期に表示した URL は期限切れになっている可能性があります。