Eu queria parar de preencher os mesmos campos no YouTube Studio: arquivo, miniatura, título, descrição e tags. Montei um login para conectar canais pelo Google e pedir o envio pelo chat. No primeiro teste com o Midplay, o vídeo chegou ao canal, mas a miniatura precisou ser comprimida e a visibilidade não ficou como eu tinha pedido.
Conecte cada canal com o login do Google
Eu já tinha feito uma integração parecida com o Instagram: cada pessoa entra com a própria conta e autoriza o que a ferramenta vai fazer. Para o YouTube, queria conectar canais diferentes por login, sem pedir uma chave de API a cada pessoa. Criei um cliente OAuth no Google Cloud, cadastrei o endereço de retorno da aplicação e usei o login para escolher a conta e o canal que autorizariam o envio.
O ID do cliente entra na configuração da aplicação. A chave secreta fica como secret no Worker da Cloudflare; não coloque esse valor no código nem numa conversa com a IA. A tela do Google pode avisar que o app ainda não foi verificado. Enquanto o projeto OAuth externo está em modo de teste, só as contas adicionadas como testadoras conseguem autorizar. Nesse estado, o token de atualização para permissões do YouTube pode expirar em sete dias, então confira a situação de publicação e verificação se a conexão precisar continuar ativa.
Passe o contexto do canal junto com o vídeo
Depois do login, associei o canal de música a um nome curto, `midplay`, para poder escolhê-lo sem confundir com outras contas. Também deixei registrado o tipo de conteúdo e o idioma que uso naquele canal. No teste, enviei um vídeo de piano com uma faixa do Michael Jackson e passei o endereço da música para entrar na descrição.
O chat recebeu o arquivo e a miniatura; eu pedi que preparasse título, descrição e tags em inglês, com o nome da música, do artista e do canal. Quando você usa vários canais, deixe claro qual conta recebe o vídeo, em que idioma os campos devem sair e qual endereço deve aparecer. No meu caso, o projeto tinha uma parte na Cloudflare e um script local para fazer o envio; apontar o Codex para o processo que já existia evitou uma segunda integração desnecessária.
Resolva o ambiente e a conexão antes de refazer o upload
Minha primeira execução pelo Codex parou porque aquele computador não tinha as dependências de Python do script. A ferramenta preparou um ambiente isolado para rodar a publicação sem mudar o projeto. Depois, o endereço da conexão apontava para `localhost:8787`, enquanto o canal Midplay estava ligado ao serviço de produção. Corrigi o destino; só então o processo encontrou a conta certa e conferiu título, descrição e tags.
Esses dois erros pareciam falhas do YouTube, mas estavam no caminho entre o chat e a conta. Antes de mandar o arquivo outra vez, confira se o ambiente local tem o que o script precisa e se ele está falando com a conexão em que o canal foi autorizado.
Comprima a miniatura e confirme a visibilidade no Studio
A miniatura que enviei passou do limite de 2 MB que apareceu naquele fluxo. A IA comprimiu uma cópia e tentou de novo; o segundo arquivo foi aceito. Hoje, a documentação do método de miniatura da YouTube Data API informa limite de 50 MB. Portanto, os 2 MB eram uma restrição do caminho que eu usei, não um teto que eu aplicaria a todo upload do YouTube. Se aparecer um erro parecido, comprima uma cópia e investigue em qual etapa o limite está configurado.
Eu também pedi que o vídeo fosse público, mas ele apareceu como privado no Studio. A API permite definir `status.privacyStatus` já no envio; alguns uploads também podem herdar o padrão privado das configurações do canal. No meu teste, eu não confirmei por que o pedido não chegou ao status final. A documentação atual não atribui esse resultado automaticamente a um projeto de API não verificado.
Trocar a visibilidade depois do envio é outra operação. O método de atualização do vídeo pede permissões além do escopo limitado `youtube.upload`. Meu token não permitiu fazer essa alteração, então conferi o canal e mudei o status manualmente no YouTube Studio. A lição prática é deixar o status explícito na solicitação de upload e, mesmo assim, confirmar o resultado depois do processamento.
Teste um vídeo antes de deixar uma fila agendada
Com o teste, consegui conectar o canal, montar os metadados, enviar o arquivo e substituir a miniatura recusada. A mudança de visibilidade ainda ficou manual. Também pensei em deixar uma pasta com vídeos para a automação publicar a cada seis ou oito horas, mas isso era um próximo passo, não uma fila que já estivesse funcionando.
Eu começaria enviando um vídeo de cada canal e abriria cada resultado no Studio: confirme conta, título, descrição, tags, miniatura e status. Só depois de resolver o que falhou eu colocaria vários arquivos numa rotina agendada. Mandar o vídeo pelo chat economiza preenchimento repetido; a checagem final evita deixar privado um material que deveria estar público.