# 클로드 코드로 OG 이미지 만들고, 에어브릿지 API로 트래킹 링크 N개 발급한다 — 블로그 1편 자동 마케팅화 (2/3)

> 출처: https://retn.kr/blog/claude-code-og-image-airbridge-tracking-link-blog-automation/ · 수정 2026-05-28 · 리텐션 주식회사

블로그 글 1편 발행 후 클로드 코드 에이전트가 OG 이미지 만들고, 에어브릿지 REST API가 채널별 트래킹 링크 N개를 일괄 발급하고, 에어브릿지 MCP가 검증해 슬랙으로 보고하는 30초 파이프라인. 네이밍 컨벤션·오탈자 사전 검증 포함.

> 📝 이 글은 해당 세션 전에 _사전 준비 & 프리모템(premortem)_을 하면서 작성되었습니다.

본 글은 3편 시리즈의 2편입니다. 1편: [클로드 코드 + 에어브릿지 MCP × API 자동화 청사진](/claude-code-airbridge-mcp-api-agentic-marketer-blueprint/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%ED%81%B4%EB%A1%9C%EB%93%9C_%EC%BD%94%EB%93%9C_%2B_%EC%97%90%EC%96%B4%EB%B8%8C%EB%A6%BF%EC%A7%80_mcp_%C3%97_api_%EC%9E%90%EB%8F%99%ED%99%94_%EC%B2%AD%EC%82%AC%EC%A7%84) · 3편: [통합 안 된 매체 비용도 에어브릿지 대시보드에](/airbridge-self-serve-cost-upload-claude-code-automation/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%ED%86%B5%ED%95%A9_%EC%95%88_%EB%90%9C_%EB%A7%A4%EC%B2%B4_%EB%B9%84%EC%9A%A9%EB%8F%84_%EC%97%90%EC%96%B4%EB%B8%8C%EB%A6%BF%EC%A7%80_%EB%8C%80%EC%8B%9C%EB%B3%B4%EB%93%9C%EC%97%90)

## TL;DR

- 블로그 글 1편을 발행하고 나면, 콘텐츠 마케터는 보통 _카카오톡 공유용 링크 1개, 메일 뉴스레터용 링크 1개, SMS 캠페인용 링크 1개, 인스타그램 바이오용 링크 1개, 페이스북 공유용 링크 1개, 그리고 OG 이미지 1장_을 만들기 위해 30분에서 2시간을 씁니다.
- 이 수작업 반복을 `(클로드 코드 에이전트) → (GPT image-2 OG 생성) → (에어브릿지 REST API 트래킹 링크 N개 발급) → (에어브릿지 MCP 검증) → (슬랙 보고)` 순으로 묶으면 30분이 30초로 줄어듭니다.
- 핵심은 _에어브릿지 MCP만으로는 트래킹 링크 발급이 안 된다_는 점. 발급은 _에어브릿지 REST API_의 일이고, 검증은 _에어브릿지 MCP_의 일입니다. 둘은 **다른 책임**을 가집니다.
- 네이밍 컨벤션, 오탈자, 트래킹 누락 점검도 같은 에이전트가 사전 검증합니다. 마케터는 _최종 발행 승인_만 누릅니다 — 1편에서 다룬 [Human-in-the-Loop 디자인 원칙](/claude-code-airbridge-mcp-api-agentic-marketer-blueprint/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=human-in-the-loop_%EB%94%94%EC%9E%90%EC%9D%B8_%EC%9B%90%EC%B9%99)을 그대로 적용합니다.

> 📤 **이 글 한 번에 공유하기** — _클로드 코드 + 에어브릿지 REST API + GPT image로 즉석 발급한 트래킹 링크입니다. 채널 _`_blog_share_`_, 캠페인 _`_claude-code-og-image-airbridge-tracking-link-blog-automation_202604_blog_share_`_, OG 이미지는 GPT Image 2 (high, 1536×1024). 클릭은 __[에어브릿지 actuals 리포트](https://help.airbridge.io/en/guides/actuals-report.md?ref=retn.kr)__에 그대로 집계됩니다._

> **클로드 코드로 OG 이미지 만들고, 에어브릿지 API로 트래킹 링크 N개 발급한다**
>
> 블로그 1편 발행 후 30분이 30초로 — 클로드 코드 에이전트가 OG 이미지 만들고 에어브릿지 REST API가 채널별 트래킹 링크 N개를 일괄 발급하는 30초 파이프라인.
>
> [demokr.ab180.co](https://demokr.ab180.co/btecp9?ref=retn.kr)

## 1. 고질병을 다시 본다

저희 팀이 1편에서 정리한 8개 고질병 중, 콘텐츠 마케터가 매주 가장 많이 부딪히는 조합은 다음 셋입니다.

- 고질병 1 — 리포트 빌드·해석·공유의 일부분: _"이 글이 어디서 가장 많이 읽혔는지" 측정하려면 채널별 링크가 분리돼야_ 함.
- 고질병 2 — 광고 매체 비교: _"채널별 ROAS 측정"의 전제는 캠페인이 정확하게 분리돼_ 있어야 함.
- 고질병 8 — 네이밍 컨벤션 정합성 검수: _링크 수십 개 만들다 보면 오탈자, 트래킹 누락, 컨벤션 위반이 필연_.

세 고질병의 공통 뿌리는 _"링크 1개 만드는 데 컨벤션 + 오탈자 + 어트리뷰션 + OG 메타 + 호스팅을 동시에 챙겨야 한다"_ 입니다. 사람은 멀티태스킹을 못합니다. 그러나 LLM 에이전트는 합니다.

## 2. 자동화 흐름 한눈에

![블로그 발행→메타 추출→OG 이미지 생성→트래킹 링크 N개 발급→검증→보고로 이어지는 5단계 자동화 파이프라인](/content/images/2026/04/inline-part2-pipeline-5steps-v2.png)

```
<code>블로그 발행 (Ghost webhook 또는 cron)
   │
   ▼
[ 에이전트 1 — 메타 분석 ]
   - title, description, hero image, 주제 키워드 추출
   │
   ▼
[ 에이전트 2 — OG 이미지 생성 ]
   - GPT image-2로 시리즈 일관성 있는 이미지 1장
   - Ghost asset 또는 외부 호스트에 업로드, 영구 URL 확보
   │
   ▼
[ 에이전트 3 — 캠페인 네이밍 생성 ]
   - 컨벤션: {slug}_{YYYYMM}_{channel}
   - 오탈자·금지어·중복 검증
   │
   ▼
[ 에어브릿지 REST API ] POST /v1/tracking-links × N
   - 채널별로 N개 발급 (kakao, sms, email, instagram, facebook, etc.)
   - 각 링크에 동일 OG 이미지·타이틀·설명 임베드
   │
   ▼
[ 에어브릿지 MCP ] get_tracking_link으로 N개 검증
   - createdBy: API 확인
   - ogTag, deeplinkUrl, fallbackPaths 검증
   │
   ▼
[ 슬랙 + 노션 보고 ]
   - 슬랙 캔버스에 N개 링크 + OG 미리보기 + 14일 후 ROAS 리포트 예약
</code>
```

## 3. 1단계 — 블로그 메타 추출 + OG 이미지 생성

![프롬프트 입력이 골드 파티클 흐름을 거쳐 OG 카드로 변환되는 GPT image-2 생성 컨셉](/content/images/2026/04/inline-part2-og-generation-v2.png)

### 3-1. 블로그 메타 추출

Ghost CMS를 쓴다면 `/ghost/api/admin/posts/:id`로 글 본문·메타를 받을 수 있습니다. WordPress라면 REST API, Sanity·Contentful은 GraphQL. 어느 CMS든 LLM에 보낼 입력은 다음 5가지입니다.

- 제목
- 발행 슬러그
- 메타 디스크립션 (없으면 LLM이 본문 첫 단락에서 추출)
- 핵심 키워드 (없으면 LLM이 본문에서 5개 추출)
- hero image URL (있으면 OG 이미지의 시각 톤 참조용)

### 3-2. OG 이미지 생성

OpenAI 이미지 생성 모델은 _브랜드 톤이 일관된 시리즈 이미지_를 다음 시스템 프롬프트로 잘 만듭니다. 2026년 4월 현재 _공식 GA 모델은 _`_gpt-image-1_`, 차기 `gpt-image-2`(스냅샷 `gpt-image-2-2026-04-21`)는 출시되는 시점에 교체하면 됩니다. 이 문단의 코드는 모델명만 바꾸면 그대로 동작합니다. _프롬프트가 곧 새 코드_ 라는 [카파시의 ](https://www.latent.space/p/s3?ref=retn.kr)_[Software 3.0](https://www.latent.space/p/s3?ref=retn.kr)_[ 관점](https://www.latent.space/p/s3?ref=retn.kr)을 OG 생성에 그대로 적용한 사례입니다.

```
<code class="language-javascript">// (가상 코드 — 실제 키와 호스팅은 조직 환경에 맞춤)
const ogPrompt = `
시리즈: 리텐션 인사이트
주제: ${title}
키워드: ${keywords.join(", ")}

스타일:
- 모바일에서도 가독 좋은 큰 타이포 (Pretendard, 24-32px 헤더 기준)
- 한국어 제목 명확하게 1줄, 부제 1줄까지
- 배경: 단색 + 1개 추상 그래픽 요소
- 색: 브랜드 모노크롬 (네이비 #0F1B2C / 라이트 #F4F6FA)
- 워터마크: 우측 하단 retn.kr
크기: 1200x630 (OG 표준)
`;

const res = await openai.images.generate({
  model: "gpt-image-1",   // 2026-04 GA. 차기 gpt-image-2 출시 시 한 줄 교체.
  prompt: ogPrompt,
  size: "1536x1024",      // OG는 후처리로 1200x630 크롭
  output_format: "png",
  n: 1,
  quality: "high"
});
const imageBuffer = Buffer.from(res.data[0].b64_json, "base64");
</code>
```

생성한 이미지는 Ghost CMS의 asset endpoint(`/ghost/api/admin/images/upload`)에 업로드해 영구 URL을 확보합니다. Ghost를 쓰지 않는다면 R2·S3·Bunny Stream 등 사내 자산 저장소에 올립니다.

> ⚠️ **유의** — 외부 LLM 게이트웨이에 _원본 이미지 자체_가 캐싱될 수 있습니다. 민감한 브랜드 자산이 들어간 hero image는 OG 생성 입력으로 _주제 키워드만_ 보내는 편이 안전합니다.

💡 **회사 컨텍스트 RAG 주입** — _우리 브랜드의 톤 가이드, 컬러 시스템, 타이포 가이드, 워터마크 룰_을 사내 wiki·노션의 단일 문서로 정리해 두면, 에이전트가 OG 생성 직전에 그 문서를 RAG로 끌어와 _시리즈 일관성 있는 이미지_를 만듭니다. 1편 §5에서 정리한 _회사별 컨텍스트의 4축_ 중 _보고 대상별 톤·템플릿_에 해당하는 영역입니다. 한 번 문서화해 두면 매주 발행되는 글마다 _디자이너의 손을 거치지 않고도_ 일관된 OG가 나옵니다.

## 4. 2단계 — 캠페인 네이밍 + 컨벤션 검증

### 4-1. 컨벤션 룰 (예시)

```
<code>캠페인: {slug}_{YYYYMM}_{channel}
- slug: 영문 소문자, 하이픈, 60자 이내
- channel: kakao, sms, email, instagram, facebook, web_share, qr_offline, partner_xxx
- ad_group: {channel}_{audience_segment}
- ad_creative: {channel}_{creative_type}_{variant}
</code>
```

### 4-2. LLM 에이전트가 수행하는 사전 검증

- **오탈자 검증**: 슬러그·캠페인 이름이 표준 사전 단어 또는 자주 쓰는 약어와 _Levenshtein 거리_ 1~2 이내인 경우 알림 (e.g. `retetnion`, `recovery_capain` 등)
- **금지어 검증**: 회사 내부 코드네임, 미공개 제품명, 경쟁사명이 들어가 있으면 차단
- **중복 검증**: 같은 슬러그의 같은 채널·같은 월 캠페인이 이미 발급돼 있는지 MCP `list_tracking_links`로 사전 조회. 중복이면 발급 차단 또는 `_v2` 접미사 자동 부여
- **링크 라우팅 누락 검증**: deeplink URL의 `path` 부분이 실제 앱에 존재하는 라우팅인지, 웹 fallback URL이 200 응답을 주는지 사전 fetch

### 4-3. Human-in-the-loop 지점

이 검증을 _통과_하면 자동 발급. _실패_하면 슬랙 채널 `#growth-tracking-link-review`에 멘션과 함께 사람 승인 버튼 (Slack interactive message). 마케터는 30초 안에 결정.

## 5. 3단계 — REST API로 트래킹 링크 N개 발급

채널 N개에 대해 동일 OG 메타와 브랜딩을 적용해 일괄 발급하는 패턴입니다.

```
<code class="language-javascript">const channels = [
  { name: "kakao", isReengagement: "OFF" },
  { name: "sms", isReengagement: "OFF" },
  { name: "email", isReengagement: "OFF" },
  { name: "instagram", isReengagement: "ON-FALSE" },  // UA 캠페인
  { name: "facebook", isReengagement: "ON-FALSE" },
  { name: "owned_blog_share", isReengagement: "OFF" }
];

const results = await Promise.all(channels.map(async (ch) => {
  const payload = {
    channel: ch.name,
    campaignParams: {
      campaign: `${slug}_${yyyymm}_${ch.name}`,
      ad_group: `${ch.name}_default`,
      ad_creative: `${ch.name}_og`
    },
    isReengagement: ch.isReengagement,
    deeplinkUrl: `myapp://blog/${slug}`,
    fallbackPaths: {
      ios: `https://retn.kr/blog/${slug}?utm_source=${ch.name}`,
      android: `https://retn.kr/blog/${slug}?utm_source=${ch.name}`,
      desktop: `https://retn.kr/blog/${slug}?utm_source=${ch.name}`
    },
    ogTag: {
      title,
      description,
      imageUrl: ogImageUrl
    }
  };

  const res = await fetch("https://api.airbridge.io/v1/tracking-links", {
    method: "POST",
    headers: {
      "Authorization": `Bearer ${TRACKING_LINK_API_TOKEN}`,
      "Content-Type": "application/json",
      "Accept-Language": "ko"
    },
    body: JSON.stringify(payload)
  });
  return { channel: ch.name, response: await res.json() };
}));
</code>
```

발급에 _Tracking Link API Token_을 권장합니다. 일반 API Token보다 권한이 좁아 만의 하나 노출되어도 피해 범위가 한정적입니다(트래킹 링크 발급 외 작업 불가).

> **(가상 코드 명시)** 위 코드는 동작 원리 설명용입니다. `slug`, `yyyymm`, `title`, `description`, `ogImageUrl`, `TRACKING_LINK_API_TOKEN`은 실제 운영 환경에서 안전하게 주입해야 합니다.

## 6. 4단계 — MCP로 발급 검증

발급이 끝나면 _그 자리에서_ MCP로 검증합니다. 같은 호출 컨텍스트에서 _생성_과 _검증_을 분리하는 게 핵심입니다.

```
<code class="language-javascript">// MCP는 클라이언트(예: Claude Desktop, Claude Code, n8n LLM 노드)에서
// 자연어로 호출되거나, MCP 클라이언트 SDK로 직접 호출.
//
// 검증 항목 예시:
// - createdBy: "API" — REST API 발급자 추적
// - ogTag.imageUrl == 우리가 보낸 OG URL인가
// - deeplinkParams.deeplinkData.deeplinkUrl == 우리가 보낸 path인가
// - fallbackPaths == https 200 응답
// - 오탈자 LLM 재검증 (slug 안에 의도하지 않은 문자열 없는가)
</code>
```

검증 통과 → 슬랙·노션 자동 게시. 실패 → 마케터에게 사유 정리해 알림.

## 7. 5단계 — Routines로 정기 자동화

이 흐름을 매일 09:00에 자동으로 트리거하면 _어제 발행된 글이 오늘 출근 전에 자산화_ 됩니다.

```
<code class="language-javascript">// 의사 코드
schedule.cron("0 9 * * *", async () => {
  const yesterdayPosts = await ghostApi.posts.browse({
    filter: `published_at:>${dayjs().subtract(1, "day").startOf("day").toISOString()}`
  });

  for (const post of yesterdayPosts) {
    await runAgent("blog-to-tracking-links", { postId: post.id });
  }
});
</code>
```

루틴 도구로는 다음 중 한 가지를 권합니다.

- **[Anthropic Claude Code Routines](https://code.claude.com/docs/en/routines?ref=retn.kr)** — 클로드 코드 환경 안에서 cron 또는 트리거 기반으로 작업 시퀀스를 정기 실행. 토큰·컨텍스트가 같은 에이전트에 묶여 있어 가장 단순.
- **[Anthropic Managed Agents](https://platform.claude.com/docs/ko/managed-agents/overview?ref=retn.kr)** — 사람이 위에서 _제안 → 검증 → 승인 → 실행_을 분리해 운영하는 모드. 발급처럼 _돌이킬 수 없는 행동_에 적합.
- **n8n + LLM 노드** — 비개발자 친화, GUI로 흐름 수정 가능. [Ghost 뉴스레터 자동화 사례](/ghost-newsletter-sunset-policy-n8n/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=ghost_%EB%89%B4%EC%8A%A4%EB%A0%88%ED%84%B0_%EC%9E%90%EB%8F%99%ED%99%94_%EC%82%AC%EB%A1%80)에서 같은 패턴을 확인할 수 있습니다.
- **Cloudflare Workers + Cron Triggers** — 서버리스, 코드로 관리.
- **OpenAI Assistants의 scheduled runs** — 단일 LLM 콘솔 안에서 관리.

## 8. 결과 — 이 글을 위해 실제로 발급한 6개 트래킹 링크

이 글 자체를 _데모 입력_으로 두고 위 흐름을 끝까지 돌렸습니다. 본 글의 OG 이미지는 _클로드 코드 ✕ OpenAI gpt-image-1 (_`_high_`_ quality, 1536×1024)_ 로 생성한 결과이고, 6개 트래킹 링크는 _에어브릿지 REST API_로 발급한 뒤 _에어브릿지 MCP_로 검증한 _진짜 측정 데이터_ (가상 시연이 아님) 입니다.

### 8-1. 입력 메타

- 제목: _클로드 코드로 OG 이미지 만들고, 에어브릿지 API로 트래킹 링크 N개 발급한다_
- 슬러그: `claude-code-og-image-airbridge-tracking-link-blog-automation`
- 캠페인 네이밍 컨벤션: `{slug}_{YYYYMM}_{channel}` → 예: `..._202604_email_newsletter`
- OG 이미지: 본 글 상단에 표시된 _Part 2 / 3_ 커버 (`/content/images/2026/04/og-part2-tracking-links.png`)
- Deeplink URL (앱): `ablog://blog/spring-sale-2026` (가상 데모 path)
- Web fallback: `https://retn.kr/{slug}/?utm_source={channel}`

### 8-2. 발급된 6개 트래킹 링크 (2026-04-29 KST 17:06 발급)

| 채널 | channelType | Tracking Link ID | 캠페인 | 클릭 URL (베이스) |
| --- | --- | --- | --- | --- |
| kakao | integrated | 490490245 | ..._202604_kakao | https://abr.ge/@demokr/kakao |
| sms_internal | custom | 490490251 | ..._202604_sms_internal | https://demokr.ab180.co/@demokr/sms_internal |
| email_newsletter | custom | 490490250 | ..._202604_email_newsletter | https://demokr.ab180.co/@demokr/email_newsletter |
| instagram_organic | custom | 490490248 | ..._202604_instagram_organic | https://demokr.ab180.co/@demokr/instagram_organic |
| facebook_organic | custom | 490490246 | ..._202604_facebook_organic | https://demokr.ab180.co/@demokr/facebook_organic |
| owned_blog_share | custom | 490490249 | ..._202604_owned_blog_share | https://demokr.ab180.co/@demokr/owned_blog_share |

> **참고** — `kakao`는 에어브릿지 _integrated channel_ 이라 단축 도메인 `abr.ge`로 발급. 나머지 5개는 _custom channel_ 이라 `demokr.ab180.co` 도메인으로 발급.

### 8-3. MCP 검증 결과 (샘플 1건 — `email_newsletter`)

`get_tracking_link(link_id=490490250)` 호출 응답에서 핵심 필드만:

| 필드 | 값 |
| --- | --- |
| createdBy | "API" ← REST API 발급자 추적 마커 |
| email | simpson.sim@retn.kr ← 토큰 소유자 자동 기록 |
| channelName | email_newsletter |
| campaign | claude-code-og-image-airbridge-tracking-link-blog-automation_202604_email_newsletter |
| adGroup | email_newsletter_default |
| adCreative | email_newsletter_og |
| deeplinkParams.deeplinkData.deeplinkUrl | ablog://blog/spring-sale-2026 |
| deeplinkParams.fallbackData.ios / .android / .desktop | https://retn.kr/.../?utm_source=email_newsletter |
| ogTag.title | 클로드 코드로 OG 이미지 만들고, 에어브릿지 API로 트래킹 링크 N개 발급한다 |
| ogTag.imageUrl | https://retn.kr/content/images/2026/04/og-part2-tracking-links.png |
| modifiable | true ← 사후 PATCH로 routing/og-tag 수정 가능 |
| shortUrl | https://demokr.ab180.co/oa2r5f ← 사용자 친화 단축 URL |

6개 모두 동일한 패턴으로 검증 통과 — _createdBy=API_, _ogTag 4필드_, _deeplinkUrl + 3개 fallback_, _campaign 컨벤션_.

### 8-4. 사이클 타임

- 6개 채널 _병렬 발급_: 1초 미만 (실측 6개 호출 동시 처리)
- 채널당 평균 응답: 약 200~400ms
- MCP 단일 검증: 약 300ms
- 전체 파이프라인 (메타 추출 → OG 생성 → 6개 발급 → 검증) — _대부분의 시간이 OG 이미지 생성_에 소요. gpt-image-1 _quality: high_로 1장 약 35초.

> **참고** — 위 수치는 본 글 발행 직전 실측한 _진짜 측정값_ 입니다 (가상 데이터 아님). 단, 사용자별 네트워크·OpenAI 모델 부하·에어브릿지 베타 서버 부하에 따라 달라질 수 있습니다.

### 8-5. 비용

- 가장 큰 비용 항목은 _OG 이미지 1장_. gpt-image-1 _high quality_ 1장 약 USD $0.04~$0.08 수준. _standard quality_로 떨어뜨리면 약 $0.02. 시리즈 일관성을 포기하지 않으면서 비용을 줄이려면 _프롬프트 + 시드 고정_ 전략 권장.
- 트래킹 링크 발급은 _에어브릿지 플랜 한도 내_에서 무료. _rate limit_은 50 link/sec 이라 6개 정도는 여유.

## 9. 도입 시 주의사항

1. **토큰 분리** — Tracking Link API Token만으로 발급. 일반 API Token은 reporting·setup 용도. 토큰 노출 시 영향 범위가 다릅니다.
1. **OG 이미지 크기·해상도** — 카카오는 1200×630 비율, 인스타 스토리는 1080×1920, 메일 인박스 미리보기는 800×600 권장. 멀티 사이즈 자동 생성을 권합니다.
1. **deeplink URL 검증** — 앱이 _해당 path로 라우팅이 등록되어 있는지_ 사전에 SDK 트러블슈팅 도구로 검증. 등록 안 된 path로 발급하면 사용자가 빈 화면을 봅니다.
1. `**ON-FALSE**`** vs **`**OFF**` — UA 캠페인이라면 reengagement를 _ON-FALSE_로. 잘못 설정하면 기존 사용자의 어트리뷰션이 새 캠페인으로 잘못 잡힐 수 있습니다.

## 10. 다음 편 예고

3편은 _통합 안 된 매체 비용_을 다룹니다. 인플루언서 마케팅, 자체 SMS, 오프라인 행사처럼 에어브릿지에 공식 연동이 없는 채널의 비용·노출·클릭을 Google Sheet로 관리하면, 매일 새벽 자동으로 CSV 변환 → 에어브릿지 API multipart upload → 에어브릿지 MCP가 actuals 리포트로 검증 → 슬랙 보고. 고질병 5·1을 동시에 해소하는 구조입니다. [3편 바로가기](/airbridge-self-serve-cost-upload-claude-code-automation/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=3%ED%8E%B8_%EB%B0%94%EB%A1%9C%EA%B0%80%EA%B8%B0)

## 마치며

콘텐츠 마케터의 _"발행 후 30분 수작업 반복"_ 은 의지로 풀리지 않습니다. 컨벤션을 강요하는 사규로도, 워크플로 매니저로도 풀리지 않습니다. _멀티태스킹은 LLM에게 맡기고, 사람은 의사결정만 남기세요._ 우리 팀이 그리는 _AI Augmentation_의 한 단면입니다.

질문은 [retn.kr/contact](/contact?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=retn.kr%2Fcontact) 또는 LinkedIn DM 환영합니다.

## 📚 더 읽어보기

- [클로드 코드 + 에어브릿지 MCP × API 자동화 청사진 (1/3)](/claude-code-airbridge-mcp-api-agentic-marketer-blueprint/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%ED%81%B4%EB%A1%9C%EB%93%9C_%EC%BD%94%EB%93%9C_%2B_%EC%97%90%EC%96%B4%EB%B8%8C%EB%A6%BF%EC%A7%80_mcp_%C3%97_api_%EC%9E%90%EB%8F%99%ED%99%94_%EC%B2%AD%EC%82%AC%EC%A7%84_%281%2F3%29)
- [통합 안 된 매체 비용도 에어브릿지 대시보드에 — Self-Serve Cost Upload (3/3)](/airbridge-self-serve-cost-upload-claude-code-automation/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%ED%86%B5%ED%95%A9_%EC%95%88_%EB%90%9C_%EB%A7%A4%EC%B2%B4_%EB%B9%84%EC%9A%A9%EB%8F%84_%EC%97%90%EC%96%B4%EB%B8%8C%EB%A6%BF%EC%A7%80_%EB%8C%80%EC%8B%9C%EB%B3%B4%EB%93%9C%EC%97%90_%E2%80%94_self-serve_cost_upload_%283%2F3%29)
- [메타 광고 MCP로 3년치 광고 데이터 분석](/meta-ads-mcp/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%EB%A9%94%ED%83%80_%EA%B4%91%EA%B3%A0_mcp%EB%A1%9C_3%EB%85%84%EC%B9%98_%EA%B4%91%EA%B3%A0_%EB%8D%B0%EC%9D%B4%ED%84%B0_%EB%B6%84%EC%84%9D)
- [블로그 키워드 리서치 자동화 — 네이버 검색광고 MCP 오픈소스](/naver-searchad-mcp-seo-automation/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%EB%B8%94%EB%A1%9C%EA%B7%B8_%ED%82%A4%EC%9B%8C%EB%93%9C_%EB%A6%AC%EC%84%9C%EC%B9%98_%EC%9E%90%EB%8F%99%ED%99%94_%E2%80%94_%EB%84%A4%EC%9D%B4%EB%B2%84_%EA%B2%80%EC%83%89%EA%B4%91%EA%B3%A0_mcp_%EC%98%A4%ED%94%88%EC%86%8C%EC%8A%A4)
- [완벽한 도구를 기다리지 마세요 — AI 시대, 나만의 OS를 만드는 법](/dont-wait-build-your-own-tools/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%EC%99%84%EB%B2%BD%ED%95%9C_%EB%8F%84%EA%B5%AC%EB%A5%BC_%EA%B8%B0%EB%8B%A4%EB%A6%AC%EC%A7%80_%EB%A7%88%EC%84%B8%EC%9A%94_%E2%80%94_ai_%EC%8B%9C%EB%8C%80%2C_%EB%82%98%EB%A7%8C%EC%9D%98_os%EB%A5%BC_%EB%A7%8C%EB%93%9C%EB%8A%94_%EB%B2%95)
- [비개발자의 Claude Code 삽질기 — 그로스 전문가가 2주 만에 엔지니어링까지](/claude-code-non-developer-growth-engineer-guide-2/?utm_source=ghost_newsletter&utm_medium=email&utm_campaign=claude-code-og-image-airbridge-tracking-link-blog-automation&utm_content=%EB%B9%84%EA%B0%9C%EB%B0%9C%EC%9E%90%EC%9D%98_claude_code_%EC%82%BD%EC%A7%88%EA%B8%B0_%E2%80%94_%EA%B7%B8%EB%A1%9C%EC%8A%A4_%EC%A0%84%EB%AC%B8%EA%B0%80%EA%B0%80_2%EC%A3%BC_%EB%A7%8C%EC%97%90_%EC%97%94%EC%A7%80%EB%8B%88%EC%96%B4%EB%A7%81%EA%B9%8C%EC%A7%80)

> **참고** - Airbridge, _Create Tracking Link_ (REST): https://help.airbridge.io/en/references/tracking-link.md - OpenAI, _Images Generations API_ (`gpt-image-1` GA / `gpt-image-2` 차기): https://platform.openai.com/docs/api-reference/images - Ghost, _Admin API — Posts_: https://ghost.org/docs/admin-api/#posts
