Você aponta o vídeo e dá o contexto. O Codex escreve título, descrição e tags e desenha a arte da thumb; o yt-pubx aplica a sua marca, publica no canal certo e devolve o link.

O yt-pubx é um programa de linha de comando que publica vídeos no YouTube por você. Ele serve para quem publica com frequência, em um ou vários canais, e não quer preencher título, descrição, tags e thumb à mão toda vez. A partir de um texto curto ou da legenda do vídeo, o Codex CLI escreve os textos e cria a arte da thumb, e o yt-pubx envia tudo pela API oficial do YouTube. Para usar, você precisa de Python, do Codex CLI logado e de um projeto gratuito no Google Cloud com a YouTube Data API ativada.
Um único arquivo Python. A configuração e os tokens ficam na sua máquina.
Título até 90 caracteres, descrição com tópicos e só os links que você passou, tags, e a frase e a cena da thumb. Tudo pela sua assinatura do Codex, sem chave de API de modelo.
A arte sai do gerador de imagem do Codex; o yt-pubx escurece o lado do texto e aplica a frase, a etiqueta da marca e as cores definidas para cada canal.
Cada canal é um bloco no config.json e um yt-pubx auth. Escolha com --canal; sem ele, vai para o canal padrão.
Com --dry-run ele para antes do envio e mostra tudo; com --plano publica exatamente o que você conferiu.
Arquivo local, link direto de .mp4 ou link do YouTube, TikTok, Instagram (baixado com o yt-dlp, ou com o comando que você configurar).
Upload retomável em blocos de 16 MB com novas tentativas. Público, não listado, privado ou agendado com --agendar.
Cada envio gera uma pasta com plano.json, a thumb e a arte, e uma linha em historico.jsonl.
Linux, macOS ou Windows (WSL). Nada fica num servidor de terceiros.
Python 3.10 ou mais novo, com requests e Pillow; o ffprobe vem com o ffmpeg.
pip install requests pillow ffprobe -version
Logado na sua conta do ChatGPT. É ele que escreve os textos e desenha a arte.
npm i -g @openai/codex codex login
Projeto gratuito com a YouTube Data API v3 ativada e um ID de cliente OAuth do tipo "App para computador" (passo 2 do guia).
# opcional, para links pip install yt-dlp
Os passos 2 a 4 são feitos uma vez por canal. Depois disso, publicar é só o passo 5.
Clone o repositório, deixe o comando no PATH e gere o arquivo de exemplo em ~/.config/yt-pubx/config.json.
git clone https://github.com/inematds/yt-pubx.git cd yt-pubx && ln -s "$PWD/yt-pubx" ~/.local/bin/yt-pubx yt-pubx init
No console.cloud.google.com: crie um projeto; em APIs e serviços → Biblioteca ative a YouTube Data API v3; na Tela de consentimento OAuth escolha "Externo" e adicione o e-mail da conta dona do canal como usuário de teste; em Credenciais → Criar credenciais → ID do cliente OAuth escolha App para computador e baixe o JSON.
# guarde o JSON fora de qualquer repositório mv ~/Downloads/client_secret_*.json ~/.config/yt-pubx/
Nome, uma frase sobre o canal (dá o tom aos textos), a linha que fecha toda descrição e a identidade da thumb.
"principal": {
"nome": "Meu Canal",
"sobre": "Tutoriais curtos de fotografia com celular.",
"assinatura": "Inscreva-se: https://www.youtube.com/@meucanal",
"idioma": "pt", "categoria": "27", "privacy": "public",
"thumb": { "marca": "MEU CANAL", "cor_marca": "#f0e805", "cor_destaque": "#f91f06" }
}
Abre o navegador; entre com a conta dona do canal e aceite. O token fica em ~/.config/yt-pubx/tokens/ com permissão 600. Para outro canal, crie outro bloco e repita com o nome dele.
yt-pubx auth principal --client-secret ~/.config/yt-pubx/client_secret_XXXX.json yt-pubx canais # * principal Meu Canal ... ok
O --dry-run gera título, descrição, tags e thumb e mostra tudo sem publicar. Abra a thumb.jpg da pasta indicada.
yt-pubx publicar aula.mp4 --legenda aula.srt \ --contexto "Aula 3 do curso X. Página: https://exemplo.com/curso" --dry-run # PLANO: ~/.local/share/yt-pubx/trabalhos/20261007-163325-aula-mp4/plano.json
O --plano reaproveita o texto e a arte, sem gerar de novo. Dá para trocar só a frase da thumb. No fim aparecem o link do vídeo e o do Studio.
yt-pubx publicar aula.mp4 --plano ~/.local/share/yt-pubx/trabalhos/<pasta>/plano.json \ --frase-thumb "Do zero ao ar" # URL: https://www.youtube.com/watch?v=...
Outro canal, link em vez de arquivo, agendamento, ou tudo à mão sem o Codex.
yt-pubx publicar https://exemplo.com/video.mp4 --canal segundo --contexto "..." yt-pubx publicar video.mp4 --contexto "..." --agendar "2026-12-01 18:00" yt-pubx publicar video.mp4 --title "..." --description "..." --tags "a,b" --thumb capa.jpg yt-pubx atualizar https://www.youtube.com/watch?v=XXXXXXXXXXX --description-arquivo descricao.txt # edita um vídeo já publicado
Ponha esta instrução no CLAUDE.md ou AGENTS.md do seu agente; depois é só pedir "publica esse vídeo no canal X".
# Publicar vídeo no YouTube
Junte o contexto (assunto, links oficiais, SRT), rode
yt-pubx publicar <video> --contexto "..." --dry-run, abra a thumb.jpg,
confira título e descrição e publique com --plano <pasta>/plano.json.
App em modo Teste: o acesso expira em 7 dias; publique o app na tela de consentimento para não expirar. Projeto sem auditoria: o YouTube pode travar como privados os vídeos de projetos novos até a auditoria dos serviços de API do YouTube (gratuita). Cota: 10.000 unidades por dia; cada envio gasta boa parte. Thumb personalizada: exige canal verificado por telefone.
Arte do Codex image_gen, frase e marca aplicadas pelo yt-pubx com as cores de cada canal.


--canal diferente.O que já funciona hoje e o que pode vir.
yt-pubx auth, compositor de thumb, --dry-run e --plano, agendamento, legenda SRT.