Ferramentas de anúncio são quase inteiramente painéis, o que as torna quase impossíveis de automatizar. Você não consegue agendar um painel com cron, não consegue enviar um painel para o jq, e não consegue pedir a um agente de terminal que clique em um. A CLI do Hermoso existe para que o ciclo de anúncios deixe de ser um lugar que você visita e passe a ser algo que você pode rodar em um script.
Instale e entre:
npm install -g hermoso
hermoso auth login
auth login abre um listener de loopback e abre o navegador, o mesmo padrão usado pelo gh e pelo firebase, então não há nada para colar. A chave gerada é gravada em ~/.hermoso/config.json com permissões de uso exclusivo do dono (diretório 0700, arquivo 0600), porque ela carrega autoridade real de gasto. Para CI, hermoso auth login --token <key> guarda uma chave sem interação, e HERMOSO_TOKEN / HERMOSO_API_BASE substituem a configuração pelo ambiente.
Os comandos
Todo comando aceita --json, que é o ponto principal: a linha legível para humanos é uma conveniência, e o JSON é o contrato.
| Comando | O que faz |
|---|---|
hermoso capabilities | Ids válidos de modelos e seus custos exatos em créditos. Rode isto primeiro. É gratuito e somente leitura, e é assim que você para de adivinhar nomes de modelos. |
hermoso credits | Saldo, uso da sessão e chamadas pagas recentes. |
hermoso brand --domain example.com | Lê um site e o transforma em um perfil de marca (produtos, paleta, logo, voz) no qual as renderizações posteriores se baseiam. |
hermoso competitors --domain example.com | Descobre concorrentes diretos e marcas parecidas que valem a pena estudar. |
hermoso ads --company "Brand" | Puxa os anúncios reais em veiculação desse anunciante nas bibliotecas de anúncios da Meta, do Google e do LinkedIn, sem duplicatas e ordenados. |
hermoso research "longest-running protein bar ads" | Pesquisa de anúncios em linguagem natural nas bibliotecas, mais o TikTok orgânico, devolvendo os anúncios que encontrou. |
hermoso create --brand … --product … --format video | Transforma um briefing em um conceito de anúncio finalizado: variações de texto mais um conceito de imagem ou um storyboard de vídeo, com os ids de modelo para renderizar. |
hermoso generate image --prompt "…" --ref ./bottle.png | Renderiza e devolve uma URL servida. --ref compõe o seu produto real para que o rótulo na tela seja o seu SKU de verdade. |
hermoso jobs / hermoso fetch <url> | Inspeciona renderizações em andamento; resolve qualquer ativo para uma URL clicável e uma URL de download direto. |
hermoso mcp | Serve a superfície MCP completa, com mais de 922 ferramentas, via stdio, as mesmas ferramentas que o servidor hospedado expõe. |
Duas superfícies, um pacote, e por que isso importa
Agentes de terminal pagam pelas ferramentas duas vezes: uma vez no manifesto que carregam no contexto, e outra vez nos tokens que cada chamada custa. Um manifesto com mais de 922 ferramentas não é de graça. Por isso, o mesmo pacote entrega as duas superfícies e deixa o agente escolher:
- MCP (
hermoso mcp, ou o endpoint hospedadohttps://app.hermoso.ai/mcp) quando você quer a superfície completa e argumentos tipados e ricos. - Comandos de subprocesso quando você quer o caminho barato em tokens: o agente roda um comando no shell, lê o JSON e nunca carrega um manifesto. Esse é o padrão que as skills do Claude incluídas usam.
As duas chamam a mesma API, cobram os mesmos créditos e gravam na mesma biblioteca, então nada fica preso de um lado só.
Coisas que valem a pena automatizar
- Uma varredura semanal de concorrentes.
hermoso competitorsalimentahermoso ads, compara com a semana anterior, e você tem um relatório permanente sobre o que o seu mercado começou e parou de veicular. - Criativos em lote para um catálogo. Percorra os SKUs, renderize um anúncio com o produto para cada um e reúna as URLs devolvidas. É o tipo de trabalho que é genuinamente cansativo em uma interface.
- Uma trava de créditos no CI.
hermoso credits --json | jq .balancee falhe o pipeline antes que um lote longo comece com saldo zerado. - Escolha de modelo sensível ao custo.
hermoso capabilities --jsonexpõe os custos exatos por modelo, então um script pode escolher o modelo mais barato que atende ao briefing em vez de fixar um só.
Publicação e campanhas
Os subcomandos da CLI cobrem pesquisa e criação. Publicação, agendamento e gestão de campanhas na Meta, no Google Ads, no Microsoft Advertising, no Reddit Ads, no LinkedIn, no Pinterest, no X Ads, no TikTok Ads, no Snapchat Ads, no ChatGPT Ads, no Apple Search Ads e no AppLovin Ads ficam na superfície MCP, acessível pelo mesmo pacote com hermoso mcp, pelo endpoint hospedado, ou pelo estúdio web. Os destinos de publicação são Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram e Google Business Profile.
O que ele não faz sem perguntar
Um agente com orçamento só é útil se o raio de ação for limitado, então a autoridade de gasto é controlada pelo servidor e não por um prompt. Campanhas, conjuntos de anúncios e anúncios da Meta são criados PAUSED, sem nenhuma forma de o chamador passar por cima disso. As mudanças de status que podem ativar gasto real com anúncios (uma em cada plataforma de anúncios: set_meta_campaign_status, set_google_ads_status, set_microsoft_ads_status, set_reddit_ads_status, set_linkedin_ads_status, set_pinterest_ads_status, set_x_ads_status e set_openai_ads_status, entre outras) recusam rodar sem uma flag de confirmação explícita, e essa mesma trava cobre criar um grupo de anúncios, anúncio ou palavra-chave ativo do Google Ads sob um pai já ativo, porque isso começa a veicular no próximo leilão. Exclusões também exigem confirmação. No lado da geração, hermoso_capabilities publica o custo exato em créditos de cada modelo antes de qualquer execução, e cada renderização reserva uma estimativa e depois acerta o custo real, então um envio que falha é reembolsado em vez de cobrar você em silêncio.
Trabalhando dentro de um agente em vez de um shell? Veja marketing com Claude Code e a referência completa de MCP e CLI.
Perguntas frequentes
Existe uma ferramenta de linha de comando para rodar anúncios?
Sim. npm install -g hermoso instala a CLI do Hermoso, que pesquisa anúncios de concorrentes nas bibliotecas da Meta, do Google e do LinkedIn, monta um perfil de marca a partir de um site, planeja e renderiza anúncios finais de imagem e vídeo, e mostra créditos e trabalhos, com saída --json em todos os comandos para automação. O mesmo pacote também serve o servidor MCP completo, com mais de 922+ ferramentas, via stdio.
Como autentico a CLI do Hermoso?
Rode hermoso auth login. Ele abre um login no navegador por loopback (o mesmo padrão usado pelo gh e pelo firebase) e guarda a chave gerada em ~/.hermoso/config.json com permissões de uso exclusivo do dono (diretório 0700, arquivo 0600). Para CI, hermoso auth login --token <key> guarda uma chave sem interação, e HERMOSO_TOKEN e HERMOSO_API_BASE substituem a configuração pelo ambiente.
Posso enviar a saída para o jq?
Sim. Todo comando aceita --json e imprime um objeto estruturado. Esse é o contrato pretendido; a linha legível é só uma conveniência. hermoso credits --json | jq .balance é uma trava útil no CI antes de um lote longo de renderizações.
Por que usar a CLI em vez do servidor MCP?
Custo em tokens. Um cliente MCP carrega o manifesto de ferramentas no contexto, e mais de 922 ferramentas não são de graça. Um agente de terminal que roda comandos de subprocesso e lê JSON não carrega manifesto nenhum. As duas superfícies chamam a mesma API, cobram os mesmos créditos e gravam na mesma biblioteca, então você pode misturar as duas.
A CLI consegue publicar no Facebook ou gerenciar anúncios da Meta?
Publicação, agendamento e gestão de campanhas na Meta, no Google Ads, no Microsoft Advertising, no Reddit Ads, no LinkedIn, no Pinterest, no X Ads, no TikTok Ads, no Snapchat Ads, no ChatGPT Ads, no Apple Search Ads e no AppLovin Ads ficam na superfície MCP, e não nos subcomandos da CLI. Acesse pelo mesmo pacote rodando hermoso mcp, pelo endpoint hospedado em https://app.hermoso.ai/mcp, ou pelo estúdio web. Os destinos de publicação são Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram e Google Business Profile.
Funciona com um servidor local?
Sim. Defina HERMOSO_API_BASE com a sua própria origem (por exemplo http://localhost:3000) e a CLI e o servidor MCP passam a apontar para ela. Uma base em localhost não precisa de token de autenticação.
Relacionados
Renderizações rodam como trabalhos no servidor que você consulta, e uma publicação reenviada é segura mesmo quando o resultado da primeira tentativa é desconhecido. Os detalhes estão em trabalhos e idempotência.
Prefere configurar isso dentro do Claude Code? Veja marketing com Claude Code.
Instale a CLI, entre pelo navegador e a sua primeira varredura de concorrentes está a um comando de distância. Conta gratuita, com mais de 250 créditos gratuitos que podem ser conquistados, sem cartão.
Comece grátis → Leia a documentação do MCP →