명령줄에서 광고 실행하기

npm install -g hermoso로 스크립트 가능한 마케팅 CLI를 설치하세요. 경쟁사가 계속 돈을 쓰는 광고를 가져오고, 광고 하나를 렌더링하고, 크레딧 잔액을 확인하고, 그 결과를 무엇이든 jq로 넘길 수 있습니다. 같은 패키지에서 922개 이상의 도구를 가진 MCP 서버도 stdio로 제공하므로, 터미널 에이전트는 더 저렴한 쪽을 골라 쓸 수 있습니다.

광고 도구는 거의 전부 대시보드라서, 거의 자동화할 수 없습니다. 대시보드는 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로 제공합니다.

두 가지 표면, 하나의 패키지, 그리고 그것이 중요한 이유

터미널 에이전트는 도구 비용을 두 번 냅니다. 한 번은 컨텍스트에 들고 다니는 매니페스트에서, 또 한 번은 호출마다 드는 토큰에서요. 922개 이상의 도구 매니페스트는 공짜가 아닙니다. 그래서 같은 패키지가 두 표면을 모두 제공하고, 선택은 에이전트에게 맡깁니다:

  • MCP(hermoso mcp 또는 호스팅된 https://app.hermoso.ai/mcp)는 전체 표면과 풍부한 타입 인수가 필요할 때 씁니다.
  • 하위 프로세스 명령은 토큰을 아끼는 경로가 필요할 때 씁니다. 에이전트가 셸을 실행해 JSON을 읽고, 매니페스트는 전혀 로드하지 않습니다. 번들된 Claude 스킬이 이 방식을 씁니다.

두 표면은 같은 API를 호출하고, 같은 크레딧으로 과금하며, 같은 라이브러리에 기록합니다. 그래서 한쪽에 묶여 버리는 것이 없습니다.

스크립트로 만들 만한 것들

  • 주간 경쟁사 점검. hermoso competitors의 결과를 hermoso ads에 넘기고 지난주와 비교하면, 시장이 무엇을 새로 시작하고 중단했는지 상시 보고서가 됩니다.
  • 카탈로그용 크리에이티브 일괄 제작. SKU를 돌면서 제품마다 실제 제품이 들어간 광고 하나씩을 렌더링하고, 돌아온 URL을 모읍니다. UI에서는 지루하기 짝이 없는 작업입니다.
  • CI의 크레딧 가드. hermoso credits --json | jq .balance로 잔액을 확인해, 빈 잔액으로 긴 작업이 시작되기 전에 파이프라인을 실패시킵니다.
  • 비용을 고려한 모델 선택. hermoso capabilities --json이 모델별 정확한 비용을 보여주므로, 스크립트는 모델 하나를 하드코딩하는 대신 브리프를 충족하는 가장 저렴한 모델을 고를 수 있습니다.

게시와 캠페인

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 Business Profile입니다.

먼저 묻지 않고는 하지 않는 일

에이전트는 예산이 있어야 쓸모가 있고, 영향 범위가 제한되어야 합니다. 그래서 지출 권한은 프롬프트가 아니라 서버에서 통제합니다. Meta 캠페인, 광고 세트, 광고는 호출자가 재정의할 수 없이 항상 PAUSED 상태로 만들어집니다. 실제 광고비를 켤 수 있는 상태 전환 도구(모든 광고 플랫폼에 하나씩 있으며, 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을 받아 구조화된 객체를 출력합니다. 그것이 의도된 계약이고, 사람이 읽는 한 줄은 편의용입니다. 긴 렌더링 배치 전에 hermoso credits --json | jq .balance를 CI 가드로 쓰면 유용합니다.

MCP 서버 대신 CLI를 쓰는 이유는 무엇인가요?

토큰 비용 때문입니다. MCP 클라이언트는 도구 매니페스트를 컨텍스트에 로드하는데, 922개 이상의 도구는 공짜가 아닙니다. 하위 프로세스 명령을 실행하고 JSON을 읽는 터미널 에이전트는 매니페스트를 아예 들고 다니지 않습니다. 두 표면은 같은 API를 호출하고, 같은 크레딧으로 과금하며, 같은 라이브러리에 기록하므로 섞어 쓸 수 있습니다.

CLI로 Facebook에 게시하거나 Meta 광고를 관리할 수 있나요?

Meta, Google Ads 등에서의 게시, 예약, 캠페인 관리는 CLI 하위 명령이 아니라 MCP 표면에 있습니다. 같은 패키지에서 hermoso mcp를 실행하거나, https://app.hermoso.ai/mcp 호스팅 엔드포인트를 쓰거나, 웹 스튜디오에서 사용할 수 있습니다. 게시 대상은 Facebook, Instagram, Threads, TikTok, YouTube, X, LinkedIn, Pinterest, Bluesky, Telegram, Google Business Profile입니다.

로컬 서버에서도 작동하나요?

네. HERMOSO_API_BASE를 자신의 오리진(예: http://localhost:3000)으로 설정하면 CLI와 MCP 서버가 모두 그쪽을 대상으로 합니다. localhost에는 인증 토큰이 필요 없습니다.

관련 글

렌더링은 폴링하는 서버 측 작업으로 실행되며, 첫 시도의 결과를 알 수 없을 때도 게시를 다시 시도해도 안전합니다. 자세한 내용은 작업과 멱등성에 있습니다.

Claude Code 안에서 설정하고 싶다면 Claude Code 마케팅을 보세요.

CLI를 설치하고 브라우저에서 로그인하면 첫 경쟁사 점검은 명령 한 줄입니다. 무료 계정, 적립 가능한 무료 크레딧 250개 이상, 카드 불필요.

무료로 시작하기 →   MCP 문서 읽기 →