広告のツールは、ほとんどがダッシュボードです。そのため、ほとんど自動化できません。ダッシュボードを cron で動かすことはできず、jq にパイプすることもできず、ターミナルのエージェントにクリックさせることもできません。Hermoso CLI は、広告の作業を「訪れる場所」ではなく「スクリプトにできるもの」にするためにあります。
インストールとサインイン:
npm install -g hermoso
hermoso auth login
auth login は、ループバックのリスナーを立ち上げてブラウザを開きます。gh や firebase と同じ方式なので、貼り付けるものはありません。発行されたキーは ~/.hermoso/config.json に、所有者だけが読める権限(ディレクトリは 0700、ファイルは 0600)で書き込まれます。実際の広告費を動かす権限を持っているからです。CI では、hermoso auth login --token <key> で対話なしにキーを保存できます。HERMOSO_TOKEN と HERMOSO_API_BASE は、環境変数から設定ファイルを上書きします。
コマンド
すべてのコマンドが --json に対応しています。それがこの仕組みの要点です。人が読む一行は便利のためのもので、JSON が契約です。
| コマンド | できること |
|---|---|
hermoso capabilities | 有効なモデルIDと、その正確なクレジット単価。最初に実行してください。無料で読み取り専用です。モデル名を推測しなくなるための道具です。 |
hermoso credits | 残高、このセッションの使用量、最近の課金されたコールです。 |
hermoso brand --domain example.com | ウェブサイトを読み取り、ブランドプロフィール(商品、配色、ロゴ、トーン)を作ります。以後のレンダリングは、これに基づきます。 |
hermoso competitors --domain example.com | 直接の競合と、学ぶ価値のある類似ブランドを見つけます。 |
hermoso ads --company "Brand" | その広告主が実際に配信している広告を、Meta、Google、LinkedIn の広告ライブラリから取得し、重複を除いて並べます。 |
hermoso research "longest-running protein bar ads" | 自然言語での広告リサーチです。広告ライブラリに加えて、オーガニックの TikTok も対象にし、見つけた広告を返します。 |
hermoso create --brand … --product … --format video | ブリーフを完成した広告のコンセプトにします。コピーのバリエーションと、画像のコンセプトか動画の絵コンテを、レンダリングに使うモデルIDとともに作ります。 |
hermoso generate image --prompt "…" --ref ./bottle.png | レンダリングして、配信される URL を返します。--ref は実際の商品を合成するので、画面上のラベルは実際の SKU になります。 |
hermoso jobs / hermoso fetch <url> | 処理中のレンダリングを確認します。任意の資産を、クリックできる URL と直接ダウンロードできる URL に変換します。 |
hermoso mcp | 922以上のツールの MCP を、stdio で提供します。ホスト型サーバーと同じツールです。 |
1つのパッケージに2つの入り口、そしてそれが大事な理由
ターミナルのエージェントは、ツールの代金を2回払っています。1回目はコンテキストに載せるマニフェストで、2回目は呼び出しごとのトークンです。922以上のツールのマニフェストは、ただではありません。そこで同じパッケージは2つの入り口を用意し、どちらを使うかはエージェントが選べるようにしています。
- MCP(
hermoso mcp、またはホスト型のhttps://app.hermoso.ai/mcp)は、すべてのツールと型付きの豊かな引数が必要なときに使います。 - サブプロセスのコマンドは、トークンを節約したいときに使います。エージェントがシェルから呼び出して JSON を読み、マニフェストはまったく読み込みません。同梱の Claude スキルが使っているのがこの方式です。
どちらも同じ API を使い、同じクレジットを消費し、同じライブラリに書き込みます。そのため、どちらか一方に取り残されるものはありません。
スクリプトにする価値があること
- 毎週の競合調査。
hermoso competitorsの結果をhermoso adsに流し、先週と比べます。そうすれば、市場の中で誰が配信を始め、誰が止めたかを、定期的なレポートとして手に入れられます。 - カタログのためのまとめてのクリエイティブ作成。 SKU をループで回し、商品ごとに実際の商品が入った広告を1つずつレンダリングして、返ってきた URL を集めます。UI では本当に面倒な作業です。
- CI でのクレジット確認。
hermoso credits --json | jq .balanceで、残高が空の状態で長いバッチが始まる前に、パイプラインを止めます。 - コストを考えたモデル選び。
hermoso capabilities --jsonは、モデルごとの正確な費用を出します。そのため、スクリプトは1つのモデルを固定する代わりに、ブリーフを満たす最も安いモデルを選べます。
投稿とキャンペーン
CLI のサブコマンドは、リサーチと制作をカバーします。Meta、Google Ads、Microsoft Advertising、Reddit Ads、LinkedIn、Pinterest、X Ads、TikTok Ads、Snapchat Ads、ChatGPT Ads、Apple Search Ads、AppLovin Ads にまたがる投稿、予約、キャンペーン管理は MCP の側にあります。同じパッケージから hermoso mcp で使えるほか、ホスト型のエンドポイントや、ウェブのスタジオからも使えます。投稿先は、Facebook、Instagram、Threads、TikTok、YouTube、X、LinkedIn、Pinterest、Bluesky、Telegram、Google ビジネスプロフィールです。
確認なしでは実行しないこと
予算を持つエージェントは、影響範囲が限られていて初めて役に立ちます。そのため、支出の権限はプロンプトではなくサーバー側で制限しています。Metaのキャンペーン、広告セット、広告は、呼び出し側が上書きできない形で PAUSED の状態で作られます。実際の広告費を動かせるステータス切り替え(すべての広告プラットフォームに1つずつあります。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、set_openai_ads_status など)は、明示的な確認フラグがないと実行されません。同じゲートは、すでに有効になっている親の下に、有効な Google Ads の広告グループ、広告、キーワードを作る場合にも適用されます。それらは次のオークションですぐ配信されるからです。削除も確認が必要です。生成の側では、hermoso_capabilities が、実行の前に各モデルの正確なクレジット単価を表示します。また、すべてのレンダリングは見積もりを確保し、実際の費用で精算します。そのため、送信に失敗した場合は、こっそり課金されるのではなく返金されます。
エージェントの中で作業していて、シェルではない場合は、Claude Code でのマーケティングの自動化と、MCP と CLI の完全なリファレンスをご覧ください。
よくある質問
広告を実行するためのコマンドラインツールはありますか?
はい。npm install -g hermoso で Hermoso CLI をインストールできます。Meta、Google、LinkedIn の広告ライブラリを対象に競合の広告を調べ、ウェブサイトからブランドプロフィールを作り、完成した画像と動画の広告を計画してレンダリングし、クレジットとジョブを報告します。すべてのコマンドが、スクリプト用の --json 出力に対応しています。同じパッケージで、922以上のツールの MCP サーバーを stdio で動かすこともできます。
Hermoso CLI の認証はどうすればいいですか?
hermoso auth login を実行します。ループバックのブラウザでサインインが開き(gh や firebase と同じ方式です)、発行されたキーを ~/.hermoso/config.json に、所有者だけが読める権限(ディレクトリは 0700、ファイルは 0600)で保存します。CI では、hermoso auth login --token <key> で対話なしに保存できます。HERMOSO_TOKEN と HERMOSO_API_BASE は、環境変数から設定を上書きします。
出力を jq にパイプできますか?
はい。すべてのコマンドが --json を受け付け、構造化されたオブジェクトを出力します。それが意図された契約で、人が読む一行は便利のためのものにすぎません。長いレンダリングのバッチの前に CI でかけるガードとして、hermoso credits --json | jq .balance が役立ちます。
MCP サーバーではなく CLI を使うのはなぜですか?
トークンの費用のためです。MCP クライアントはツールのマニフェストをコンテキストに読み込み、922以上のツールはただではありません。シェルからサブプロセスのコマンドを呼び出し、JSON を読むターミナルのエージェントは、マニフェストをまったく持ちません。どちらの入り口も同じ API を使い、同じクレジットを消費し、同じライブラリに書き込むので、両方を組み合わせて使えます。
CLI から Facebook に投稿したり、Meta の広告を管理したりできますか?
Meta、Google Ads、Microsoft Advertising、Reddit Ads、LinkedIn、Pinterest、X Ads、TikTok Ads、Snapchat Ads、ChatGPT Ads、Apple Search Ads、AppLovin Ads にまたがる投稿、予約、キャンペーン管理は、CLI のサブコマンドではなく MCP の側にあります。同じパッケージから hermoso mcp を実行して使うか、https://app.hermoso.ai/mcp のホスト型エンドポイントを使うか、ウェブのスタジオから使えます。投稿先は、Facebook、Instagram、Threads、TikTok、YouTube、X、LinkedIn、Pinterest、Bluesky、Telegram、Google ビジネスプロフィールです。
ローカルのサーバーに対して動かせますか?
はい。HERMOSO_API_BASE を自分のオリジン(例: http://localhost:3000)に設定すると、CLI と MCP サーバーの両方がそこを対象にします。localhost を指定した場合は、認証トークンは不要です。
関連
レンダリングはサーバー側のジョブとして実行され、ポーリングで確認します。再試行した投稿は、最初の試行の結果が不明でも安全です。詳しくは ジョブと冪等性 をご覧ください。
Claude Code の中でセットアップしたい場合は、Claude Code でのマーケティングをご覧ください。
CLI をインストールして、ブラウザからサインインすれば、最初の競合調査は1コマンドです。無料アカウント、獲得可能な無料クレジット250以上、カード不要。
無料で始める → MCP のドキュメントを読む →