Biblioteca de Vídeos Ozor
Gerencie vídeos existentes no Ozor.ai via MCP: liste, inspecione, reexporte, incorpore ou envie edições de acompanhamento ao agente de vídeo. Esta skill é a superfície "tudo exceto criar do zero" para mcp__ozor__*.
Quando usar
Use esta skill quando o usuário quiser operar em vídeos que já existem em sua conta Ozor. Sinais:
- "Liste / mostre meus vídeos"
- "Qual é o status de ..."
- "Pegue o link de compartilhamento / download / incorporação para ..."
- "Reexporte aquele vídeo em 9:16"
- "Envie uma edição de acompanhamento: mude a cena 2 para ..."
- "Mostre-me o plano daquele vídeo"
- "O trabalho já terminou?" / "verifique a exportação"
NÃO use esta skill quando:
- Criando um novo vídeo a partir de texto →
ozor-generate - Criando a partir de um documento/arquivo →
ozor-document-video - Criando a partir de uma URL →
ozor-url-to-video
Ferramentas MCP necessárias
| Tarefa | Ferramenta |
|---|---|
| Listar vídeos recentes | mcp__ozor__list_videos |
| Obter detalhes de um vídeo | mcp__ozor__get_video |
| Verificar status de um job de construção | mcp__ozor__get_job |
| Bloquear até um job terminar | mcp__ozor__wait_for_job |
| Buscar o plano a partir do qual um vídeo foi construído | mcp__ozor__get_plan |
| Editar um plano | mcp__ozor__update_plan |
| Disparar uma (nova) exportação | mcp__ozor__export_video |
| Bloquear até a exportação estar pronta | mcp__ozor__wait_for_export |
Obter <iframe> para incorporação | mcp__ozor__get_embed_code |
| Enviar uma mensagem de edição de acompanhamento ao agente | mcp__ozor__send_message |
| Listar vozes disponíveis | mcp__ozor__list_voices |
Se o MCP não estiver conectado, informe o usuário e pare.
Fluxos de trabalho comuns
A. Listar vídeos recentes
mcp__ozor__list_videos({ limit?: 10 })
Apresente como uma tabela:
| # | Título | Status | Formato | Atualizado | videoId |
|---|--------|--------|---------|------------|---------|
| 1 | ... | exportado | 16:9 | 2h atrás | abc... |
Ofereça 2–3 próximas ações óbvias: "Quer links de compartilhamento para algum deles? Um código de incorporação? Reexportar um como 9:16?"
B. Obter detalhes de um vídeo específico
Se o usuário nomear um vídeo ou fornecer um ID:
mcp__ozor__get_video({ videoId })
Exiba: título, status atual (rascunho / construindo / exportado / falhou), formato, duração, última atualização e quaisquer URLs que existam (compartilhamento, editor, download).
C. "Qual é o status do meu último vídeo?"
list_videos({ limit: 1 })para encontrar o mais recente.- Se
statusforconstruindo, chame tambémget_job(ouwait_for_jobse o usuário quiser bloquear até terminar) para obter o progresso. - Se
statusforexportado, mostre os URLs.
D. Obter o código de incorporação
mcp__ozor__get_embed_code({ videoId })
Se o vídeo ainda não foi exportado, execute a exportação primeiro (fluxo de trabalho F abaixo).
E. Obter o URL de compartilhamento / download
Se o vídeo já foi exportado, get_video retorna os URLs. Se não:
mcp__ozor__export_video({ videoId })
mcp__ozor__wait_for_export({ videoId })
F. Reexportar (por exemplo, o usuário quer uma nova renderização após edições, ou o URL expirou)
mcp__ozor__export_video({ videoId })
mcp__ozor__wait_for_export({ videoId }) // -> novo shareUrl, editorUrl, downloadUrl
mcp__ozor__get_embed_code({ videoId }) // -> novo iframe
G. Rerenderizar em um formato diferente (por exemplo, paisagem → vertical)
Mudanças de formato passam pelo plano:
mcp__ozor__get_plan({ videoId })— busca o plano atualmcp__ozor__update_plan({ planId, format: "9:16" })— aplica a mudançamcp__ozor__generate_from_plan({ planId })está no caminho de criação a partir do plano — se o usuário quiser o mesmo projeto atualizado, prefirasend_message(fluxo de trabalho H). Se ele quiser um novo projeto no novo formato, recorra agenerate_from_plan, depois exporte.
Nota: generate_from_plan reside em ozor-document-video / ozor-url-to-video porque cria um projeto novo. Informe o usuário quando estiver prestes a iniciar um novo projeto em vez de modificar o existente.
H. Enviar uma edição de acompanhamento ao agente
Para ajustes de texto/visual/cena em um vídeo existente sem recomeçar:
mcp__ozor__send_message({
videoId,
message: "<a edição do usuário, por exemplo, 'Na cena 2, mude o título para X e deixe o fundo mais claro'>"
})
Isso normalmente retorna um novo jobId. Então:
mcp__ozor__wait_for_job({ videoId, jobId })
mcp__ozor__export_video({ videoId })
mcp__ozor__wait_for_export({ videoId })
Exiba os URLs atualizados depois.
I. Inspecionar / editar um plano
mcp__ozor__get_plan({ videoId | planId })
Renderize as cenas como uma lista numerada para o usuário. Se ele quiser mudanças:
mcp__ozor__update_plan({ planId, ... })
Depois busque novamente para confirmar. Apenas edições no plano não alteram o vídeo renderizado — elas precisam ser seguidas por uma regeneração (send_message para edição no local, generate_from_plan para um novo projeto) e uma exportação.
J. Listar vozes
Quando o usuário estiver escolhendo ou trocando uma voz:
mcp__ozor__list_voices()
Apresente uma lista compacta (nome, idioma, estilo). Se for trocar, update_plan({ planId, voice: "<id da voz>" }) e depois regenere.
Desambiguando "aquele vídeo" / "meu último vídeo"
Se o usuário disser "aquele vídeo" ou "meu último" sem um ID:
list_videos({ limit: 5 }).- Se exatamente um corresponder à descrição, use-o.
- Se houver várias correspondências plausíveis, mostre a lista curta e pergunte qual.
Não escolha um vídeo aleatório silenciosamente.
Apresentando URLs
Sempre apresente URLs disponíveis rotulados:
**Compartilhamento:** <shareUrl>
**Editor:** <editorUrl>
**Download:** <downloadUrl>
**Incorporação:** (em um bloco de código)
Se um URL ainda não existir (por exemplo, vídeo nunca exportado), não invente um — diga ao usuário o que está faltando e ofereça-se para executar a exportação.
Erros e recuperação
videoIdnão encontrado → liste vídeos recentes e pergunte qual ele quis dizer.- Job falhou → repasse a mensagem de falha literalmente; ofereça
send_messagecom uma correção ou uma reexportação. - Exportação falhou → tente novamente uma vez; se falhar de novo, exiba o erro e recomende abrir o URL do editor para inspecionar.
- Plano / vídeo fora de sincronia (plano editado mas não regenerado) → informe o usuário que as mudanças estão em staging mas não renderizadas, e ofereça-se para regenerar.
Regras
- Nunca invente IDs de vídeo, URLs de compartilhamento ou status. Tudo vem do MCP.
- Para edições no local, prefira
send_messageem vez de criar um novo projeto viagenerate_from_plan. O usuário quase sempre quer o vídeo existente atualizado, não uma duplicata. - Reexportações são baratas e seguras — se o usuário quiser URLs atualizados, basta executar a exportação novamente.
- Quando o usuário for vago sobre qual vídeo, pergunte — mostre uma lista curta, não adivinhe.
- Exiba todos os URLs após cada regeneração ou reexportação. URLs desatualizados de conversas anteriores podem ter expirado.