Communitygithub.com

Mintii-Labs/ozor-skills

Convierte un documento real (PDF, PPTX, DOCX, exportación de Keynote, presentación, propuesta, informe técnico, reporte) en un video terminado generado por IA usando el MCP de Ozor.

¿Qué es ozor-skills?

Esta habilidad permite a un agente de IA (como Claude Code, Cursor o Codex) transformar documentos de oficina en videos profesionales generados por IA, conservando los elementos visuales de las diapositivas originales. Utiliza el protocolo MCP de Ozor para seguir un flujo basado en planos: primero se analiza el documento para generar un plan estructurado con escenas, narración y notas visuales; luego se presenta el plan al usuario para su aprobación o edición; y finalmente se genera y exporta el video. Está diseñada para evitar la pérdida de calidad visual que ocurriría si se extrajera el texto manualmente y se usara un generador de video básico. Soporta archivos locales (hasta ~50 MB) mediante carga directa, así como URLs públicas. Es ideal para presentaciones, propuestas, informes técnicos, whitepapers y cualquier documento del que se quiera obtener un video pulido. No debe usarse para briefs de texto creativo (usar ozor-generate) ni para páginas web (usar ozor-url-to-video).

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

Preguntar en tu IA favorita

Abre un nuevo chat con esta habilidad de agente ya precargada.

Documentación

Ozor Documento a Video

Conversión completa de documento a video en Ozor.ai. Toma un archivo real (PDF, PPTX, DOCX, etc.), lo analiza en el lado de Ozor para producir un plan estructurado, permite al usuario aprobar/editar el plan, luego genera y exporta un video terminado, conservando los elementos visuales de las diapositivas.

Cuándo usar

Usa esta habilidad cuando la entrada sea un documento/archivo. Señales:

  • El usuario adjuntó o mencionó un PDF, PPTX, DOCX, exportación de Keynote, presentación, propuesta, informe técnico, reporte, one-pager
  • "Convierte esta presentación en un video"
  • "Haz un video a partir de este PDF"
  • "Video de mi propuesta / presentación / informe"

NO uses esta habilidad cuando:

  • La entrada sea un brief de texto creativo corto → ozor-generate
  • La entrada sea una URL o página de destino → ozor-url-to-video
  • El usuario solo quiera un prompt escrito de Ozor → ozor-doc-to-video (habilidad solo de prompt)
  • El usuario quiera gestionar videos existentes → ozor-video-library

Herramientas MCP requeridas

  • mcp__ozor__analyze_document — analiza el doc, devuelve un planId más el plan estructurado
  • mcp__ozor__prepare_document_upload — obtiene una URL de subida mediante curl para archivos locales sin URL pública (el caso común)
  • mcp__ozor__get_plan — obtiene el estado más reciente del plan
  • mcp__ozor__update_plan — aplica ediciones del usuario al plan antes de la generación
  • mcp__ozor__generate_from_plan — inicia la construcción del video a partir del plan aprobado, devuelve projectId
  • mcp__ozor__export_video — inicia el renderizado (usa el projectId como videoId)
  • mcp__ozor__wait_for_export — bloquea hasta que el renderizado esté listo
  • mcp__ozor__get_embed_code — devuelve el HTML del <iframe>

Si el MCP de Ozor no está conectado, informa al usuario y detente. No extraigas contenido tú mismo ni recurras a generate_video con un guion escrito a mano: eso pierde los elementos visuales de las diapositivas y supera el límite de 2000 caracteres del prompt. El flujo basado en planos es obligatorio para documentos.

Flujo de trabajo

Paso 1 — Llevar el documento a Ozor

Elige la mejor fuente, en orden de prioridad:

  1. URL pública → pasa url directamente a analyze_document. Sin límite de tamaño, sin coste de tokens. Mejor opción cuando esté disponible.
  2. Archivo local (el caso común) → llama a mcp__ozor__prepare_document_upload, luego ejecuta el comando curl devuelto para enviar los bytes directamente al almacenamiento de Ozor. Los bytes nunca pasan por una llamada de herramienta, por lo que archivos de hasta ~50 MB funcionan. Usa esto para cualquier PDF/PPTX/DOCX de varios MB que el usuario haya subido a la conversación.
  3. fileBase64 + fileName en analyze_document → solo para archivos pequeños (≲ unos pocos cientos de KB). Evitar para presentaciones grandes: consume tokens.

Si prepare_document_upload no está en la lista de herramientas, las subidas están deshabilitadas en este servidor. Recurre a una URL o base64 pequeño.

Paso 2 — Analizar el documento

Una vez que Ozor tenga el archivo, llama:

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

Esto devuelve { planId, plan }. El plan contiene las escenas propuestas, la narración, las notas visuales y qué diapositivas/páginas corresponden a cada escena.

Paso 3 — Presentar el plan al usuario y DETENERSE

Este es el paso crítico. No te saltes a la generación. Muestra al usuario una representación concisa del plan:

📋 Plan de Ozor para "<nombre del documento>"

**Formato:** 16:9 (o 9:16)
**Duración estimada:** ~X segundos
**Escenas:** N

(1) <título de escena> — <narración / visual de una línea>
(2) <título de escena> — <narración / visual de una línea>
...

¿Quieres que genere esto tal cual, o cambiar algo? Puedes:
- Editar una escena ("cambia la escena 2 a ...")
- Reordenar / eliminar / añadir escenas
- Cambiar tono, duración o formato
- Aprobar y generar

Luego espera a que el usuario apruebe o solicite ediciones. No llames a generate_from_plan por tu cuenta: el plan es el punto de control del usuario para el coste y el control creativo.

Paso 4 — Aplicar ediciones (si las hay)

Si el usuario solicita cambios, llama a mcp__ozor__update_plan({ planId, ... }) con las ediciones. Vuelve a obtener el plan con get_plan y vuelve a mostrar el plan actualizado. Repite hasta que el usuario apruebe.

Paso 5 — Generar a partir del plan

Cuando el usuario apruebe:

mcp__ozor__generate_from_plan({ planId })

Esto devuelve { projectId }. Usa projectId como videoId para todas las llamadas posteriores.

Si la respuesta incluye un jobId, espera con wait_for_job({ videoId: projectId, jobId }). De lo contrario, continúa con la exportación.

Paso 6 — Exportar

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

Devuelve shareUrl, editorUrl, downloadUrl.

Paso 7 — Insertar (embed)

mcp__ozor__get_embed_code({ videoId: projectId })

Paso 8 — Presentar resultados

🎬 Video listo desde "<nombre del documento>"

**Compartir:** <shareUrl>
**Editor:** <editorUrl>
**Descargar:** <downloadUrl>

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

¿Quieres un corte social 9:16 a partir del mismo plan? Puedo regenerarlo.


## Sugerencias para pasar a `analyze_document`

Pasa cualquiera de estas si el usuario las mencionó o si son obvias a partir del documento:

- `targetDuration` — p.ej. `"60s"`, `"90s"`. Por defecto ~60s para propuestas/presentaciones, ~30s para one-pagers.
- `format` — `"16:9"` (por defecto) o `"9:16"` para redes sociales.
- `audience` — inversores, clientes, desarrolladores, equipo interno, ...
- `tone` — seguro, cálido, técnico, enérgico, ...
- `focus` — opcional, una nota de una línea como "enfatiza las métricas de la diapositiva 4" o "salta la diapositiva del equipo".

## Adaptación por tipo de documento

| Documento | Duración por defecto | Formato | Tono | Enfoque |
|-----------|----------------------|---------|------|---------|
| Presentación para inversores | 60–90s | 16:9 | Seguro | Problema → solución → tracción → CTA |
| Propuesta (DOCX) | 60s | 16:9 | Profesional | Resultados + precio + siguiente paso |
| Informe técnico / whitepaper | 60–90s | 16:9 | Autoritario | 3 hallazgos clave, enlace al documento completo en CTA |
| One-pager de ventas | 30–45s | 16:9 | Impactante | Gancho → 3 beneficios → CTA |
| Notas de versión | 30–45s | 16:9 | Enérgico | Una escena por funcionalidad |
| Capacitación / SOP | 90s+ | 16:9 | Tranquilo, claro | Pasos numerados, dividir en una serie si > 7 escenas |

En caso de duda, propón un valor por defecto en tu llamada inicial y deja que el usuario lo anule después de ver el plan.

## Iterar después de la generación

Si el video renderizado necesita cambios:
- Ajustes pequeños de narración/texto → `update_plan` + regenerar (esto se ejecuta desde el plan, no es necesario volver a analizar el documento)
- Nuevo orden de escenas o tono → mismo camino
- Nuevo enfoque o audiencia → puede ser más barato llamar a `analyze_document` de nuevo con sugerencias más fuertes

## Errores y recuperación

- **`analyze_document` falla porque el archivo es demasiado grande** → usa `prepare_document_upload` en lugar de base64.
- **El plan tiene contenido faltante o incorrecto** → llama a `update_plan` con correcciones en lugar de reiniciar.
- **`generate_from_plan` falla** → el error suele apuntar a una escena específica. Arregla mediante `update_plan`, reintenta.
- **La exportación se cuelga** → es seguro volver a llamar a `wait_for_export`; se reanuda.

## Reglas

1. **Siempre ve primero con el plan.** Nunca llames a `generate_video` con prosa escrita a mano extraída del documento. El objetivo de esta habilidad es que Ozor vea las diapositivas directamente.
2. **Siempre muestra el plan al usuario y espera la aprobación** antes de `generate_from_plan`. La generación es el paso costoso; el plan es el punto de control.
3. **Para archivos locales, usa `prepare_document_upload` + curl.** Base64 solo para archivos muy pequeños.
4. **Usa `projectId` como `videoId` en todas partes después de `generate_from_plan`.** Es el mismo identificador.
5. **Muestra todas las URLs** — compartir, editor, descarga, inserción.
6. **No resumas el documento tú mismo** — `analyze_document` de Ozor lo hace y conserva los elementos visuales. Tu trabajo es orquestar el MCP y curar el plan, no reescribir el contenido.

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 relacionados