Communitygithub.com

Mintii-Labs/ozor-skills

Transforme um documento real (PDF, PPTX, DOCX, exportação do Keynote, apresentação de slides, proposta, whitepaper, relatório) em um vídeo finalizado gerado por IA usando o MCP da Ozor.

O que é ozor-skills?

Esta skill permite que um assistente de IA (como Claude Code, Cursor ou Codex) transforme automaticamente documentos enviados pelo usuário (PDF, PPTX, DOCX, Keynote, etc.) em vídeos profissionais gerados por IA, utilizando a plataforma Ozor.ai. É ideal para transformar pitch decks, propostas, whitepapers e relatórios em vídeos prontos para compartilhamento, preservando os visuais originais dos slides. O fluxo de trabalho é baseado em um plano: o documento é analisado pela Ozor, um plano estruturado é gerado e apresentado ao usuário para aprovação/edição, e só então o vídeo é gerado e exportado. A skill utiliza as ferramentas MCP da Ozor para orquestrar todo o processo, desde o upload do arquivo até a obtenção do código de incorporação do vídeo finalizado.

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

Perguntar na sua IA favorita

Abre um novo chat com esta habilidade de agente já pré-carregada.

Documentação

Ozor Documento-para-Vídeo

Pipeline completo de documento para vídeo no Ozor.ai. Recebe um arquivo real (PDF, PPTX, DOCX, etc.), analisa-o no lado da Ozor para produzir um plano estruturado, permite que o usuário aprove/edite o plano e, em seguida, gera e exporta um vídeo finalizado — preservando os visuais dos slides ao longo do processo.

Quando usar

Use esta skill quando a entrada for um documento/arquivo. Sinais:

  • Usuário anexou ou referenciou um PDF, PPTX, DOCX, exportação do Keynote, apresentação de slides, proposta, whitepaper, relatório, one-pager
  • "Transforme esta apresentação em um vídeo"
  • "Faça um vídeo a partir deste PDF"
  • "Vídeo a partir da minha proposta / relatório"

NÃO use esta skill quando:

  • A entrada for um brief criativo curto → ozor-generate
  • A entrada for uma URL ou página de destino → ozor-url-to-video
  • O usuário quiser apenas um prompt escrito para a Ozor → ozor-doc-to-video (skill apenas de prompt)
  • O usuário quiser gerenciar vídeos existentes → ozor-video-library

Ferramentas MCP necessárias

  • mcp__ozor__analyze_document — analisa o documento, retorna um planId mais o plano estruturado
  • mcp__ozor__prepare_document_upload — obtém uma URL para upload via curl para arquivos locais sem URL pública (o caminho comum)
  • mcp__ozor__get_plan — busca o estado mais recente do plano
  • mcp__ozor__update_plan — aplica edições do usuário ao plano antes da geração
  • mcp__ozor__generate_from_plan — inicia a construção do vídeo a partir do plano aprovado, retorna projectId
  • mcp__ozor__export_video — inicia a renderização (use o projectId como videoId)
  • mcp__ozor__wait_for_export — bloqueia até que a renderização esteja pronta
  • mcp__ozor__get_embed_code — retorna o HTML <iframe>

Se o MCP da Ozor não estiver conectado, informe o usuário e pare. Não extraia conteúdo por conta própria e recorra a generate_video com um script escrito manualmente — isso perde os visuais dos slides e ultrapassa o limite de 2000 caracteres do prompt. O fluxo baseado em plano é obrigatório para documentos.

Fluxo de trabalho

Etapa 1 — Enviar o documento para a Ozor

Escolha a melhor fonte, em ordem de prioridade:

  1. URL pública → passe url diretamente para analyze_document. Sem limite de tamanho, sem custo de tokens. Melhor quando disponível.
  2. Arquivo local (o caso comum) → chame mcp__ozor__prepare_document_upload, depois execute o comando curl retornado para enviar os bytes diretamente para o armazenamento da Ozor. Os bytes nunca passam por uma chamada de ferramenta, portanto, arquivos de até ~50 MB funcionam. Use isso para qualquer PDF/PPTX/DOCX com vários MB que o usuário tenha carregado na conversa.
  3. fileBase64 + fileName no analyze_document → apenas para arquivos pequenos (≲ algumas centenas de KB). Evite para apresentações grandes — consome muitos tokens.

Se prepare_document_upload não estiver na lista de ferramentas, os uploads estão desabilitados neste servidor — recorra a uma URL ou base64 pequeno.

Etapa 2 — Analisar o documento

Assim que a Ozor tiver o arquivo, chame:

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

Isso retorna { planId, plan }. O plano contém as cenas propostas, narração, notas visuais e quais slides/páginas mapeiam para quais cenas.

Etapa 3 — Apresentar o plano ao usuário e PARAR

Esta é a etapa crítica. Não pule para a geração. Mostre ao usuário uma renderização concisa do plano:

📋 Plano da Ozor para "<nome do documento>"

**Formato:** 16:9 (ou 9:16)
**Duração estimada:** ~X segundos
**Cenas:** N

(1) <título da cena> — <narração/visual em uma linha>
(2) <título da cena> — <narração/visual em uma linha>
...

Quer que eu gere isso como está, ou mudar algo? Você pode:
- Editar uma cena ("mudar cena 2 para ...")
- Reordenar / remover / adicionar cenas
- Alterar tom, duração ou formato
- Aprovar e gerar

Em seguida, espere o usuário aprovar ou solicitar edições. Não chame generate_from_plan por iniciativa própria — o plano é o ponto de controle do usuário para custo e controle criativo.

Etapa 4 — Aplicar edições (se houver)

Se o usuário solicitar alterações, chame mcp__ozor__update_plan({ planId, ... }) com as edições. Re-busque com get_plan e reexiba o plano atualizado. Repita até o usuário aprovar.

Etapa 5 — Gerar a partir do plano

Quando o usuário aprovar:

mcp__ozor__generate_from_plan({ planId })

Isso retorna { projectId }. Use projectId como videoId em todas as chamadas subsequentes.

Se a resposta incluir um jobId, aguarde com wait_for_job({ videoId: projectId, jobId }). Caso contrário, prossiga para a exportação.

Etapa 6 — Exportar

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

Retorna shareUrl, editorUrl, downloadUrl.

Etapa 7 — Incorporar

mcp__ozor__get_embed_code({ videoId: projectId })

Etapa 8 — Apresentar resultados

🎬 Vídeo pronto a partir de "<nome do documento>"

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

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

Quer um corte 9:16 para redes sociais a partir do mesmo plano? Posso regenerar.


## Dicas para passar para `analyze_document`

Passe qualquer uma destas se o usuário as mencionou ou se forem óbvias a partir do documento:

- `targetDuration` — ex.: `"60s"`, `"90s"`. Padrão ~60s para propostas/apresentações, ~30s para one-pagers.
- `format` — `"16:9"` (padrão) ou `"9:16"` para redes sociais.
- `audience` — investidores, clientes, desenvolvedores, equipe interna, ...
- `tone` — confiante, caloroso, técnico, enérgico, ...
- `focus` — opcional, uma nota de uma linha como "foco nas métricas do slide 4" ou "pule o slide da equipe".

## Adaptação por tipo de documento

| Documento | Duração padrão | Formato | Tom | Foco |
|-----------|----------------|---------|-----|------|
| Pitch deck | 60–90s | 16:9 | Confiante | Problema → solução → tração → CTA |
| Proposta (DOCX) | 60s | 16:9 | Profissional | Resultados + preço + próximo passo |
| Whitepaper / relatório | 60–90s | 16:9 | Autoritário | 3 principais descobertas, link para o documento completo no CTA |
| One-pager de vendas | 30–45s | 16:9 | Impactante | Gancho → 3 benefícios → CTA |
| Notas de versão | 30–45s | 16:9 | Enérgico | Uma cena por recurso |
| Treinamento / POP | 90s+ | 16:9 | Calmo, claro | Etapas numeradas, dividir em uma série se > 7 cenas |

Em caso de dúvida, proponha um padrão em sua chamada inicial e deixe o usuário substituir após ver o plano.

## Iteração após a geração

Se o vídeo renderizado precisar de alterações:
- Pequenos ajustes na narração/texto → `update_plan` + regerar (isso reexecuta a partir do plano, sem necessidade de reanalisar o documento)
- Nova ordem de cenas ou tom → mesmo caminho
- Novo foco ou público → pode ser mais barato chamar `analyze_document` novamente com dicas mais fortes

## Erros e recuperação

- **`analyze_document` falha porque o arquivo é muito grande** → use `prepare_document_upload` em vez de base64.
- **O plano tem conteúdo ausente ou errado** → chame `update_plan` com correções em vez de reiniciar.
- **`generate_from_plan` falha** → o erro geralmente aponta para uma cena específica. Corrija via `update_plan`, tente novamente.
- **Exportação trava** → é seguro chamar `wait_for_export` novamente; ela retoma.

## Regras

1. **Sempre vá primeiro pelo plano.** Nunca chame `generate_video` com texto escrito manualmente extraído do documento. O objetivo desta skill é que a Ozor veja os slides diretamente.
2. **Sempre mostre o plano ao usuário e aguarde aprovação** antes de `generate_from_plan`. A geração é a etapa cara; o plano é o ponto de controle.
3. **Para arquivos locais, use `prepare_document_upload` + curl.** Base64 é apenas para arquivos muito pequenos.
4. **Use `projectId` como `videoId` em todos os lugares após `generate_from_plan`.** É o mesmo identificador.
5. **Exiba cada URL** — compartilhar, editor, download, incorporar.
6. **Não resuma o documento você mesmo** — o `analyze_document` da Ozor faz isso e preserva os visuais. Seu trabalho é orquestrar o MCP e organizar o plano, não reescrever o conteúdo.

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.

Habilidades Relacionadas