Communitygithub.com

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).

ozor-skills とは?

ozor-skills is a Claude Code agent skill that 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).

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

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

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

ドキュメント

Ozor URL-to-Video

End-to-end web-page-to-video on Ozor.ai. Hand Ozor a URL, get a plan back that reflects the actual page content (headlines, value props, social proof, CTA), approve or edit, and ship a finished video.

When to use

Use this skill when the input is a URL. Signals:

  • "Make a video from https://..."
  • "Video from my landing page / homepage / product page"
  • "Turn this blog post into a video"
  • "Video from this article / changelog page"
  • Any message that contains a URL the user expects you to read

Do NOT use this skill when:

  • Input is a short text brief → ozor-generate
  • Input is an attached local file (PDF/PPTX/DOCX) → ozor-document-video
  • User wants a written prompt only → ozor-landing-page-to-video (prompt-only skill)
  • User wants to manage existing videos → ozor-video-library

Required MCP tools

  • mcp__ozor__analyze_document — accepts a url parameter directly; no upload needed
  • mcp__ozor__get_plan / mcp__ozor__update_plan — review/edit the plan before generation
  • mcp__ozor__generate_from_plan — kicks off the build, returns projectId
  • mcp__ozor__wait_for_job — if the response includes a jobId
  • mcp__ozor__export_video, mcp__ozor__wait_for_export
  • mcp__ozor__get_embed_code

If the MCP isn't connected, tell the user and stop. Do not browse the URL yourself and hand-write a prompt — Ozor extracts brand colors, hero imagery, and structure directly from the page. Your scraped text would lose that.

Workflow

Step 1 — Hand the URL to Ozor

mcp__ozor__analyze_document({
  url: "<the URL>",
  ...optional hints: targetDuration, format, audience, tone, focus
})

For URLs:

  • Landing pages / product pages → default to format: "9:16" or "16:9" (ask if not obvious — vertical is great for social, landscape for embedding on the site itself), targetDuration: "30s"–"45s", tone "confident".
  • Blog posts / articles → format: "16:9", targetDuration: "60s"–"90s", tone "informative".
  • Changelog / release pages → format: "16:9", targetDuration: "30s"–"45s", tone "energetic", focus "one scene per shipped feature".
  • Documentation pages → format: "16:9", targetDuration: "60s", tone "clear, technical", focus "explain what this feature does and how to use it".

Returns { planId, plan }.

Step 2 — Present the plan and STOP

Render the plan to the user concisely:

📋 Ozor plan for <URL>

**Source:** <page title or domain>
**Format:** 16:9 / 9:16
**Estimated duration:** ~X seconds
**Detected brand:** <colors / product name if Ozor surfaced them>
**Scenes:** N

(1) <scene title> — <one-line direction>
(2) <scene title> — <one-line direction>
...

Approve as-is, or change anything? You can edit scenes, swap format, change tone, or shift focus.

Wait for approval. Don't call generate_from_plan yet.

Step 3 — Apply edits (if any)

Use mcp__ozor__update_plan({ planId, ... }). Re-show the plan with get_plan. Loop until approved.

Step 4 — Generate

mcp__ozor__generate_from_plan({ planId })   // -> { projectId, jobId? }

If a jobId comes back, mcp__ozor__wait_for_job({ videoId: projectId, jobId }).

Step 5 — Export

mcp__ozor__export_video({ videoId: projectId })
mcp__ozor__wait_for_export({ videoId: projectId })   // -> shareUrl, editorUrl, downloadUrl

Step 6 — Embed

mcp__ozor__get_embed_code({ videoId: projectId })

Step 7 — Present results

🎬 Video ready from <URL>

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

**Embed (drop this on your site):**
```html
<iframe ...></iframe>

Want a vertical 9:16 cut for social, or a longer 90s explainer version? I can regenerate from the same plan.


## What the URL flow does best

- **Landing pages** — Ozor picks up the hero headline, the value prop, social proof, the CTA, and brand colors. Your prompt would lose all of that.
- **Blog posts** — picks up the thesis and section structure; produces an explainer that maps to the article.
- **Changelogs** — naturally maps each release/feature to its own scene.
- **Product pages** — pulls product screenshots / hero imagery into scenes when available.

## Format-decision heuristic

If the user didn't say:

- URL is a homepage or product page **and** the obvious use case is social/ads → `9:16`
- URL is a homepage or product page **and** the obvious use case is embedding on the page itself → `16:9`
- URL is a blog / article / doc / changelog → `16:9`

When ambiguous, propose `16:9` as default and offer a `9:16` rerun at the end.

## Variants worth offering after the first render

Mention these only after the user has the first video — don't preemptively generate them:

- **9:16 social cut** of a landscape video → regenerate from the same plan with `update_plan({ planId, format: "9:16" })`.
- **Short teaser (15s)** + **full explainer (60s)** from the same page.
- **Two audiences** (e.g. "technical buyer" vs "executive buyer") — re-analyze with a different `audience` hint.

## Errors and recovery

- **`analyze_document` returns a thin plan** (often: paywalled page, JS-rendered SPA Ozor couldn't read) → tell the user, ask for an alternative URL or whether they can paste the key content as a brief for `ozor-generate`.
- **Detected brand colors look wrong** → `update_plan` with corrected colors before generating.
- **Generation fails** → check the scene the error references, fix via `update_plan`, retry.
- **Export hangs** → call `wait_for_export` again; it resumes.

## Rules

1. **Always pass the URL to `analyze_document`.** Never scrape the page yourself and route to `generate_video` — that throws away Ozor's brand and visual extraction.
2. **Always show the plan and wait for approval** before `generate_from_plan`. The plan is where format and tone get locked in.
3. **Use `projectId` as `videoId`** for export, wait_for_export, and embed.
4. **Surface every URL** — share, editor, download, embed.
5. **Propose, don't pre-generate, variants.** Don't burn renders on 9:16 + 16:9 + teaser without being asked.

Individual skills in this repo

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

Mintii-Labs/ozor-skills

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).

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

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.

関連スキル