Advertentietools bestaan bijna volledig uit dashboards, en die kun je daardoor bijna niet automatiseren. Je kunt een dashboard niet met cron draaien, je kunt een dashboard niet in jq stoppen, en je kunt een terminalagent niet vragen erop te klikken. De Hermoso CLI bestaat zodat de advertentielus geen plek is die je bezoekt, maar iets wat je kunt scripten.
Installeren en inloggen:
npm install -g hermoso
hermoso auth login
auth login start een loopback-listener en opent de browser, hetzelfde patroon dat gh en firebase gebruiken, dus je hoeft niets te plakken. De aangemaakte sleutel wordt geschreven naar ~/.hermoso/config.json met rechten die alleen jij hebt (map 0700, bestand 0600), omdat hij echte uitgavenbevoegdheid draagt. Voor CI slaat hermoso auth login --token <key> een sleutel op zonder interactie, en HERMOSO_TOKEN en HERMOSO_API_BASE overschrijven de configuratie vanuit de omgeving.
De commando's
Elk commando accepteert --json, en dat is het hele punt: de leesbare regel is een gemak, de JSON is het contract.
| Commando | Wat het doet |
|---|---|
hermoso capabilities | Geldige model-id's en hun exacte creditkosten. Draai dit eerst. Het is gratis en alleen-lezen, en het is de manier om te stoppen met modelnamen raden. |
hermoso credits | Saldo, sessiegebruik en recente betaalde aanroepen. |
hermoso brand --domain example.com | Leest een website in als merkprofiel (producten, kleurenpalet, logo, toon) waarop latere renders zijn gebaseerd. |
hermoso competitors --domain example.com | Ontdekt directe concurrenten en vergelijkbare merken waarvan het de moeite waard is te leren. |
hermoso ads --company "Brand" | Haalt de echte, lopende advertenties van die adverteerder op uit de advertentiebibliotheken van Meta, Google en LinkedIn, ontdubbeld en gesorteerd. |
hermoso research "longest-running protein bar ads" | Onderzoek naar advertenties in gewone taal over de bibliotheken heen, plus organische TikTok, en levert de gevonden advertenties terug. |
hermoso create --brand … --product … --format video | Maakt van een briefing een afgewerkt advertentieconcept: tekstvarianten plus een beeldconcept of een videostoryboard, met de model-id's om het te renderen. |
hermoso generate image --prompt "…" --ref ./bottle.png | Rendert en geeft een geserveerde URL terug. --ref verwerkt je echte product in het beeld, zodat het label op het scherm je echte SKU is. |
hermoso jobs / hermoso fetch <url> | Bekijk renders die nog lopen; zet elke asset om in een klikbare en een directe download-URL. |
hermoso mcp | Serveert het volledige 922+ tool-MCP-oppervlak via stdio, dezelfde tools die de gehoste server aanbiedt. |
Twee oppervlakken, één pakket, en waarom dat ertoe doet
Terminalagents betalen twee keer voor tools: één keer in het manifest dat ze in context meedragen, en één keer in de tokens die elke aanroep kost. Een manifest met 922+ tools is niet gratis. Daarom levert hetzelfde pakket beide oppervlakken en laat het de agent kiezen:
- MCP (
hermoso mcp, of de gehostehttps://app.hermoso.ai/mcp) als je het volledige oppervlak wilt en getypte argumenten. - Subprocescommando's als je het goedkope pad wilt qua tokens: de agent shellt, leest JSON en laadt nooit een manifest. Dit is het patroon dat de meegeleverde Claude-skills gebruiken.
Beide praten met dezelfde API, rekenen dezelfde credits af en schrijven naar dezelfde bibliotheek, dus niets blijft aan de ene kant hangen.
Dingen die het waard zijn om te scripten
- Een wekelijkse concurrentiescan.
hermoso competitorsnaarhermoso ads, vergelijk met vorige week, en je hebt een vaste rapportage over wat je markt is begonnen en gestopt met adverteren. - Batch-creatives voor een catalogus. Loop over SKU's, render per product één advertentie op basis van het echte product, en verzamel de teruggegeven URL's. Het is het soort klus dat in een UI oneindig saai is.
- Een creditbewaking in CI.
hermoso credits --json | jq .balance, en laat de pipeline falen voordat een lange batch begint met een leeg saldo. - Kostenbewuste modelkeuze.
hermoso capabilities --jsontoont de exacte kosten per model, dus een script kan het goedkoopste model kiezen dat aan de briefing voldoet in plaats van er één vast in te programmeren.
Publiceren en campagnes
De CLI-subcommando's dekken onderzoek en creatie. Publiceren, inplannen en campagnebeheer op Meta, Google Ads, Microsoft Advertising, Reddit Ads, LinkedIn, Pinterest, X Ads, TikTok Ads, Snapchat Ads, ChatGPT Ads, Apple Search Ads en AppLovin Ads zitten in het MCP-oppervlak. Je bereikt ze vanuit hetzelfde pakket met hermoso mcp, vanaf het gehoste eindpunt, of vanuit de webstudio. Publicatiedoelen zijn Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram en Google Business Profile.
Wat het niet doet zonder te vragen
Een agent met een budget is alleen nuttig als de schade beperkt blijft, dus de uitgavenbevoegdheid wordt op de server afgedwongen en niet in een prompt. Meta-campagnes, advertentiesets en advertenties worden aangemaakt als PAUSED, zonder dat de aanroeper dat kan omzeilen. De statusschakelaars die echte advertentiekosten kunnen starten (één op elk advertentieplatform: 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 en set_openai_ads_status, onder andere) weigeren allemaal te draaien zonder een expliciete bevestigingsvlag. Dezelfde poort geldt voor het aanmaken van een ingeschakelde Google Ads-advertentiegroep, advertentie of zoekwoord onder een al ingeschakelde bovenliggende entiteit, omdat die meteen bij de volgende veiling wordt getoond. Verwijderen vereist ook bevestiging. Aan de generatiekant publiceert hermoso_capabilities de exacte creditkosten van elk model voordat iets draait, en elke render reserveert eerst een schatting en verrekent daarna de werkelijke kosten, zodat een mislukte aanvraag wordt terugbetaald in plaats van je stilletjes te belasten.
Werk je binnen een agent in plaats van een shell? Zie Claude Code-marketingautomatisering en de volledige MCP- en CLI-referentie.
Veelgestelde vragen
Is er een opdrachtregeltool om advertenties te draaien?
Ja. npm install -g hermoso installeert de Hermoso CLI, die concurrentieadvertenties onderzoekt in de advertentiebibliotheken van Meta, Google en LinkedIn, een merkprofiel opstelt vanaf een website, afgewerkte beeld- en video-advertenties plant en rendert, en credits en jobs rapporteert. Elk commando heeft --json-uitvoer voor scripts. Hetzelfde pakket serveert ook de volledige 922+ tool MCP-server via stdio.
Hoe log ik in met de Hermoso CLI?
Draai hermoso auth login. Dat opent een browserlogin via een loopback-listener (hetzelfde patroon als gh en firebase) en slaat de aangemaakte sleutel op in ~/.hermoso/config.json met rechten die alleen jij hebt (map 0700, bestand 0600). Voor CI slaat hermoso auth login --token <key> er één op zonder interactie, en overschrijven HERMOSO_TOKEN en HERMOSO_API_BASE de configuratie vanuit de omgeving.
Kan ik de uitvoer naar jq sturen?
Ja. Elk commando accepteert --json en geeft een gestructureerd object terug. Dat is het bedoelde contract; de leesbare regel is alleen een gemak. hermoso credits --json | jq .balance is een nuttige CI-bewaking vóór een lange renderbatch.
Waarom de CLI gebruiken in plaats van de MCP-server?
Tokenkosten. Een MCP-client laadt het toolmanifest in context, en 922+ tools zijn niet gratis. Een terminalagent die subprocescommando's aanroept en JSON leest, draagt helemaal geen manifest mee. Beide oppervlakken praten met dezelfde API, rekenen dezelfde credits af en schrijven naar dezelfde bibliotheek, dus je kunt ze combineren.
Kan de CLI naar Facebook publiceren of Meta-advertenties beheren?
Publiceren, inplannen en campagnebeheer op Meta, Google Ads, Microsoft Advertising, Reddit Ads, LinkedIn, Pinterest, X Ads, TikTok Ads, Snapchat Ads, ChatGPT Ads, Apple Search Ads en AppLovin Ads zitten in het MCP-oppervlak en niet in de CLI-subcommando's. Je bereikt ze vanuit hetzelfde pakket door hermoso mcp te draaien, vanaf het gehoste eindpunt op https://app.hermoso.ai/mcp, of vanuit de webstudio. Publicatiedoelen zijn Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram en Google Business Profile.
Werkt het ook tegen een lokale server?
Ja. Zet HERMOSO_API_BASE op je eigen oorsprong (bijvoorbeeld http://localhost:3000), dan richten de CLI en de MCP-server zich allebei daarop. Een lokale basis-URL heeft geen authenticatietoken nodig.
Verwant
Renders draaien als serverjobs die je pollt, en een opnieuw geprobeerde post is veilig, ook als de uitkomst van de eerste poging onbekend is. De details staan bij taken en idempotentie.
Wil je het in Claude Code opzetten? Zie Claude Code-marketing.
Installeer de CLI, log in vanuit je browser, en je eerste concurrentiescan is één commando verder. Gratis account, 250+ verdienbare gratis credits, geen creditcard.
Start gratis → Lees de MCP-documentatie →