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 unplanIdet 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 planmcp__ozor__update_plan— applique les modifications de l'utilisateur au plan avant générationmcp__ozor__generate_from_plan— lance la création de la vidéo à partir du plan approuvé, retourneprojectIdmcp__ozor__export_video— démarre le rendu (utilisezprojectIdcommevideoId)mcp__ozor__wait_for_export— bloque jusqu'à ce que le rendu soit prêtmcp__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é :
- URL publique → passez
urldirectement àanalyze_document. Pas de limite de taille, pas de coût en tokens. Meilleur quand disponible. - 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. fileBase64+fileNamesuranalyze_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.