NotebookLM para criar conteúdo · Capítulo 27 de 28 · 22 min
Automação que para sozinha antes de causar estrago
Monte kill switch, circuit breaker, job idempotente, contador defensivo e plano manual para uma automação que falha sem estrago.
Este capítulo faz parte do curso gratuito NotebookLM para criar conteúdo.
Uma automação sobre biblioteca não oficial vai falhar; a pergunta é como. A falha ruim é a silenciosa: o script insiste depois de um CAPTCHA, repete uma geração que já estava na fila, consome o limite da semana em erros ou publica uma peça que ninguém conferiu. A falha boa para cedo, deixa registro do ponto onde parou e permite retomar sem refazer o que já deu certo.
Este capítulo monta as travas que transformam a primeira na segunda: o kill switch, o circuit breaker, o job idempotente com retomada, o contador defensivo de limite e o plano manual pela interface web para quando a biblioteca quebrar. Tudo isso fica preso a quatro regras de conduta que não se negociam: uma conta, nenhuma simulação de pessoa, nenhum contorno de limite e nenhuma publicação sem aprovação humana. No fim você terá um roteiro de execução escrito, com as travas na ordem certa e o caminho manual pronto para usar.
Antes de começar
0/4Três termos novos. Kill switch é a parada total da automação, acionada no primeiro sinal de que a conta está sob suspeita: CAPTCHA, alerta de login, desafio antifraude, redirecionamento inesperado ou pedido novo de consentimento. Ele não conta tentativas; um sinal basta, e só uma pessoa religa. Circuit breaker é um disjuntor por categoria de erro: conta falhas seguidas e, ao chegar ao limiar, abre o circuito e bloqueia aquela categoria até alguém investigar. No caso real o limiar padrão é de três falhas consecutivas.
Job idempotente é uma tarefa identificada por uma chave fixa, de modo que pedir a mesma tarefa duas vezes devolve o mesmo job em vez de criar outro. Junto com um registro do estado de cada etapa, isso permite retomar do primeiro passo pendente depois de uma falha, sem gerar de novo o que já estava pronto e sem gastar limite outra vez.
- **Uma conta, a sua.** Perfil é identidade. Não use outras contas para contornar os limites desta automação: criar contas para somar limites, ou trocar de conta quando o limite acaba, contraria a regra de uma conta deste curso, e o caso registra a troca de conta como gatilho antifraude do Google. Os Termos de Serviço do Google proíbem usos indevidos dos serviços, e o Google mantém uma política de usos proibidos para IA generativa; leia as duas antes de automatizar.
- **Sem simular pessoa.** Nada de navegador disfarçado, atrasos aleatórios para parecer humano ou resolução automática de CAPTCHA. Os documentos mais recentes do caso proíbem navegadores disfarçados (os chamados stealth) e tratam qualquer uso da interface como procedimento visível e autorizado.
- **Sem contornar limite.** Bateu o limite, a automação espera a renovação, usa Generate later pela web ou entrega um derivado local que não gasta cota. Repetir o pedido até passar é martelar, e martelar também é gatilho antifraude.
- **Sem publicar sozinho.** A automação produz arquivos na pasta do ciclo e linhas no manifesto com estado aguardando. Publicar exige uma pessoa identificada que aprovou, com nota.
O erro diz qual trava age
Cada sintoma tem uma resposta própria. Tratar todos como erro genérico e repetir o comando é o que transforma uma falha pequena em bloqueio de conta.
- apareceu CAPTCHA, alerta de login ou desafio antifraudeKill switch
Pare tudo agora, sem nova tentativa. Confira a conta pela interface e só retome com autorização humana.
Decisão humana - veio limite atingido, ou No result found for RPC ID, que o caso trata como provável limiteEsperar e reduzir
O caso espera de 5 a 10 minutos, diminui o lote e conta a falha na categoria de limite. Se o erro persistir, investigue antes de concluir que era limite.
Local, cota zero - a geração falhou ou nunca chegou a completedReaproveitar antes de regerar
Rode artifact list; se a peça falhou, artifact retry antes de um generate novo. Conte a falha na categoria de geração.
Gera no NotebookLM - a sessão expirouLogin humano
Login interativo e auth check --test. Manutenção de sessão não entra no disjuntor.
Decisão humana - RPC protocol error ou campos que sumiram da saídaPlano manual
Provável mudança na API interna. Antes de criar de novo, confira na interface se a peça já existe; siga pelo plano manual e só atualize a biblioteca pelo processo revisado.
Decisão humana
Escrever o plano manual primeiro, pela interface web
Passo 1: Liste as peças do ciclo
No manifesto, escreva cada peça que o ciclo produz (por exemplo, um Audio Overview e um infográfico), com o arquivo do prompt de foco ao lado.
Deu certo quando: Cada peça tem nome, formato e arquivo de prompt.
Erro comum: Deixar o prompt só dentro do script. Na hora da quebra, ninguém lembra o texto exato.
Passo 2: Anote o caminho na interface
Para cada peça, escreva o caminho no Studio: formato, idioma, prompt colado do arquivo e opções usadas.
Deu certo quando: Uma pessoa que nunca viu o script consegue gerar a peça só com a anotação.
Erro comum: Anotar opção que só existe na biblioteca, como um formato que a ajuda oficial não lista mais.
Passo 3: Inclua o Generate later
Escreva o que fazer quando o limite acabar: usar Generate later, que por enquanto só existe na web, ou adiar a peça para o próximo ciclo.
Deu certo quando: O plano diz o que esperar e quando conferir de novo.
Erro comum: Trocar de conta para terminar hoje.
Passo 4: Defina como a peça volta ao fluxo
Baixar pelo menu da peça, salvar na pasta do ciclo com o mesmo nome que o script usaria e registrar no manifesto a rota interface web.
Deu certo quando: O arquivo manual fica idêntico em nome e lugar ao automático, e o manifesto diz qual rota gerou.
Erro comum: Misturar arquivos manuais e automáticos sem registro de rota; depois não dá para saber qual versão foi conferida.
No fim você tem: Um plano manual de uma página, com peças, prompts, caminho no Studio, conduta no limite e registro da rota.
Montar a execução automática com as travas na ordem
Passo 1: Porta de entrada
Antes de qualquer chamada: auth check --test, circuito fechado em todas as categorias e nenhum kill switch armado. Qualquer falha encerra a execução com código diferente de zero.
Deu certo quando: A execução só segue com sessão viva e nenhuma trava aberta.
Erro comum: Pular a porta porque ontem estava tudo bem.
Passo 2: Crie ou retome o job pela chave
Monte a chave a partir do ciclo e da peça, por exemplo audio:ciclo-2026-10-23. Se o job já existe, retome da primeira etapa pendente.
Deu certo quando: Rodar duas vezes o mesmo comando não cria um segundo job.
Erro comum: Usar data e hora no nome da chave; cada execução viraria um job novo.
Passo 3: Contador e fila antes de gerar
Registre a tentativa no contador local. Onde há teto diário publicado (Workspace, Education e Enterprise), compare com o teto menos um; em conta pessoal, confira Configurações > Uso. Em qualquer conta, rode artifact list para ver se há peça do mesmo tipo em andamento.
Deu certo quando: Só dispara com folga no limite e sem peça igual em andamento.
Erro comum: Registrar a tentativa só depois do sucesso. O caso conta toda tentativa, antes de saber se o Google debitou.
Passo 4: Gere, sonde e trate o resultado
generate com --no-wait, sondagem até completed e download. Erro vai para a categoria certa do disjuntor; sucesso zera o contador da categoria.
Deu certo quando: Cada resultado deixa um evento no registro do job.
Erro comum: Repetir o generate depois de um tempo esgotado sem consultar artifact list.
Passo 5: Pare no gate
A última etapa grava a peça no manifesto com estado aguardando. A execução termina aí.
Deu certo quando: Nada sai da pasta do ciclo sem aprovação humana com nome e nota.
Erro comum: Encadear a publicação no fim do script por conveniência.
No fim você tem: Uma execução que entra só com sessão viva, não duplica job nem geração, respeita o contador defensivo da sua conta e termina no gate.
# Scripts da esteira do caso (o aluno não tem estes arquivos; mostram a ordem das portas)
# py -3.12 é o lançador do Python no Windows
py -3.12 scripts/circuit_breaker.py verificar # 3 = circuito aberto: pare
py -3.12 scripts/telemetria.py verificar default audio # 4 = teto atingido
py -3.12 scripts/job_state.py create --operation audio --provider personal-community \
--run ciclo-2026-10-23 --idempotency-key "audio:ciclo-2026-10-23" --executar
py -3.12 scripts/circuit_breaker.py registrar generation_failed --motivo "artefato não chegou a completed"
py -3.12 scripts/circuit_breaker.py reset generation_failed --motivo "causa conferida pela pessoa responsável"Você tem um roteiro de execução com a porta de entrada, a chave de idempotência, o contador e a conferência de fila antes de cada geração, o tratamento de cada sinal de erro e a parada no gate, mais um plano manual de uma página que gera as mesmas peças pela interface web.
O contador defensivo depende do tipo de conta. Onde existe teto diário publicado (Workspace, Education e Enterprise), o caso usa duas proteções. A primeira é parar um abaixo do teto: numa edição com três Audio Overviews por dia, a automação para no segundo e deixa o terceiro para uma necessidade humana; com 20 por dia, para em 19. O contador vive na sua máquina, conta cada tentativa e usa, por precaução, uma janela móvel de 24 horas; ela não representa necessariamente o momento exato em que o Google renova a cota. A segunda é a guarda contra fila dupla: antes de disparar, conferir se já há uma peça do mesmo tipo em andamento, porque, segundo o registro do caso, um segundo disparo pode enfileirar um job silencioso e gastar limite; no caso, o Cinematic divide a fila com o vídeo comum. Quando o teto bate, a peça entra na fila do próprio fluxo para depois da renovação. Essa fila vive no seu fluxo e no seu manifesto; o Google não guarda pedidos adiados por você.
Em conta pessoal não há teto diário por recurso desde 02/09/2026: o limite é por computação, renovado a cada cinco horas até um teto semanal. Ali, teto menos um não tem número para subtrair. Mantenha a guarda contra fila dupla, que vale em qualquer conta, confira Configurações > Uso antes de cada lote e use Generate later quando o limite acabar. Em todos os casos, os números ficam num arquivo de configuração com a data da fonte, nunca escritos no código.
Idempotência local não prova idempotência remota. Depois de um tempo esgotado ambíguo, consulte artifact list pelo ID ou pelo título antes de repetir qualquer criação; repetir às cegas cria uma segunda peça e gasta limite pela mesma entrega.
Exemplo resolvido, do caso real. Nos ciclos de 03/09 e 21/09/2026, a esteira GEO-Pesquisador precisava entregar vídeos e podcasts de aulas de um portal de cursos e, nos dois, encontrou a sessão da biblioteca expirada. Decisão 1: não insistir pela biblioteca nem tentar renovar a sessão por automação; o sinal era de sessão, e sessão se resolve com login humano. Decisão 2: acionar o plano manual e gerar as peças pela interface do Gemini Notebook, num procedimento assistido: um agente de navegador (a extensão do Claude no Chrome real) operava a interface de forma visível e autorizada, sem disfarce, com os mesmos prompts salvos em arquivo e capturas de tela para acompanhar cada passo. Decisão 3: uma peça por vez, porque a transcrição local rodando ao lado do navegador derrubou a captura de tela num dos notebooks.
Houve erros de operação, registrados como lição: uma busca genérica pela caixa de texto inseriu a fonte errada, e o notebook foi descartado em vez de aproveitado. Decisão 4: voltar à biblioteca só depois que a sessão fosse renovada por login humano e passasse em auth check --test. Isso aconteceu no ciclo de 21/09, no perfil principal, depois que a parte daquele ciclo feita pela interface já estava entregue.
O plano manual entregou as peças do ciclo porque os prompts estavam em arquivo e o manifesto aceitava registrar a rota. Variação: se a quebra fosse RPC protocol error em vez de sessão expirada, o login não resolveria; o caminho seria o mesmo plano manual, mais a migração revisada da biblioteca, sem atualização às pressas.
Para avaliar a revisão, comece pelas linhas marcadas como presentes e confira se o trecho citado faz mesmo o que a linha diz: um try genérico que repete o comando não é circuit breaker, e uma pausa fixa entre chamadas não é kill switch. Depois leia as correções propostas procurando atalhos proibidos; se alguma sugerir outra conta para terminar o lote ou um atraso aleatório para parecer gente, recuse a correção e registre o motivo. Uma revisão que marca tudo como presente num roteiro sem plano manual está errada.
Cartões de revisão gerados pelo NotebookLM: casos e automação
O script de automação recebe uma página de desafio com CAPTCHA durante a execução de uma tarefa via biblioteca não oficial.
Acionar o kill switch imediatamente para parar o processo e solicitar intervenção humana, pois inspecionar ou resolver o desafio por automação é proibido.
Uma sessão automatizada expira no meio do pipeline e o script tenta realizar novos logins em segundo plano.
Interromper a execução e realizar o login interativo manualmente pelo navegador real, pois scripts não devem simular comportamento humano.
O script de automação cai após baixar o áudio e antes de gerar a apresentação de slides do ciclo.
Rodar a automação utilizando uma chave de idempotência, permitindo reconhecer o áudio concluído e retomar o fluxo a partir dos slides.
O criador quer rodar um script que altera o perfil do usuário no terminal toda vez que o limite de uso de uma conta acaba.
Utilizar uma única conta pessoal identificada, pois criar ou alternar perfis para somar limites viola as políticas do serviço.
A biblioteca não oficial lança uma nova versão e o criador pensa em rodar o comando de atualização imediata da ferramenta.
Manter a versão fixada no ambiente local, realizando atualizações apenas por um processo revisado de migração e auditoria.
Ao utilizar a biblioteca notebooklm-py para configurar o idioma do áudio para português do Brasil, o comando é passado como pt-BR.
Corrigir a tag de idioma para pt_BR com sublinhado, pois a biblioteca exige essa sintaxe específica para não falhar com erro de código desconhecido.
Uma rotina automatizada tenta enviar o comando de geração de vídeo utilizando a flag --wait no terminal.
Substituir o comando pela flag --no-wait e realizar sondagens periódicas, evitando que a execução expire por excesso de tempo no terminal.
O criador identifica um erro de comunicação RPC na biblioteca não oficial durante a produção de um ciclo urgente.
Acionar o plano manual e gerar as peças diretamente pela interface web do Gemini Notebook com os mesmos prompts em arquivo.
Antes de pesquisar novidades da semana na web, o criador abre um novo notebook do zero sem consultar os projetos anteriores.
Consultar o acervo de notebooks anteriores do tema para mapear o conhecimento acumulado e direcionar a busca apenas para as lacunas.
Ao encerrar o ciclo semanal de pesquisa, o criador exclui o notebook sem salvar os aprendizados obtidos.
Sintetizar o documento de destilado com as lições permanentes e fontes antes do descarte, permitindo reutilizá-lo em ciclos futuros.
Um criador adiciona o documento de brief ao notebook antes de fazer as perguntas de síntese ao chat.
Fazer todas as perguntas ao chat usando apenas as fontes originais e adicionar o brief depois, impedindo que a direção editorial contamine a síntese.
Um criador deseja automatizar a geração de slides e infográficos utilizando a API Enterprise oficial no Google Cloud.
Utilizar a interface web para esses formatos, pois a API Enterprise oficial suporta apenas notebooks, fontes e Audio Overview.
Verificação rápida
Durante a rotina, a biblioteca devolve uma página de verificação com CAPTCHA. O script tem um disjuntor com limiar de três falhas. O que deve acontecer?
Verificação rápida
Sua conta é Workspace com 20 Audio Overviews por dia. A janela de 24 horas mostra 18 tentativas registradas, duas delas falhas. Chega um pedido de mais dois áudios. O que o contador defensivo faz?
Verificação rápida
O script caiu depois de baixar o áudio e antes de gerar o infográfico. Você roda de novo. O que um job idempotente deve fazer?
Perguntas frequentes deste capítulo
Posso usar várias contas Google para gerar mais peças por dia?
Qual a diferença entre kill switch e circuit breaker?
O que fazer quando a biblioteca notebooklm-py para de funcionar?
Seu caderno neste capítulo
Abrir o caderno completoSelecione um trecho do capítulo para destacar ou anotar. Nos vídeos e áudios, use Anotar este momento. No teclado, selecione com Shift e as setas e use Alt+Shift+D para destacar ou Alt+Shift+N para anotar.
Salvo neste navegador. Entre na sua conta para levar o caderno a outros aparelhos.
Entre na sua conta para compartilhar o que aprendeu e convidar alguém para estudar com você.
Conexões deste capítulo
Veja o que estudar antes e para onde seguir depois, explore os conceitos e compare abordagens em outros cursos. Sugestões marcadas como “sugerido pelo grafo” vêm dos assuntos em comum, não do índice do curso.
Estude antes
- CursoSíntese e didática com IAsugerido pelo grafoO NotebookLM resume e transforma fontes em áudio, vídeo e slides; quem já sabe preservar fatos e condições numa síntese confere melhor o que a ferramenta gerou.
- CursoPrompt Engineering para Executivossugerido pelo grafo5 capítulos de “NotebookLM para criar conteúdo” usam conceitos apresentados em “Prompt Engineering para Executivos”.
- CursoVídeo com IA: Claude Code, Codex e ElevenLabssugerido pelo grafo2 capítulos de “NotebookLM para criar conteúdo” usam conceitos apresentados em “Vídeo com IA: Claude Code, Codex e ElevenLabs”.
Conceitos deste capítulo
O mesmo assunto em outros cursos
- MCP com Chrome: Automação com IAOnde termina a leitura e começa a consequênciaExaminar conexões de Onde termina a leitura e começa a consequência
- Redes sociais com agentes de IADê ao agente a documentação de hoje para ele não inventar a integraçãoExaminar conexões de Dê ao agente a documentação de hoje para ele não inventar a integração
- Agentes de IA Autônomos: Do Conceito à ProduçãoFerramentas e function callingExaminar conexões de Ferramentas e function calling
- Segundo cérebro com IAComo retomar o trabalho do agente de onde ele parouExaminar conexões de Como retomar o trabalho do agente de onde ele parou
Terminou a leitura?
Marque como concluído para o capítulo contar no seu painel e no certificado.
Voltar ao capítulo anterior: Instalar a biblioteca não oficial e provar a sessão
Leve uma ideia para a prática
Escolha uma atividade no painel e volte a este curso quando quiser.
Atividades e evolução ficam reunidas no painel da sua conta.
Capítulos vizinhos em NotebookLM para criar conteúdo
- 24O caso real do ciclo semanal de pesquisa, do acervo às lições
- 25Superfícies por tipo de conta e o que cada caminho faz
- 26Instalar a biblioteca não oficial e provar a sessão
- 27Automação que para sozinha antes de causar estrago
- 28Projeto final com o pacote completo de um tema seu