Communitygithub.com

Mintii-Labs/ozor-skills

実際のドキュメント(PDF、PPTX、DOCX、Keynote 書き出し、スライドデッキ、提案書、ホワイトペーパー、レポート)を、Ozor MCP を使って完成された AI 生成ビデオに変換します。ユーザーがファイルを添付・アップロード・参照し、そこからビデオを作成したい場合に使用します。

ozor-skills とは?

このスキルは、ドキュメントファイル(PDF、PPTX、DOCX、Keynote 書き出しなど)をアップロードまたは URL で受け取り、Ozor のプランベースのパイプラインを通して最終的な AI 生成ビデオに変換します。ワークフローは「analyze_document → プランをユーザーに提示 → 必要に応じて update_plan → generate_from_plan → export_video → wait_for_export → get_embed_code」という流れで、スライドのビジュアルを保持しながらビデオを生成します。主に Claude Code や Cursor などの AI エージェント向けに設計されており、Ozor MCP ツール群(analyze_document, prepare_document_upload, update_plan, generate_from_plan, export_video など)を順に呼び出して処理を進めます。このスキルの最大の特徴は「プランファースト」のアプローチで、必ずユーザーにプランを確認・承認してもらってから生成に進むため、コストとクリエイティブな管理をユーザーがコントロールできる点です。また、ファイルが大きい場合には prepare_document_upload で直接アップロードするため、50MB 程度のファイルでもトークン消費を抑えて処理できます。

対応~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Mintii-Labs/ozor-skills/tree/main/skills/ozor-document-video

お気に入りのAIに質問する

このエージェントスキルを事前に読み込んだ状態で新しいチャットを開きます。

ドキュメント

Ozor ドキュメントからビデオへ

Ozor.ai 上でのエンドツーエンドのドキュメント to ビデオ変換。実際のファイル(PDF、PPTX、DOCX など)を受け取り、Ozor 側で分析して構造化プランを作成し、ユーザーに承認・編集を促した上で、ビデオを生成・エクスポートします。スライドのビジュアルはそのまま保持されます。

使用するタイミング

このスキルは、入力がドキュメント/ファイルの場合に使用します。以下のようなケースが該当します:

  • ユーザーが PDF、PPTX、DOCX、Keynote 書き出し、スライドデッキ、提案書、ホワイトペーパー、レポート、1 ページ資料を添付または参照した場合
  • 「このデッキをビデオにして」
  • 「この PDF からビデオを作って」
  • 「私のピッチ/提案書/レポートからビデオを」

以下の場合はこのスキルを使用しないでください:

  • 入力が短いクリエイティブなテキストブリーフの場合 → ozor-generate
  • 入力が URL やランディングページの場合 → ozor-url-to-video
  • ユーザーが書かれた Ozor プロンプトのみを希望する場合 → ozor-doc-to-video(プロンプトのみのスキル)
  • ユーザーが既存のビデオを管理したい場合 → ozor-video-library

必要な MCP ツール

  • mcp__ozor__analyze_document — ドキュメントを分析し、planId と構造化プランを返します
  • mcp__ozor__prepare_document_upload — 公開 URL のないローカルファイル用に、curl でアップロード可能な URL を取得します(一般的なケース)
  • mcp__ozor__get_plan — 最新のプランの状態を取得します
  • mcp__ozor__update_plan — 生成前にユーザーの編集をプランに適用します
  • mcp__ozor__generate_from_plan — 承認されたプランからビデオのビルドを開始し、projectId を返します
  • mcp__ozor__export_video — レンダリングを開始します(projectId を videoId として使用します)
  • mcp__ozor__wait_for_export — レンダリングが完了するまでブロックします
  • mcp__ozor__get_embed_code — <iframe> HTML を返します

Ozor MCP が接続されていない場合は、ユーザーにその旨を伝えて停止してください。自分でコンテンツを抽出して generate_video にフォールバックしないでください。スライドのビジュアルが失われ、2000 文字のプロンプト制限を超える可能性があります。ドキュメントにはプランベースのフローが必須です。

ワークフロー

ステップ 1 — ドキュメントを Ozor に送る

優先順位に従って最適なソースを選択します:

  1. 公開 URL → url をそのまま analyze_document に渡します。サイズ制限なし、トークン消費なし。利用可能なら最適です。
  2. ローカルファイル(一般的なケース) → mcp__ozor__prepare_document_upload を呼び出し、返された curl コマンドを実行してバイトデータを直接 Ozor のストレージにプッシュします。バイトデータはツール呼び出しを経由しないため、最大約 50MB のファイルが扱えます。ユーザーが会話にアップロードした数 MB の PDF/PPTX/DOCX に使用します。
  3. analyze_document の fileBase64 + fileName — 小さなファイル(数百 KB 程度)にのみ使用します。大きなデッキではトークンを消費するため避けてください。

prepare_document_upload がツールリストにない場合、このサーバーではアップロードが無効になっています。URL または小さな base64 にフォールバックしてください。

ステップ 2 — ドキュメントを分析する

Ozor がファイルを入手したら、次のように呼び出します:

mcp__ozor__analyze_document({
  url | uploadId | fileBase64+fileName,
  ...オプションのヒント: targetDuration, format (16:9 / 9:16), audience, tone
})

これにより { planId, plan } が返されます。プランには、提案されたシーン、ナレーション、ビジュアルノート、およびどのスライド/ページがどのシーンにマッピングされるかが含まれます。

ステップ 3 — プランをユーザーに提示して STOP

これは重要なステップです。 生成にスキップしないでください。プランを簡潔にユーザーに表示します:

📋 Ozor プラン for "<ドキュメント名>"

**フォーマット:** 16:9(または 9:16)
**推定時間:** ~X 秒
**シーン数:** N

(1) <シーンタイトル> — <1行ナレーション/ビジュアル>
(2) <シーンタイトル> — <1行ナレーション/ビジュアル>
...

これをそのまま生成しますか?それとも変更しますか?以下の操作が可能です:
- シーンを編集("change scene 2 to ...")
- シーンの並べ替え/削除/追加
- トーン、長さ、フォーマットの変更
- 承認して生成

その後、ユーザーが承認または編集を要求するまで 待機 します。generate_from_plan を自分の判断で呼び出さないでください。プランはコストとクリエイティブな管理のためのチェックポイントです。

ステップ 4 — 編集を適用する(必要な場合)

ユーザーが変更を要求した場合、編集内容を指定して mcp__ozor__update_plan({ planId, ... }) を呼び出します。get_plan で再取得し、更新されたプランを再表示します。ユーザーが承認するまでこのループを繰り返します。

ステップ 5 — プランから生成する

ユーザーが承認したら:

mcp__ozor__generate_from_plan({ planId })

これにより { projectId } が返されます。projectId を後続のすべての呼び出しで videoId として使用します。

応答に jobId が含まれている場合は、wait_for_job({ videoId: projectId, jobId }) でそれを待機します。それ以外の場合はエクスポートに進みます。

ステップ 6 — エクスポート

mcp__ozor__export_video({ videoId: projectId })
mcp__ozor__wait_for_export({ videoId: projectId })

shareUrl、editorUrl、downloadUrl が返されます。

ステップ 7 — 埋め込み

mcp__ozor__get_embed_code({ videoId: projectId })

ステップ 8 — 結果を表示

🎬 ビデオ準備完了 from "<ドキュメント名>"

**共有:** <shareUrl>
**エディター:** <editorUrl>
**ダウンロード:** <downloadUrl>

**埋め込み:**
```html
<iframe ...></iframe>

同じプランから 9:16 のソーシャルカットも必要ですか?再生成できます。


## `analyze_document` に渡すヒント

ユーザーが言及した場合、またはドキュメントから明らかな場合、以下のいずれかを渡します:

- `targetDuration` — 例:`"60s"`、`"90s"`。提案書/デッキのデフォルトは約 60 秒、1 ページ資料は約 30 秒。
- `format` — `"16:9"`(デフォルト)またはソーシャル用の `"9:16"`。
- `audience` — 投資家、顧客、開発者、社内チームなど。
- `tone` — 自信に満ちた、温かい、技術的な、エネルギッシュな、など。
- `focus` — オプション。1 行のメモ(例:「スライド 4 のメトリクスに重点を置く」「チームスライドをスキップ」)。

## ドキュメントタイプによる適応

| ドキュメント | デフォルト時間 | フォーマット | トーン | フォーカス |
|----------|------------------|--------|------|-------|
| ピッチデッキ | 60–90 秒 | 16:9 | 自信に満ちた | 問題 → 解決策 → 牽引力 → CTA |
| 提案書 (DOCX) | 60 秒 | 16:9 | プロフェッショナル | 成果 + 価格 + 次のステップ |
| ホワイトペーパー / レポート | 60–90 秒 | 16:9 | 権威のある | 3 つの主要な発見、CTA で全文へのリンク |
| セールス 1 ページ資料 | 30–45 秒 | 16:9 | インパクトのある | フック → 3 つのメリット → CTA |
| リリースノート | 30–45 秒 | 16:9 | エネルギッシュな | 機能ごとに 1 シーン |
| トレーニング / SOP | 90 秒以上 | 16:9 | 落ち着いて明確な | 番号付きステップ、7 シーンを超える場合はシリーズに分割 |

迷った場合は、最初の呼び出しでデフォルトを提案し、ユーザーがプランを見た後で上書きできるようにします。

## 生成後の反復

レンダリングされたビデオに変更が必要な場合:
- 小さなナレーション/コピーの微調整 → `update_plan` + 再生成(プランから再実行されるため、ドキュメントの再分析は不要)
- 新しいシーン順序やトーン → 同じパス
- 新しいフォーカスやオーディエンス → より強いヒントを指定して `analyze_document` を再度呼び出す方が安価な場合がある

## エラーと復旧

- **ファイルが大きすぎて `analyze_document` が失敗する** → base64 の代わりに `prepare_document_upload` を使用します。
- **プランに欠落や誤ったコンテンツがある** → 再起動する代わりに、修正を指定して `update_plan` を呼び出します。
- **`generate_from_plan` が失敗する** → エラーは通常、特定のシーンを指しています。`update_plan` で修正し、再試行します。
- **エクスポートがハングする** → `wait_for_export` を再度呼び出しても安全です。続行されます。

## ルール

1. **常にプランファーストで進めること。** ドキュメントから抽出した手書きの散文を `generate_video` に渡さないでください。このスキルのポイントは、Ozor がスライドを直接参照することです。
2. **`generate_from_plan` の前に必ずプランをユーザーに表示し、承認を待つこと。** 生成はコストがかかるステップです。プランがチェックポイントです。
3. **ローカルファイルには `prepare_document_upload` + curl を使用すること。** Base64 は小さなファイルのみに使用します。
4. **`generate_from_plan` 以降は、`projectId` をすべての場所で `videoId` として使用すること。** 同じ識別子です。
5. **すべての URL(共有、エディター、ダウンロード、埋め込み)を提示すること。**
6. **自分でドキュメントを要約しないこと。** Ozor の `analyze_document` がそれを実行し、ビジュアルを保持します。あなたの仕事は MCP をオーケストレーションし、プランをキュレーションすることであり、コンテンツを書き換えることではありません。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

Mintii-Labs/ozor-skills

Generate an AI video end-to-end on Ozor.ai from a short text brief. Use this skill whenever the user wants to actually create a video (not just write a prompt) from a creative description, idea, or short brief — e.g. 'make me a video about X', 'generate a launch video for Y', 'create an explainer for Z', 'render a video', 'produce a 30s ad about ...', 'spin up a quick video for our new feature'. This skill runs the full Ozor MCP pipeline: generate_video → wait_for_job → export_video → wait_for_export → get_embed_code, and returns the shareUrl, editorUrl, downloadUrl, and a ready-to-paste <iframe> embed. Do NOT use this skill when the input is a document/PDF/PPTX/deck/URL — use ozor-document-video or ozor-url-to-video instead.

Mintii-Labs/ozor-skills

Turn any URL — landing page, blog post, product page, documentation page, changelog, public PDF, or web article — into a finished AI-generated video using the Ozor MCP. Use this skill whenever the user gives a link and wants a video from its content: 'make a video from this URL', 'video from my landing page', 'turn this blog post into a video', 'video from https://...', 'video from our homepage', 'generate a video from this product page', 'create a video from this article'. This skill runs analyze_document with the url parameter (no scraping needed on our side), presents the resulting plan to the user, then generates → exports → embeds. Do NOT use this skill for a short text brief (use ozor-generate) or for an attached local file (use ozor-document-video).

Mintii-Labs/ozor-skills

Browse, inspect, re-export, embed, or iterate on videos that already exist in the user's Ozor.ai account. Use this skill whenever the user wants to work with past or in-progress Ozor videos rather than create a new one — e.g. 'list my Ozor videos', 'show my recent videos', 'what's the status of my last video', 'get the embed code for that video', 'download my last Ozor video', 'share link for the explainer I made', 'check on the export', 'send a follow-up edit to that video', 'show the plan for video X', 'render that video again at 9:16', 'is the job done yet'. This skill orchestrates list_videos, get_video, get_job, get_plan, update_plan, send_message, wait_for_job, export_video, wait_for_export, and get_embed_code. Do NOT use this skill to create a new video from scratch — use ozor-generate, ozor-document-video, or ozor-url-to-video.

関連スキル