Communitygithub.com

Mintii-Labs/ozor-skills

Transformez un document réel (PDF, PPTX, DOCX, export Keynote, diaporama, proposition, livre blanc, rapport) en une vidéo générée par IA avec Ozor MCP.

Qu'est-ce que ozor-skills ?

Cette compétence permet de convertir automatiquement un fichier document (PDF, PPTX, DOCX, export Keynote, etc.) en une vidéo de qualité professionnelle via la plateforme Ozor.ai. Elle est idéale pour les pitch decks, propositions, rapports ou livres blancs, et préserve les visuels des diapositives. Le flux de travail est planifié : analyse du document, présentation du plan à l'utilisateur pour approbation ou modification, puis génération et export de la vidéo. Compatible avec les agents comme Claude Code, Cursor, Codex, elle utilise les outils MCP d'Ozor pour orchestrer chaque étape. L'utilisateur garde le contrôle créatif et financier, car la génération coûteuse ne démarre qu'après validation du plan.

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

Demander à votre IA préférée

Ouvre une nouvelle conversation avec cette compétence d'agent déjà préchargée.

Documentation

Ozor Document-vers-Vidéo

Transformation complète d'un document en vidéo sur Ozor.ai. Prend un fichier réel (PDF, PPTX, DOCX, etc.), l'analyse côté Ozor pour produire un plan structuré, laisse l'utilisateur approuver/modifier le plan, puis génère et exporte une vidéo finie — en préservant les visuels des diapositives.

Quand l'utiliser

Utilisez cette compétence lorsque l'entrée est un document/fichier. Signaux :

  • L'utilisateur a attaché ou référencé un PDF, PPTX, DOCX, export Keynote, diaporama, proposition, livre blanc, rapport, one-pager
  • "Transforme ce deck en vidéo"
  • "Fais une vidéo à partir de ce PDF"
  • "Vidéo de ma pitch / proposition / rapport"

N'utilisez PAS cette compétence quand :

  • L'entrée est un court brief textuel créatif → ozor-generate
  • L'entrée est une URL ou une page d'accueil → ozor-url-to-video
  • L'utilisateur veut seulement un prompt écrit Ozor → ozor-doc-to-video (compétence prompt uniquement)
  • L'utilisateur veut gérer des vidéos existantes → ozor-video-library

Outils MCP requis

  • mcp__ozor__analyze_document — analyse le document, retourne un planId et le plan structuré
  • mcp__ozor__prepare_document_upload — obtient une URL curl téléchargeable pour les fichiers locaux sans URL publique (le cas courant)
  • mcp__ozor__get_plan — récupère l'état le plus récent du plan
  • mcp__ozor__update_plan — applique les modifications de l'utilisateur au plan avant génération
  • mcp__ozor__generate_from_plan — lance la création de la vidéo à partir du plan approuvé, retourne projectId
  • mcp__ozor__export_video — démarre le rendu (utilisez projectId comme videoId)
  • mcp__ozor__wait_for_export — bloque jusqu'à ce que le rendu soit prêt
  • mcp__ozor__get_embed_code — retourne le HTML <iframe>

Si le MCP Ozor n'est pas connecté, informez l'utilisateur et arrêtez-vous. N'extrayez pas vous-même le contenu pour recourir à generate_video avec un script manuscrit — cela perd les visuels des diapositives et dépasse la limite de 2000 caractères des prompts. Le flux basé sur le plan est obligatoire pour les documents.

Flux de travail

Étape 1 — Transmettre le document à Ozor

Choisissez la meilleure source, par ordre de priorité :

  1. URL publique → passez url directement à analyze_document. Pas de limite de taille, pas de coût en tokens. Meilleur quand disponible.
  2. Fichier local (le cas courant) → appelez mcp__ozor__prepare_document_upload, puis exécutez la commande curl retournée pour pousser les octets directement vers le stockage Ozor. Les octets ne transitent jamais par un appel d'outil, donc les fichiers jusqu'à ~50 Mo fonctionnent. Utilisez ceci pour tout PDF/PPTX/DOCX de plusieurs Mo que l'utilisateur a chargé dans la conversation.
  3. fileBase64 + fileName sur analyze_document → uniquement pour les petits fichiers (≲ quelques centaines de Ko). Évitez pour les gros decks — cela consomme des tokens.

Si prepare_document_upload n'est pas dans la liste des outils, les téléversements sont désactivés sur ce serveur — revenez à une URL ou un petit base64.

Étape 2 — Analyser le document

Une fois qu'Ozor a le fichier, appelez :

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

Cela retourne { planId, plan }. Le plan contient les scènes proposées, la narration, les notes visuelles et quelles diapositives/pages correspondent à quelles scènes.

Étape 3 — Présenter le plan à l'utilisateur et STOPPER

C'est l'étape cruciale. Ne passez PAS à la génération. Montrez à l'utilisateur un rendu concis du plan :

📋 Plan Ozor pour "<nom du document>"

**Format :** 16:9 (ou 9:16)
**Durée estimée :** ~X secondes
**Scènes :** N

(1) <titre de la scène> — <narration/visuel en une ligne>
(2) <titre de la scène> — <narration/visuel en une ligne>
...

Voulez-vous que je génère tel quel, ou changer quelque chose ? Vous pouvez :
- Modifier une scène ("change la scène 2 en ...")
- Réorganiser / supprimer / ajouter des scènes
- Changer le ton, la durée ou le format
- Approuver et générer

Ensuite attendez que l'utilisateur approuve ou demande des modifications. N'appelez pas generate_from_plan de votre propre initiative — le plan est le point de contrôle de l'utilisateur pour le coût et le contrôle créatif.

Étape 4 — Appliquer les modifications (le cas échéant)

Si l'utilisateur demande des changements, appelez mcp__ozor__update_plan({ planId, ... }) avec les modifications. Re-récupérez avec get_plan et ré-affichez le plan mis à jour. Bouclez jusqu'à ce que l'utilisateur approuve.

Étape 5 — Générer à partir du plan

Quand l'utilisateur approuve :

mcp__ozor__generate_from_plan({ planId })

Cela retourne { projectId }. Utilisez projectId comme videoId pour tous les appels suivants.

Si la réponse inclut un jobId, attendez-le avec wait_for_job({ videoId: projectId, jobId }). Sinon, passez à l'export.

Étape 6 — Exporter

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

Retourne shareUrl, editorUrl, downloadUrl.

Étape 7 — Intégration

mcp__ozor__get_embed_code({ videoId: projectId })

Étape 8 — Présenter les résultats

🎬 Vidéo prête à partir de "<nom du document>"

**Partage :** <shareUrl>
**Éditeur :** <editorUrl>
**Téléchargement :** <downloadUrl>

**Intégration :**
```html
<iframe ...></iframe>

Vous voulez un format 9:16 pour les réseaux sociaux à partir du même plan ? Je peux regénérer.


## Indices à passer à `analyze_document`

Passez tout ce que l'utilisateur a mentionné ou qui est évident d'après le document :

- `targetDuration` — ex. `"60s"`, `"90s"`. Par défaut ~60s pour propositions/decks, ~30s pour one-pagers.
- `format` — `"16:9"` (par défaut) ou `"9:16"` pour les réseaux sociaux.
- `audience` — investisseurs, clients, développeurs, équipe interne, ...
- `tone` — confiant, chaleureux, technique, énergique, ...
- `focus` — optionnel, une note d'une ligne comme "insiste sur les métriques de la diapo 4" ou "saute la diapo équipe".

## Adaptation par type de document

| Document | Durée par défaut | Format | Ton | Focus |
|----------|------------------|--------|------|-------|
| Pitch deck | 60–90s | 16:9 | Confiant | Problème → solution → traction → CTA |
| Proposition (DOCX) | 60s | 16:9 | Professionnel | Résultats + prix + prochaine étape |
| Livre blanc / rapport | 60–90s | 16:9 | Autoritaire | 3 conclusions clés, lien vers le document complet dans le CTA |
| One-pager commercial | 30–45s | 16:9 | Percutant | Accroche → 3 bénéfices → CTA |
| Notes de version | 30–45s | 16:9 | Énergique | Une scène par fonctionnalité |
| Formation / SOP | 90s+ | 16:9 | Calme, clair | Étapes numérotées, diviser en série si > 7 scènes |

En cas de doute, proposez une valeur par défaut dans votre appel initial et laissez l'utilisateur la modifier après avoir vu le plan.

## Itération après génération

Si la vidéo rendue nécessite des modifications :
- Petites retouches de narration/copie → `update_plan` + regénérer (cela repart du plan, pas besoin de ré-analyser le doc)
- Nouvel ordre des scènes ou ton → même chemin
- Nouveau focus ou public → peut être moins coûteux d'appeler `analyze_document` à nouveau avec des indices plus forts

## Erreurs et récupération

- **`analyze_document` échoue car le fichier est trop volumineux** → utilisez `prepare_document_upload` au lieu de base64.
- **Le plan a un contenu manquant ou erroné** → appelez `update_plan` avec des corrections plutôt que de redémarrer.
- **`generate_from_plan` échoue** → l'erreur pointe généralement vers une scène spécifique. Corrigez via `update_plan`, réessayez.
- **L'export bloque** → il est sûr d'appeler `wait_for_export` à nouveau ; il reprend.

## Règles

1. **Toujours d'abord le plan.** N'appelez jamais `generate_video` avec un texte manuscrit extrait du document. Tout l'intérêt de cette compétence est qu'Ozor voit les diapositives directement.
2. **Toujours montrer le plan à l'utilisateur et attendre l'approbation** avant `generate_from_plan`. La génération est l'étape coûteuse ; le plan est le point de contrôle.
3. **Pour les fichiers locaux, utilisez `prepare_document_upload` + curl.** Le base64 est réservé aux très petits fichiers.
4. **Utilisez `projectId` comme `videoId` partout après `generate_from_plan`.** C'est le même identifiant.
5. **Révélez chaque URL** — partage, éditeur, téléchargement, intégration.
6. **Ne résumez pas le document vous-même** — `analyze_document` d'Ozor le fait et préserve les visuels. Votre travail est d'orchestrer le MCP et de sélectionner le plan, pas de réécrire le contenu.

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.

Skills associés