Ozor URL-a-Video
Flujo completo de página web a video en Ozor.ai. Entrégale a Ozor una URL y obtén un plan que refleje el contenido real de la página (titulares, propuestas de valor, pruebas sociales, CTA), aprueba o edita, y genera un video terminado.
Cuándo usar
Usa este skill cuando la entrada sea una URL. Señales:
- "Haz un video desde https://..."
- "Video desde mi landing page / página de inicio / página de producto"
- "Convierte este artículo de blog en un video"
- "Video desde este artículo / página de changelog"
- Cualquier mensaje que contenga una URL que el usuario espera que leas
NO uses este skill cuando:
- La entrada es un texto breve →
ozor-generate - La entrada es un archivo local adjunto (PDF/PPTX/DOCX) →
ozor-document-video - El usuario solo quiere un prompt escrito →
ozor-landing-page-to-video(skill solo de prompt) - El usuario quiere gestionar videos existentes →
ozor-video-library
Herramientas MCP requeridas
mcp__ozor__analyze_document— acepta un parámetrourldirectamente; no requiere subidamcp__ozor__get_plan/mcp__ozor__update_plan— revisa/edita el plan antes de la generaciónmcp__ozor__generate_from_plan— inicia la compilación, devuelveprojectIdmcp__ozor__wait_for_job— si la respuesta incluye unjobIdmcp__ozor__export_video,mcp__ozor__wait_for_exportmcp__ozor__get_embed_code
Si el MCP no está conectado, informa al usuario y detente. No navegues tú mismo la URL y redactes un prompt manualmente — Ozor extrae los colores de marca, las imágenes hero y la estructura directamente de la página. Tu texto raspado perdería todo eso.
Flujo de trabajo
Paso 1 — Pasa la URL a Ozor
mcp__ozor__analyze_document({
url: "<la URL>",
...pistas opcionales: targetDuration, format, audience, tone, focus
})
Para URLs:
- Landing pages / páginas de producto → predetermina
format: "9:16"o"16:9"(pregunta si no es obvio — vertical es ideal para redes sociales, apaisado para incrustar en el propio sitio),targetDuration: "30s"–"45s", tone"confident". - Blogs / artículos →
format: "16:9",targetDuration: "60s"–"90s", tone"informative". - Changelog / páginas de lanzamiento →
format: "16:9",targetDuration: "30s"–"45s", tone"energetic", focus"one scene per shipped feature". - Páginas de documentación →
format: "16:9",targetDuration: "60s", tone"clear, technical", focus"explain what this feature does and how to use it".
Devuelve { planId, plan }.
Paso 2 — Presenta el plan y DETENTE
Muestra el plan al usuario de forma concisa:
📋 Plan de Ozor para <URL>
**Fuente:** <título de la página o dominio>
**Formato:** 16:9 / 9:16
**Duración estimada:** ~X segundos
**Marca detectada:** <colores / nombre del producto si Ozor los encontró>
**Escenas:** N
(1) <título de escena> — <dirección de una línea>
(2) <título de escena> — <dirección de una línea>
...
¿Apruebas tal cual, o quieres cambiar algo? Puedes editar escenas, cambiar formato, modificar tono o ajustar el enfoque.
Espera la aprobación. No llames a generate_from_plan todavía.
Paso 3 — Aplica ediciones (si las hay)
Usa mcp__ozor__update_plan({ planId, ... }). Vuelve a mostrar el plan con get_plan. Repite hasta que esté aprobado.
Paso 4 — Genera
mcp__ozor__generate_from_plan({ planId }) // -> { projectId, jobId? }
Si llega un jobId, ejecuta mcp__ozor__wait_for_job({ videoId: projectId, jobId }).
Paso 5 — Exporta
mcp__ozor__export_video({ videoId: projectId })
mcp__ozor__wait_for_export({ videoId: projectId }) // -> shareUrl, editorUrl, downloadUrl
Paso 6 — Incrusta
mcp__ozor__get_embed_code({ videoId: projectId })
Paso 7 — Presenta los resultados
🎬 Video listo desde <URL>
**Compartir:** <shareUrl>
**Editor:** <editorUrl>
**Descargar:** <downloadUrl>
**Incrustación (pégalo en tu sitio):**
```html
<iframe ...></iframe>
¿Quieres un corte vertical 9:16 para redes sociales, o una versión explicativa más larga de 90 segundos? Puedo regenerar desde el mismo plan.
## En qué destaca el flujo de URL
- **Landing pages** — Ozor captura el titular principal, la propuesta de valor, las pruebas sociales, el CTA y los colores de marca. Tu prompt perdería todo eso.
- **Blogs** — captura la tesis y la estructura de secciones; produce un video explicativo que corresponde al artículo.
- **Changelogs** — mapea naturalmente cada lanzamiento/característica a su propia escena.
- **Páginas de producto** — incorpora capturas de pantalla / imágenes hero del producto en las escenas cuando están disponibles.
## Heurística para elegir formato
Si el usuario no lo especificó:
- URL es una página de inicio o de producto **y** el caso de uso obvio es redes sociales/anuncios → `9:16`
- URL es una página de inicio o de producto **y** el caso de uso obvio es incrustar en la propia página → `16:9`
- URL es un blog / artículo / documentación / changelog → `16:9`
Cuando haya ambigüedad, propón `16:9` como predeterminado y ofrece una reejecución en `9:16` al final.
## Variantes que vale la pena ofrecer después del primer render
Menciona estas solo después de que el usuario tenga el primer video — no las generes por adelantado:
- **Corte social 9:16** de un video apaisado → regenera desde el mismo plan con `update_plan({ planId, format: "9:16" })`.
- **Teaser corto (15s)** + **explicador completo (60s)** desde la misma página.
- **Dos audiencias** (p. ej., "comprador técnico" vs "comprador ejecutivo") — reanaliza con una pista `audience` diferente.
## Errores y recuperación
- **`analyze_document` devuelve un plan poco detallado** (a menudo: página con muro de pago, SPA renderizada con JS que Ozor no pudo leer) → informa al usuario, pide una URL alternativa o si puede pegar el contenido clave como texto breve para `ozor-generate`.
- **Los colores de marca detectados parecen incorrectos** → ejecuta `update_plan` con los colores corregidos antes de generar.
- **La generación falla** → revisa la escena a la que hace referencia el error, corrígela con `update_plan` y reintenta.
- **La exportación se bloquea** → vuelve a llamar a `wait_for_export`; se reanuda.
## Reglas
1. **Pasa siempre la URL a `analyze_document`.** Nunca hagas scraping tú mismo y llames a `generate_video` — eso descarta la extracción visual y de marca de Ozor.
2. **Muestra siempre el plan y espera la aprobación** antes de `generate_from_plan`. El plan es donde se fijan el formato y el tono.
3. **Usa `projectId` como `videoId`** para exportación, wait_for_export e incrustación.
4. **Entrega siempre todas las URLs** — compartir, editor, descarga, incrustación.
5. **Propón variantes, no las generes por adelantado.** No quemes renders en 9:16 + 16:9 + teaser sin que te lo pidan.