Communitygithub.com

Agents365-ai/criador-de-videos-podcast

Pipeline pessoal mínima para criar vídeos narrados explicativos (narração falada sobre visuais, não um podcast de áudio), totalmente independente de ferramentas e autônomo por padrão – tópico → pesquisa ∥ coleta de ativos → roteiro → TTS → vídeo → renderização 4K ∥ informações de publicação + capa.

O que é criador-de-videos-podcast?

Este skill define uma pipeline de 7 etapas para produção pessoal de vídeos narrados explicativos, totalmente independente de ferramentas específicas. Ele gerencia a lógica de 'pesquisa ∥ materiais → roteiro → TTS → verificação de áudio → vídeo → verificação de prévia → renderização 4K ∥ kit de publicação', mas permite que qualquer backend TTS (Azure, Edge, etc.) e qualquer ferramenta de vídeo (Remotion, HyperFrames, CapCut, ...) sejam usados por projeto. A autonomia é configurável: três checkpoints (roteiro, áudio, prévia) podem ser delegados a um humano via AGENTS.md/CLAUDE.md, mantendo os demais auto-verificados pelo agente. O skill é especialmente útil para quem deseja um vídeo narrado rápido e pessoal sem se preocupar com a pilha de ferramentas, e suporta plataformas como Claude Code, Cursor e Codex. Ele funciona garantindo que o áudio seja o mestre do relógio (duração do vídeo deve corresponder à narração dentro de ±0,5s) e que checkpoints nunca sejam pulados.

Funciona com✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Agents365-ai/video-podcast-maker/tree/HEAD/skills/video-podcast-maker-nano

Perguntar na sua IA favorita

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

Documentação

Criador de Vídeos Podcast Nano

Uma pipeline de 7 etapas para uso pessoal: pesquisa ∥ materiais → roteiro → TTS → verificação de áudio → vídeo → verificação de prévia → renderização 4K ∥ kit de publicação. Sem scripts empacotados, sem backends fixos, sem modelos. O skill é dono da lógica e executa autonomamente por padrão; o backend TTS e a ferramenta de vídeo são escolhidos por vídeo (veja Seleção de ferramentas por vídeo).

O que faz isso funcionar independentemente da escolha da ferramenta — os três invariantes:

  1. Checkpoints nunca são pulados — mas quem verifica é política. Três checkpoints existem: roteiro (após Etapa 2), áudio (após Etapa 3), prévia (antes da renderização). O verificador padrão é o próprio agente (auto-verificação, definida por checkpoint); o AGENTS.md/CLAUDE.md de um projeto pode atualizar qualquer checkpoint para uma barreira humana — veja Política de supervisão.
  2. Áudio é o relógio mestre. A duração do vídeo final deve corresponder à narração dentro de ±0,5s (ffprobe ambos). Os visuais são cortados para o áudio, nunca o contrário.
  3. Uma mudança no roteiro invalida tudo a jusante. Editar o roteiro → re-executar o checkpoint do roteiro, depois TTS → checkpoint de áudio → visuais → checkpoint de prévia → renderização. Nunca corrigir temporizações manualmente.

Política de supervisão

O modo padrão é autônomo: a pipeline executa de ponta a ponta, com o agente realizando a auto-verificação de cada checkpoint. O AGENTS.md/CLAUDE.md de um projeto ativo pode substituir por checkpoint com uma linha cada:

  • Checkpoint 1 (roteiro): humano — parar após a Etapa 2 até que o usuário aprove o roteiro. Vale a pena: uma mudança tardia de roteiro custa uma reexecução completa.
  • Checkpoint 2 (áudio): humano — o usuário ouve o áudio completo antes dos visuais. Vale a pena quando leituras incorretas de TTS são caras de detectar depois.
  • Checkpoint 3 (prévia): humano — o usuário revisa o rascunho antes da renderização. Vale a pena para canais sensíveis a estilo.

Checkpoints não mencionados permanecem verificados pelo agente. Os arquivos de política do projeto começam a partir de AGENTS.template.md (ao lado deste SKILL.md): copie-o para a raiz do projeto de vídeo como AGENTS.md (mais uma cópia CLAUDE.md para Claude Code) e preencha os vínculos de ferramentas. O skill nunca envia ou publica nada em lugar nenhum — o kit de publicação são arquivos em disco; a publicação é sempre um ato humano fora desta pipeline.

Seleção de ferramentas (por vídeo)

Decida o backend TTS e a ferramenta de vídeo uma vez, antes da Etapa 3, nesta ordem de prioridade:

  1. Vínculos do projeto vencem. Um AGENTS.md/CLAUDE.md preenchido no projeto ativo (veja Política de supervisão) É a especificação permanente do usuário — use-o, sem escanear, sem questionar. Se o usuário nomear uma ferramenta na sessão, isso substitui o arquivo. Se o arquivo de política estiver ausente ou ainda contiver placeholders do modelo (/absolute/path/to/...), resolva os vínculos pelas regras 2–3, depois escreva os valores resolvidos de volta no arquivo de política do projeto para que a próxima execução comece vinculada.
  2. Detectar automaticamente skills instalados. Escaneie os skills disponíveis na sessão por qualquer coisa que possa fazer o trabalho — vídeo: skills que encapsulam uma ferramenta de autoria (Remotion, HyperFrames, CapCut, ...); TTS: qualquer skill que encapsule um mecanismo TTS. Exclua skills de pipeline de ponta a ponta (por exemplo, outras variantes de criadores de vídeos podcast, se instalados): eles são pipelines como este, não backends — invocá-los aqui aninharia fluxos de trabalho e dobraria os checkpoints. Um encaixe → use-o; vários → escolha a melhor correspondência para o idioma e as necessidades de saída do projeto. Registre a escolha em research.md; exiba-a no resumo final. Nunca bloqueie aguardando confirmação de ferramenta.
  3. Nada encontrado. Recurso a CLIs simples que o usuário já possui (ffmpeg + qualquer CLI TTS) e informe isso — nunca instale uma nova ferramenta sem solicitação. Se uma CLI TTS não puder emitir temporização de legendas, derive pistas dividindo o roteiro uniformemente pela duração do áudio e sinalize a aproximação no Checkpoint 2. Se uma ferramenta especificada pelo usuário estiver ausente ou não puder atingir o piso de capacidade, informe isso e passe para a regra 2 em vez de improvisar.

Piso de capacidade (aplica-se às regras 1–3): a escolha de TTS deve produzir áudio de narração mais temporização de legendas; a escolha de vídeo deve exportar um arquivo de vídeo de rascunho (para verificação no Checkpoint 3) e 4K. Prévia ao vivo é um bônus, nunca um substituto para a exportação do rascunho. Trabalhos auxiliares não precisam de seleção: pesquisa usa a busca web integrada, imagens/capa a exportação de imagem estática da ferramenta de vídeo ou qualquer ferramenta de imagem, verificações de duração usam ffprobe. Se ffmpeg/ffprobe estiverem ausentes, reporte e pare — o invariante de ±0,5s não é negociável e não é pulado para manter uma execução ativa.

Layout de trabalho

Todos os artefatos para um vídeo residem em videos/{nome}/ ({nome} = inglês minúsculo, separado por hífen). Os nomes dos arquivos de áudio/temporização se adaptam ao backend escolhido; o conjunto é o que importa:

videos/{nome}/
├── research.md          # Etapa 1 — fatos + fontes
├── podcast.txt          # Etapa 2 — roteiro de narração
├── podcast_audio.wav    # Etapa 3 — áudio de narração (nome por backend)
├── podcast_audio.srt    # Etapa 3 — temporização de legendas (ou equivalente do backend)
├── assets/              # Etapa 1 — imagens/BGM + sources.md (fonte + licença por ativo)
├── video-project/       # Etapa 5 — o que a ferramenta de vídeo produzir
├── final_4k.mp4         # Etapa 7 — renderização 3840×2160
├── cover.png            # Etapa 7 — capa do vídeo
└── publish_info.md      # Etapa 7 — título / descrição / tags / capítulos

Fluxo de trabalho

Verificação de ponto de entrada (antes da Etapa 1). Procure por videos/{nome}/ na raiz do projeto (ou no diretório que o usuário nomear). Se já contiver artefatos de uma sessão anterior, isso é uma iteração — retome da etapa mais antiga afetada (veja Iterando), não reexecute a Etapa 1. Só comece na Etapa 1 quando não existirem artefatos.

Etapa 1 — Pesquisa ∥ coleta de materiais

Duas saídas paralelas de uma única passagem de investigação (fatos e ativos vêm das mesmas fontes):

Pesquisa → research.md. Investigue o tópico (busca web, artigos, indicações do usuário). Destile em research.md: fatos, números e suas fontes. Cada número que o roteiro alegar deve rastrear de volta para cá — um número preciso sem fonte é fabricado; descarte-o ou atribua-o.

Materiais → assets/. Colete tudo que os visuais e a capa consumirão em videos/{nome}/assets/: imagens/ilustrações/capturas de tela por seção, logotipos de marca, BGM. Duas fontes, em ordem de prioridade:

  1. Fornecidos pelo usuário — arquivos que o usuário entrega ou aponta; copie para assets/, nunca os referencie no local.
  2. Coleta automática — material oficial primeiro (banner do produto, ficha técnica, captura de tela), senão conjuntos gratuitos/licenciados (SVG unDraw, Pixabay/Pexels, OpenMoji / Microsoft Fluent Emoji / Google Noto Emoji, @lobehub/icons para logotipos de marca).

Registre a URL de origem + licença de cada ativo em assets/sources.md no momento da coleta (conjuntos que exigem atribuição devem ser creditados na descrição do vídeo na Etapa 7). Nenhum ativo adequado existe para uma seção? Não fabrique uma captura de tela — recorra a um layout somente texto para essa seção (ou uma ilustração genérica de licença gratuita), registre a decisão em assets/sources.md e siga em frente; perguntar ao usuário é opcional em modo humano. Ativos ausentes podem ser adicionados a qualquer momento antes da Etapa 5.

Etapa 2 — Roteiro → podcast.txt, depois Checkpoint 1

Apenas texto falado, sem markdown. Divida o roteiro em segmentos com marcadores [SECTION:xxx|display-label] (nomes em inglês minúsculo, ex. [SECTION:hero|intro]) — uma seção por segmento de vídeo. Esta convenção de marcadores é o contrato portátil entre roteiro, fragmentação TTS e layout visual; qualquer ferramenta TTS/vídeo pode consumi-lo. Marcadores são metadados estruturais: nunca falados, nunca mostrados como texto de legenda — TTS e legendas consomem apenas o texto entre os marcadores.

Regras de estilo (independentes de idioma): veja Estilo de roteiro.

Checkpoint 1 — autorevisão do roteiro (obrigatório). Verifique o roteiro contra cada regra de Estilo de roteiro, depois reconcilie suas seções com assets/: liste seções sem ativo correspondente, colete ou recorra conforme a regra de nenhum ativo acima, e anote o que fica sem. Em modo humano (política do projeto), pare em vez disso e entregue o roteiro — NÃO execute TTS até que o usuário aprove explicitamente. Áudio, temporizações e entradas visuais derivam todos do roteiro; uma mudança tardia de roteiro custa uma reexecução completa.

Etapa 3 — TTS

Execute o backend TTS escolhido (Azure, Edge, fish, minimax, ... — o que a sessão escolheu). Produza:

  • áudio de narração (WAV/MP3)
  • temporização de legendas (SRT ou equivalente, texto da pista = roteiro palavra por palavra)

Higiene de pronúncia antes de sintetizar, em qualquer idioma de narração: leituras de marcas/termos que não podem ser derivadas mecanicamente (Qwen lido como seu nome de marca chinês, MoE soletrado letra por letra) vão para uma lista de aliases/fonemas de acordo com o mecanismo do backend — nunca no texto do roteiro (vazaria para as legendas).

Etapa 4 — Verificação de áudio — Checkpoint 2

Auto-verificação do agente (modo autônomo): ffprobe a duração do áudio contra uma estimativa aproximada do roteiro (taxa de fala por idioma; use apenas para detectar erros grosseiros como um arquivo silencioso ou truncado); verifique se cada token de marca/termo no roteiro tem uma entrada de alias/fonema (uma verificação de cobertura — a pronúncia real é exatamente para isso que serve o Checkpoint 2 em modo humano); verifique se há segmentos silenciosos ou cortados (silencedetect/volumedetect) que sugiram falhas de síntese. Corrija lacunas na lista de aliases e ressintetize se encontradas. Em modo humano, o usuário ouve o áudio completo; leituras incorretas → corrija a lista de aliases (não o roteiro), ressintetize, reverifique.

Etapa 5 — Fazer o vídeo

Corte os visuais com a ferramenta escolhida (Remotion, HyperFrames, CapCut, ...) para o áudio de narração, usando assets/ como pool de materiais. Os marcadores de seção de podcast.txt orientam o layout; as pistas de legendas orientam as entradas de texto. Mantenha os arquivos de rascunho em videos/{nome}/.

Etapa 6 — Verificação de prévia — Checkpoint 3

Auto-verificação do agente (modo autônomo): inspecione a exportação do rascunho (um arquivo de vídeo buscável — o piso de capacidade garante um): extraia um quadro por seção (ffmpeg -ss <tempo-meio-da-seção> -i draft.mp4 -frames:v 1) e veja cada um para estouro de layout, legendas ausentes, referências de ativos quebradas; verifique se a duração do rascunho corresponde à narração dentro de ±0,5s. Corrija e reverifique após cada mudança. Em modo humano, o usuário revisa o rascunho pessoalmente (prévia ao vivo se a ferramenta tiver, senão a exportação do rascunho); renderize apenas sob confirmação explícita ("render"), e cada rodada de mudanças precisa de nova confirmação.

Etapa 7 — Renderizar 4K ∥ kit de publicação

Execute em paralelo (a renderização é o trabalho longo de bloqueio; o kit de publicação não depende dela):

  • Renderizar em 3840×2160 → final_4k.mp4. Verifique duração vs áudio de narração dentro de ±0,5s antes de considerar concluído.
  • Kit de publicação → publish_info.md (título / descrição / tags / timestamps de capítulos — cada capítulo começa no tempo SRT da primeira pista de sua seção) e cover.png (gere a partir do quadro estático da ferramenta de vídeo se disponível, senão qualquer ferramenta de imagem; pode reutilizar material de assets/). A seção de fontes de ativos de publish_info.md copia de assets/sources.md.

Estilo de roteiro (independente de idioma)

Proveniência: as referências completas do skill video-podcast-maker/references/natural-narration.md (anti-sabor IA) + script-polish.md (edição profunda) são as fontes canônicas; esta é a destilação independente de idioma. Edite as regras lá primeiro, depois espelhe aqui — não bifurque uma regra e a desvie.

O idioma de narração é o que o roteiro do usuário for — esta pipeline padrão é em português, mas as regras abaixo se aplicam em qualquer registro falado de idioma. Essas regras são aplicadas no Checkpoint 1; leia cada seção em voz alta — se você hesitar, divida a frase.

  • Prosa falada cotidiana, não prosa escrita. Uma ideia por frase, sujeito primeiro, sem orações aninhadas, sem — ou · como conectivos. Varie o comprimento das frases; uma leve primeira pessoa é aceitável.
  • Troca de conectivos. Substitua conectivos livrescos (além disso / contudo / portanto / em resumo) pelo equivalente cotidiano, ou delete. Elimine aberturas enumerativas (primeiramente / em segundo lugar / por último) e apenas vá para o próximo ponto.
  • Lista de morte. Delete preenchimento formuláico: jargão corporativo, "vale a pena notar", "como todos sabem", "revolucionário", "mudança de jogo", "perfeito", "vamos esperar para ver" — e seus equivalentes no idioma de narração.
  • Indícios estruturais. Cascas verbo-substantivo ("realizar uma otimização") → ação concreta + resultado ("reduziu a aprovação de três etapas para uma"). "Não X mas Y" → declare Y. Paralelismo de três partes ("tanto A e B e C") → mantenha apenas o item mais informativo; dois são melhores que três. Intensificadores vagos ("significativamente") → um número ou uma consequência perceptível. Atribuição vaga ("especialistas dizem") → fonte nomeada + data, senão delete a frase. Finais de slogan ("o futuro é brilhante") → termine com um fato concreto, número ou próxima ação.
  • Números são dígitos arábicos (86,1, 1,5G, 9B) — legendas são o roteiro palavra por palavra, então escreva o que DEVE APARECER na tela. Nunca escreva a forma falada do TTS no roteiro para corrigir uma leitura incorreta; use a camada de alias/fonema do backend.
  • Números devem ser rastreáveis até research.md — um número preciso sem fonte é fabricado; descarte-o ou atribua-o.

Iterando

  • Roteiro alterado → reexecute o Checkpoint 1 (humano em modo humano), depois da Etapa 3 (TTS) até os Checkpoints 2 e 3 até a renderização. Nunca edite temporizações manualmente.
  • Áudio ressintetizado (mesmo roteiro, voz/taxa diferente) → reexecute o Checkpoint 2; os visuais podem permanecer se as temporizações não mudaram; reexecute o Checkpoint 3 antes de renderizar.
  • Apenas visuais → edite e reexecute o Checkpoint 3.
  • Reutilize o mesmo diretório videos/{nome}/.

Individual skills in this repo

This repo contains 2 individual skills — each has its own dedicated page.

Habilidades Relacionadas