Meetup Shorts Publisher
Automação em TypeScript que publica e agenda os Shorts do canal Meetup TecGroup a partir de pares vídeo + txt numa pasta do Google Drive: upload em stream direto do Drive para o YouTube, fila de horários, playlist e relatório de execução. Roda sozinha todo dia por GitHub Actions.
Problema
Qual era o desafio?
Manter um canal de Shorts vivo é trabalho repetitivo e mal distribuído: para cada vídeo é preciso abrir o YouTube Studio, subir o arquivo, colar título, descrição e tags, escolher data e hora de publicação, adicionar à playlist e anotar em algum lugar o que já saiu. Feito à mão, o gargalo não é gravar — é publicar. E o gargalo cria buracos na régua de postagem, que é justamente o que mata alcance de canal em crescimento.
Processo
Como foi conduzido?
- 01O Drive é a fonte da verdade: o script varre a pasta SHORTS-CURIOSIDADES procurando pares nome.mp4 + nome.txt, e lê título, descrição e tags de um formato de txt simples, com fallback para txt sem cabeçalhos.
- 02Upload em stream direto do Drive para o YouTube — nada toca o disco, então o consumo de memória não depende do tamanho do vídeo e a automação roda igual num runner efêmero.
- 03Fila de agendamento em slots fixos (seg 12h30, qua 15h00, sex 17h00, horário de São Paulo) que continua a partir do último vídeo já agendado no canal, em vez de recalcular do zero — subir 6 hoje deixa semanas de conteúdo em fila.
- 04Idempotência por movimentação: o par publicado vai para a subpasta publicados/, então rodar duas vezes não duplica nada.
- 05Fallback por IA: vídeo órfão sem txt tem título, descrição e tags gerados via Claude a partir do nome do arquivo, e o .txt é gravado de volta no Drive para revisão humana. Com --no-ai ou sem key, o vídeo é ignorado com aviso em vez de publicar às cegas.
- 06Dry-run de primeira classe (npm run publicar:dry) que mostra o que seria publicado e quando, antes de qualquer chamada de escrita.
- 07Limite de 6 uploads por execução ancorado na matemática da quota: a YouTube Data API dá 10.000 unidades/dia e cada upload custa 1.600. O default respeita o teto em vez de descobrir na falha.
- 08GitHub Actions com cron diário às 06:00 de São Paulo, credenciais em secrets, e disparo manual disponível — é só pôr vídeo na pasta e esquecer.
- 09Relatório acrescentado a um markdown na própria pasta do Drive, com links, datas de publicação e origem dos metadados, para saber depois o que foi humano e o que foi IA.
Resultado
O que foi entregue?
- Publicação e agendamento do canal sem abrir o YouTube Studio: o fluxo virou largar o vídeo numa pasta do Drive.
- Régua de postagem constante em três slots por semana, sem depender de alguém lembrar.
- Upload em stream e limite por quota fazem a automação caber num runner do GitHub Actions sem download nem estouro de cota.
- Rodar duas vezes é seguro, e cada execução deixa rastro auditável de links e metadados.