本文へ移動
cccskills
無料GitHub で公開

ozor-document-video

Turn a real document (PDF, PPTX, DOCX, Keynote export, slide deck, proposal, whitepaper, report) into a finished AI-generated video using the Ozor MCP. Use this skill whenever the user attaches, uploads, references, or points to a document file and wants a video from it — e.g. 'make a video from this pitch deck', 'turn this PDF into a video', 'video from my proposal.docx', 'generate a video from this PowerPoint', 'create a video from this report', 'this whitepaper → video'. This skill runs the document-to-video pipeline: analyze_document → present the plan to the user → update_plan if needed → generate_from_plan → export_video → wait_for_export → get_embed_code. It always uses the plan-based flow so slide visuals are preserved. Do NOT use this skill for plain-text creative briefs (use ozor-generate) or for URLs/landing pages (use ozor-url-to-video).

インストール方法を見る

含まれるファイル(1)

  • SKILL.md8.4 KB

SKILL.md(原文)

インストールする前に、エージェントに与えられる指示の中身を確認できます。

Ozor Document-to-Video

End-to-end document-to-video on Ozor.ai. Takes a real file (PDF, PPTX, DOCX, etc.), analyzes it on Ozor's side to produce a structured plan, lets the user approve/edit the plan, then generates and exports a finished video — preserving slide visuals along the way.

When to use

Use this skill when the input is a document/file. Signals:

  • User attached or referenced a PDF, PPTX, DOCX, Keynote export, slide deck, proposal, whitepaper, report, one-pager
  • "Turn this deck into a video"
  • "Make a video from this PDF"
  • "Video from my pitch / proposal / report"

Do NOT use this skill when:

  • Input is a short creative text brief → ozor-generate
  • Input is a URL or landing page → ozor-url-to-video
  • User only wants a written Ozor prompt → ozor-doc-to-video (prompt-only skill)
  • User wants to manage existing videos → ozor-video-library

Required MCP tools

  • mcp__ozor__analyze_document — analyzes the doc, returns a planId plus the structured plan
  • mcp__ozor__prepare_document_upload — gets a curl-uploadable URL for local files with no public URL (the common path)
  • mcp__ozor__get_plan — fetches the latest plan state
  • mcp__ozor__update_plan — applies user edits to the plan before generation
  • mcp__ozor__generate_from_plan — kicks off the video build from the approved plan, returns projectId
  • mcp__ozor__export_video — starts the render (use the projectId as videoId)
  • mcp__ozor__wait_for_export — blocks until the render is ready
  • mcp__ozor__get_embed_code — returns the <iframe> HTML

If the Ozor MCP isn't connected, tell the user and stop. Do not extract content yourself and fall back to generate_video with a hand-written script — that loses the slide visuals and overflows the 2000-char prompt limit. The plan-based flow is mandatory for documents.

Workflow

Step 1 — Get the document to Ozor

Pick the best source, in priority order:

  1. Public URL → pass url directly to analyze_document. No size limit, no token cost. Best whenever available.
  2. Local file (the common case) → call mcp__ozor__prepare_document_upload, then run the returned curl command to push the bytes directly to Ozor's storage. Bytes never traverse a tool call, so files up to ~50 MB work. Use this for any multi-MB PDF/PPTX/DOCX the user has uploaded into the conversation.
  3. fileBase64 + fileName on analyze_document → only for small files (≲ a few hundred KB). Avoid for big decks — it burns tokens.

If prepare_document_upload isn't in the tool list, uploads are disabled on this server — fall back to a URL or small base64.

Step 2 — Analyze the document

Once Ozor has the file, call:

mcp__ozor__analyze_document({
  url | uploadId | fileBase64+fileName,
  ...optional hints: targetDuration, format (16:9 / 9:16), audience, tone
})

This returns { planId, plan }. The plan contains the proposed scenes, narration, visual notes, and which slides/pages map to which scenes.

Step 3 — Present the plan to the user and STOP

This is the critical step. Do NOT skip to generation. Show the user a concise rendering of the plan:

📋 Ozor plan for "<document name>"

**Format:** 16:9 (or 9:16)
**Estimated duration:** ~X seconds
**Scenes:** N

(1) <scene title> — <one-line narration / visual>
(2) <scene title> — <one-line narration / visual>
...

Want me to generate this as-is, or change anything? You can:
- Edit a scene ("change scene 2 to ...")
- Reorder / drop / add scenes
- Change tone, length, or format
- Approve and generate

Then wait for the user to approve or request edits. Do not call generate_from_plan on your own initiative — the plan is the user's checkpoint for cost and creative control.

Step 4 — Apply edits (if any)

If the user requests changes, call mcp__ozor__update_plan({ planId, ... }) with the edits. Re-fetch with get_plan and re-show the updated plan. Loop until the user approves.

Step 5 — Generate from the plan

When the user approves:

mcp__ozor__generate_from_plan({ planId })

This returns { projectId }. Use projectId as videoId for every subsequent call.

If the response includes a jobId, wait on it with wait_for_job({ videoId: projectId, jobId }). Otherwise proceed to export.

Step 6 — Export

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

Returns shareUrl, editorUrl, downloadUrl.

Step 7 — Embed

mcp__ozor__get_embed_code({ videoId: projectId })

Step 8 — Present results

🎬 Video ready from "<document name>"

**Share:** <shareUrl>
**Editor:** <editorUrl>
**Download:** <downloadUrl>

**Embed:**
```html
<iframe ...></iframe>

Want a 9:16 social cut from the same plan? I can regenerate.


## Hints to pass into `analyze_document`

Pass any of these if the user mentioned them or they're obvious from the document:

- `targetDuration` — e.g. `"60s"`, `"90s"`. Default ~60s for proposals/decks, ~30s for one-pagers.
- `format` — `"16:9"` (default) or `"9:16"` for social.
- `audience` — investors, customers, developers, internal team, ...
- `tone` — confident, warm, technical, energetic, ...
- `focus` — optional, a one-line note like "lean into the metrics on slide 4" or "skip the team slide".

## Adaptation by document type

| Document | Default duration | Format | Tone | Focus |
|----------|------------------|--------|------|-------|
| Pitch deck | 60–90s | 16:9 | Confident | Problem → solution → traction → CTA |
| Proposal (DOCX) | 60s | 16:9 | Professional | Outcomes + price + next step |
| Whitepaper / report | 60–90s | 16:9 | Authoritative | 3 key findings, link to full doc in CTA |
| Sales one-pager | 30–45s | 16:9 | Punchy | Hook → 3 benefits → CTA |
| Release notes | 30–45s | 16:9 | Energetic | One scene per feature |
| Training / SOP | 90s+ | 16:9 | Calm, clear | Numbered steps, split into a series if > 7 scenes |

When in doubt, propose a default in your initial call and let the user override after seeing the plan.

## Iterating after generation

If the rendered video needs changes:
- Small narration/copy tweaks → `update_plan` + regenerate (this re-runs from the plan, no need to re-analyze the doc)
- New scene order or tone → same path
- New focus or audience → may be cheaper to call `analyze_document` again with stronger hints

## Errors and recovery

- **`analyze_document` fails because the file is too big** → use `prepare_document_upload` instead of base64.
- **The plan has missing or wrong content** → call `update_plan` with corrections rather than restarting.
- **`generate_from_plan` fails** → the error usually points at a specific scene. Fix via `update_plan`, retry.
- **Export hangs** → safe to call `wait_for_export` again; it resumes.

## Rules

1. **Always go plan-first.** Never call `generate_video` with hand-written prose extracted from the document. The whole point of this skill is that Ozor sees the slides directly.
2. **Always show the plan to the user and wait for approval** before `generate_from_plan`. Generation is the expensive step; the plan is the checkpoint.
3. **For local files, use `prepare_document_upload` + curl.** Base64 is for tiny files only.
4. **Use `projectId` as `videoId` everywhere after `generate_from_plan`.** It's the same identifier.
5. **Surface every URL** — share, editor, download, embed.
6. **Don't summarize the document yourself** — Ozor's `analyze_document` does that and preserves visuals. Your job is to orchestrate the MCP and curate the plan, not to rewrite the content.

レビュー

まだレビューはありません。使ってみた感想をお寄せください。

同じリポジトリのスキル

概要と使いどころ

Convert changelogs, release notes, and version updates into Ozor.ai video prompts. Use this skill whenever the user has a CHANGELOG.md, release notes, GitHub release, version bump summary, or any list of product changes and wants to turn them into a video. Trigger on phrases like 'video from my changelog', 'release notes video', 'make a video from this update', 'announce this release', 'version update video', 'what's new video', 'product update video', 'feature release video', or any request to transform a list of product changes into video format using Ozor.

日本語の概要は準備中です。原文の説明を表示しています。

Mintii-Labs/ozor-skills62026年5月28日 更新

Convert any document into a production-ready Ozor.ai video prompt. Use this skill whenever the user uploads a document (PDF, PowerPoint, Google Doc, Markdown, text file, or URL) and wants to turn it into a video. Also trigger when the user mentions 'turn this doc into a video', 'make a video from this PDF', 'video from my pitch deck', 'convert this presentation to video', 'video from this blog post', 'video from these release notes', 'create a video from this document', 'turn this into an explainer', or any request to transform written content into video format using Ozor. This skill reads the document, extracts the core message, structures it into scenes, and outputs a complete prompt the user can paste directly into Ozor.ai.

日本語の概要は準備中です。原文の説明を表示しています。

Mintii-Labs/ozor-skills62026年5月28日 更新

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-skills62026年5月28日 更新

Convert any landing page or website into an Ozor.ai video prompt. Use this skill whenever the user provides a URL, landing page content, or website copy and wants to turn it into a video. Trigger on phrases like 'make a video from my website', 'video from this landing page', 'turn my homepage into a video', 'video from this URL', 'product page to video', 'website to video', 'marketing video from my site', 'convert this page to video', or any request to transform web content into video format using Ozor.

日本語の概要は準備中です。原文の説明を表示しています。

Mintii-Labs/ozor-skills62026年5月28日 更新

Analyze and improve existing Ozor.ai video prompts for better output quality. Use this skill whenever the user has an Ozor prompt that produced mediocre results, wants to improve a video prompt, needs help debugging why a video didn't turn out well, or wants expert feedback on their prompt before running it. Trigger on phrases like 'improve this prompt', 'optimize my Ozor prompt', 'why did my video look bad', 'fix this prompt', 'make this prompt better', 'review my Ozor prompt', 'the video didn't turn out right', 'prompt feedback', 'better results from Ozor', or any request to refine, debug, or enhance an existing Ozor video prompt.

日本語の概要は準備中です。原文の説明を表示しています。

Mintii-Labs/ozor-skills62026年5月28日 更新

Generate a batch of social media video prompts for multiple platforms from a single input. Use this skill whenever the user wants to create videos for multiple social platforms at once, repurpose one video across platforms, or create a social media video campaign. Trigger on phrases like 'social media videos', 'videos for all platforms', 'Instagram and TikTok video', 'social campaign', 'batch of social videos', 'repurpose this for social', 'video for every platform', 'social clips', 'create Reels and Shorts', 'multi-platform video', or any request involving creating short-form video content for multiple social media platforms using Ozor.

日本語の概要は準備中です。原文の説明を表示しています。

Mintii-Labs/ozor-skills62026年5月28日 更新

Mintii-Labs のスキルをすべて見る

このスキルの問題を報告する