Notícia do dia vira vídeo
Transformar uma notícia do dia em um vídeo de persona, validado antes de gastar qualquer token.
Sua key, o setup do agente e prompts prontos — tudo em um lugar.
Ela conecta seu agente à sua conta. Você pode criar várias, uma por agente.
Entre para criar sua API key. O prompt de setup e as receitas abaixo dependem dela.
Cole no Claude, Cursor, OpenCode ou outro agente: ele instala o servidor MCP do Post Engineer. Se você acabou de criar uma key, ela já vem preenchida.
Adicione o servidor MCP do Post Engineer na configuração do meu agente de IA.
Eu já gerei minha API key em https://post-engineer.com/recipes.
Instalação:
1. Configure o servidor MCP (opencode.json, claude_desktop_config.json, .mcp.json ou Cursor) com:
{
"mcpServers": {
"post-engineer": {
"type": "local",
"command": ["npx", "-y", "post-engineer-mcp@latest"],
"environment": {
"POST_ENGINEER_API_KEY": "<MINHA_API_KEY>"
}
}
}
}
2. Substitua <MINHA_API_KEY> pela minha API key real. Não é necessário clonar o repositório nem fazer build local. A tag @latest força o npx a baixar a versão mais nova em vez de reutilizar uma cópia antiga em cache.
Tools disponíveis após conectar:
- list_personas: listar minhas personas existentes (id, nome, voz, idioma, nicho).
- list_voices: listar as vozes disponíveis (catálogo vivo, nunca hardcoded).
- list_faces: listar rostos de avatar padrão (id, url, nome, gênero, idade, etnia, cabelo, descrição em inglês); use a url como avatarUrl ao chamar create_persona.
- create_persona: criar uma persona de IA (name, avatarUrl, voiceId, language, videoAspect 9:16|16:9, scriptPrompt, paragraphNumber 1-5, niche).
- update_persona: atualizar uma persona existente (só os campos enviados mudam).
- list_persona_images: listar a biblioteca de imagens de uma persona (id, tag, description, is_primary); passe um id como imageId no generate_persona_video para forçar uma imagem específica em um vídeo.
- add_persona_image: adicionar uma imagem à biblioteca de uma persona a partir de um arquivo local (JPG/JPEG, PNG ou WebP, máx 9MB). Tag e descrição opcionais guiam a seleção determinística de imagem por vídeo.
- update_persona_image: atualizar a tag, a descrição ou o flag de principal de uma imagem da biblioteca.
- remove_persona_image: remover uma imagem da biblioteca de uma persona.
- publish_video_direct: publicar um vídeo pronto diretamente (sem geração, sem agendamento): arquivo local .mp4/.mov (máx 2GB) + account IDs do list_social_accounts; YouTube exige title, description, tags e privacyStatus; Instagram/Bluesky/LinkedIn exigem caption.
- get_token_balance: ver o saldo da minha carteira de tokens.
- list_prompts: listar as receitas de prompt que este servidor executa (slug, título e descrição por receita — notícia, destaque de lugar, destaque de assunto, GitHub PRs, setup completo). Chame primeiro se eu pedir um vídeo sobre um assunto em vez de um roteiro pronto.
- get_prompt: buscar uma receita de prompt pelo slug (do list_prompts) como instruções validadas prontas para executar; slug desconhecido devolve um erro listando os slugs válidos.
- generate_persona_video: gerar E agendar UM vídeo de persona a partir de um roteiro completo (segments: primeiro hook, depois body, por último CTA; 60-200 palavras no total, body no mínimo 30, CTA 5-20, hook 15-40 palavras terminando com pontuação final — nenhum LLM expande o roteiro; title é o rótulo do slot; personaId opcional — omita para um post faceless sem persona e informe options.faceless e options.voiceId; providers mais account IDs por provider do list_social_accounts; mode 'scheduled' (padrão) agenda o vídeo com startAt datetime ISO + times ["HH:MM"] em timezone, mode 'asap' publica no momento em que a geração termina sem startAt/times; slot deve estar de 3h a 30 dias à frente). O vídeo é gerado e publicado automaticamente no seu slot; não há etapa separada de agendamento. Acompanhe o taskId do slot com get_video_task_progress. Custa tokens.
- validate_script: validar um roteiro em segments mecanicamente, sem gastar tokens (segments: primeiro hook, depois body, por último CTA; 60-200 palavras no total, body no mínimo 30, CTA 5-20, hook 15-40 palavras terminando com pontuação final). Retorna as contagens de palavras e a janela do hook (8-12 segundos falados). A duração medida do hook está pendente de um endpoint TTS só do hook e é informada como pendente, nunca inventada.
- score_draft: pontuar um rascunho mecanicamente contra seus próprios posts medidos, sem gastar tokens. Retorna uma nota 0-100 com cada ponto explicado, a base usada e o check de publicação da rede pedida (linkedin, youtube, instagram, bluesky). Um check com falha significa: corrija o rascunho antes de agendar para essa rede. Use kind 'script' para um roteiro de vídeo: hashtags não contam e publishCheck vem null.
- upload_media: enviar uma imagem local para um segmento de vídeo e obter um mediaId para o campo media do segmento (JPG, PNG ou WebP, máx. 8MB — o limite de foto do engine; asset temporário, TTL de 1 hora, então envie pouco antes de gerar).
- check_media: verificar mecanicamente uma URL pública de imagem para um segmento, sem LLM e sem julgar relevância (retorna exatamente um código: ok, blocked_403, not_image, too_small, too_large, timeout ou face_detected).
- Receitas: notícias do dia viram vídeo — copie o prompt em https://post-engineer.com/recipes/daily-news ou rode /daily-news neste servidor; docs/recipes/daily-news.md tem o exemplo.
- Receitas: destaque de lugar vira vídeo — copie o prompt em https://post-engineer.com/recipes/place-spotlight ou rode /place-spotlight neste servidor; docs/recipes/place-spotlight.md tem o exemplo.
- Receitas: assunto em destaque vira vídeo — copie o prompt em https://post-engineer.com/recipes/subject-spotlight ou rode /subject-spotlight neste servidor; docs/recipes/subject-spotlight.md tem o exemplo.
- get_video_status: conferir o status da geração com o taskId e pegar a URL do vídeo final.
- get_video_task_progress: acompanhar o progresso legível por máquina de uma tarefa de vídeo ({task_id, state, progress, stage, error}); error é o motivo da falha quando state é -1, null caso contrário; use para o vídeo após generate_persona_video.
- list_social_accounts: listar minhas contas sociais conectadas com os IDs necessários para agendar.
- connect_account: conectar uma conta social (youtube/instagram/linkedin retornam uma URL de autorização para eu abrir no navegador; bluesky conecta direto com handle + app password).
- list_schedules: listar meus agendamentos.
- list_posts: listar meus posts futuros (agendados) e passados em todas as contas conectadas (limit opcional, padrão 20, máx 500).
- cancel_schedule: cancelar um agendamento pelo ID.
- get_slot: ver o detalhe completo de um post agendado pelo slot ID (status, título, horário, progresso, agendamento, persona).
- update_slot_title: editar o título de um post agendado que ainda não começou a gerar.
- delete_slot: deletar um slot de post agendado (só slots pendentes/aguardando ou falhados; nunca o último slot do agendamento).
- list_video_generations: listar meu histórico de gerações de vídeo, do mais recente ao mais antigo (limit opcional, padrão 50, máx 200).
- get_video_generation: ver o detalhe de uma geração de vídeo pelo generation ID.
- cancel_video_task: cancelar/remover uma tarefa de vídeo no motor pelo taskId; apenas a minha tarefa, sem reembolso de tokens.
- get_post: ver o detalhe completo de um post pelo id — slot id ou generation id, o servidor resolve qual (kind "slot" ou "generation"), com o progresso ao vivo da geração.
- get_post_metrics: métricas por vídeo (views, likes, comentários, salvos) para a janela 24h ou 7d; filtros opcionais persona, account, provider, angle.
- list_token_transactions: listar meu extrato de tokens — todos os créditos e débitos (compras, gastos de geração, reembolsos), do mais recente ao mais antigo (limit opcional, padrão 20, máx 100).
- get_persona_delete_preview: ver o que deletar uma persona removeria (contagens + links de download por vídeo). Somente leitura.
- delete_persona: DESTRUTIVO — deleta uma persona com todos os agendamentos, slots, vídeos e biblioteca de imagens. Sem reembolso de tokens.
- disconnect_account: desconectar uma conta social por provider e account ID (os IDs do list_social_accounts).
Como trabalhar comigo (instruções para o agente):
1. Comece chamando list_personas e me mostrando o que eu já tenho (nome, idioma, nicho). Se eu não tiver nenhuma, diga isso.
2. Pergunte o que eu quero antes de qualquer ação que custe tokens. Consulte get_token_balance primeiro e me avise se o saldo estiver baixo. Usar uma persona existente ou criar uma nova? Se for nova, chame list_voices e me mostre as opções reais de voz, depois pergunte: idioma (ex. pt-BR, en-US), nicho/tema, avatar (foto por URL ou um rosto padrão do list_faces — toda persona tem rosto), escolha de voz, formato 9:16 ou 16:9 e o estilo/prompt do roteiro.
3. Confirme os detalhes da persona comigo antes de chamar create_persona. Para corrigir uma persona depois, use update_persona (nunca crie uma duplicada). Nunca invente um personaId: use sempre o id retornado por list_personas ou create_persona.
4. Para vídeos, confirme o roteiro/prompt comigo primeiro, depois chame generate_persona_video com o roteiro completo em segments e o title, e acompanhe o taskId do slot com get_video_task_progress até concluir. Pergunte se os vídeos devem mostrar o rosto da persona ou ser faceless (options.faceless). Compartilhe a URL final do vídeo comigo.
5. Para publicar, chame list_social_accounts primeiro para descobrir minhas contas conectadas e seus IDs. Depois pergunte as plataformas, data de início, horários de publicação e timezone. Agende somente de 3h a 30 dias de antecedência. Mostre meus agendamentos com list_schedules quando eu pedir, e use cancel_schedule para remover um.
6. Quando eu perguntar sobre meus posts (o que vem aí, o que já saiu), chame list_posts e resuma os próximos e os passados, incluindo os erros de falha.Estas são as tools que seu agente de IA recebe acesso após conectar.
list_personas
Liste suas personas
list_voices
Liste as vozes disponíveis
list_cloned_voices
Liste seus clones de voz
create_cloned_voice
Crie um clone de voz a partir de uma URL de áudio
get_cloned_voice
Ver o status de um clone de voz
delete_cloned_voice
Exclua um clone de voz
preview_cloned_voice
Ouça a prévia de um clone pronto
list_faces
Liste rostos de avatar padrão
create_persona
Crie uma nova persona
update_persona
Atualize uma persona existente
list_persona_images
Liste a biblioteca de imagens da persona
add_persona_image
Adicione uma imagem à biblioteca
update_persona_image
Atualize uma imagem da biblioteca
remove_persona_image
Remova uma imagem da biblioteca
publish_video_direct
Publicar um vídeo diretamente
get_token_balance
Consulte o saldo de tokens
generate_persona_video
Gerar e agendar um vídeo de persona a partir de um roteiro
validate_script
Validar um roteiro mecanicamente, sem gastar tokens
score_draft
Pontuar um rascunho mecanicamente contra seus próprios posts medidos
upload_media
Enviar uma imagem de segmento (JPG, PNG, WebP, máx. 8MB)
check_media
Verificar uma URL de imagem de segmento mecanicamente
list_prompts
Listar as receitas de prompt deste servidor
get_prompt
Buscar uma receita de prompt pelo slug
get_video_status
Confira o status do vídeo
get_video_task_progress
Acompanhe o progresso por vídeo (%, etapa)
list_social_accounts
Liste contas sociais conectadas
get_persona_publishing_accounts
Liste as contas de publicação padrão da persona
set_persona_publishing_accounts
Defina as contas de publicação padrão da persona
connect_account
Conecte uma conta social
list_schedules
Liste agendamentos automáticos
list_posts
Liste posts futuros e passados
cancel_schedule
Cancele um agendamento
get_slot
Ver o detalhe de um post agendado
update_slot_title
Editar o título de um post agendado
delete_slot
Deletar um slot de post agendado
list_video_generations
Listar histórico de gerações de vídeo
get_video_generation
Ver o detalhe de uma geração de vídeo
get_post
Ver o detalhe de um post (slot ou geração)
get_post_metrics
Ver métricas de desempenho por vídeo
cancel_video_task
Cancelar/remover uma das suas tarefas de vídeo
list_token_transactions
Listar o extrato de tokens
get_persona_delete_preview
Ver impacto de deletar persona
delete_persona
Deletar uma persona (destrutivo)
disconnect_account
Desconectar uma conta social
Segurança: cole este prompt só no seu próprio agente de IA. Nunca em chats públicos ou repositórios. Você pode revogar a chave a qualquer momento.
Com o setup feito, copie um prompt e cole no seu agente.
Transformar uma notícia do dia em um vídeo de persona, validado antes de gastar qualquer token.
Transformar um lugar real em um vídeo de persona com as fotos do próprio lugar na tela, validado antes de gastar qualquer token.
Transformar um assunto concreto (um carro, um produto, um gadget) em um vídeo de persona com as fotos dele e o preço real na tela, validado antes de gastar qualquer token.
Transformar seus pull requests do GitHub em vídeos de persona.
Conectar contas, criar a persona, validar o roteiro e publicar o primeiro vídeo sem pular nenhum passo.