CLI · YouTube · Codex

Publique qualquer vídeo no YouTube com um comando

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.

Banner do yt-pubx: publique no YouTube com um comando
Em resumo

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.

O que é

Do arquivo ao vídeo publicado, sem abrir o Studio

Um único arquivo Python. A configuração e os tokens ficam na sua máquina.

Recursos do yt-pubx em seis cartões

✍️ O Codex escreve

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.

🖼️ Thumb com a sua marca

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.

📺 Quantos canais quiser

Cada canal é um bloco no config.json e um yt-pubx auth. Escolha com --canal; sem ele, vai para o canal padrão.

Como funciona

Cinco etapas, uma linha de comando

Com --dry-run ele para antes do envio e mostra tudo; com --plano publica exatamente o que você conferiu.

Vídeo (arquivo ou link)→ Codex: título, descrição, tags→ Codex image_gen: arte→ Thumb com a marca do canal→ Upload + thumb + legenda

Entrada

Arquivo local, link direto de .mp4 ou link do YouTube, TikTok, Instagram (baixado com o yt-dlp, ou com o comando que você configurar).

Envio

Upload retomável em blocos de 16 MB com novas tentativas. Público, não listado, privado ou agendado com --agendar.

Registro

Cada envio gera uma pasta com plano.json, a thumb e a arte, e uma linha em historico.jsonl.

Pré-requisitos

O que precisa estar na máquina

Linux, macOS ou Windows (WSL). Nada fica num servidor de terceiros.

Python + ffprobe

Python 3.10 ou mais novo, com requests e Pillow; o ffprobe vem com o ffmpeg.

pip install requests pillow
ffprobe -version

Codex CLI

Logado na sua conta do ChatGPT. É ele que escreve os textos e desenha a arte.

npm i -g @openai/codex
codex login

Google Cloud

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
Guia de uso · passo a passo

Do zero ao primeiro vídeo publicado

Os passos 2 a 4 são feitos uma vez por canal. Depois disso, publicar é só o passo 5.

1

Instale e crie a configuração

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
2

Libere o YouTube no Google Cloud

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/
3

Descreva o canal no config

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" }
}
4

Autorize o canal (uma vez)

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
5

Confira antes de enviar

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
6

Publique o que você conferiu

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=...
7

Variações úteis

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
8

Deixe um agente fazer por você

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.

⚠️ Armadilhas do Google

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.

Exemplos

A mesma ferramenta, identidades diferentes

Arte do Codex image_gen, frase e marca aplicadas pelo yt-pubx com as cores de cada canal.

Thumb com etiqueta amarela MEU CANAL e frase Um planeja, outro critica
Canal com etiqueta amarela e destaque vermelho: vídeo sobre usar duas IAs juntas.
Thumb com etiqueta azul ESTÚDIO AZUL e frase Chega de retrabalho
Outro canal, outra marca e outra cor, com a mesma linha de comando e só um --canal diferente.
Roadmap

Onde está e para onde vai

O que já funciona hoje e o que pode vir.

2.0
Ferramenta independenteConfig própria, canais ilimitados, OAuth com yt-pubx auth, compositor de thumb, --dry-run e --plano, agendamento, legenda SRT.
Próximo
Playlists e capítulosAdicionar o vídeo a uma playlist e montar capítulos a partir da legenda.
Depois
LotePublicar uma pasta inteira com um dry-run único para revisar todas as thumbs lado a lado.