블로그 하나를 여러 채널에 뿌리는 파이프라인을 만들고 있다. 마스터 글 1편을 쓰면 워드프레스, 네이버, 인스타그램으로 형식을 바꿔 파생시키는 구조다. 그중 제일 오래 붙잡은 게 인스타그램이었다. 글과 이미지를 만드는 것까지는 진작 자동화했는데, 정작 인스타에 자동으로 올리는 것이 남아 있었다.
이유는 하나다. 계정·앱·토큰·포맷까지, 인스타에 코드로 올리기까지 넘어야 할 관문이 줄줄이였다. 이 글은 그 셋업 과정을 실제로 막힌 지점과 함께 정리한 기록이다. 발행 코드 자체는 다음 편에서 다룬다.
전체 그림: 마스터 글 1개 → 채널 N개
먼저 큰 그림부터. 파이프라인은 글 한 편을 만들고 채널마다 다른 출력으로 파생시킨다.
| 단계 | 하는 일 | 상태 |
|---|---|---|
| 글 생성 | 키워드/작업기록 → 발행용 글 | 자동 |
| 이미지 | 글 → 썸네일·카드 이미지 | 자동 |
| 워드프레스 | 마크다운 그대로 발행 | 반자동 |
| 네이버 | 복붙용 변환본 | 반자동(복붙) |
| 인스타 | 카드뉴스·릴스 발행 | 이번에 자동화 |
인스타만 유독 손이 많이 갔다. 워드프레스는 REST API가 표준이라 오히려 쉬운 편이고, 네이버는 개인 블로그 공개 발행 API가 아예 없어 복붙이 숙명이다. 인스타는 API가 있긴 한데, 그 API를 쓸 수 있게 만들기까지가 미로였다.
왜 인스타를 자동화하나
솔직히 인스타 자체의 광고 수익을 노린 건 아니다. 인스타는 프로필 링크로 블로그에 유입시키는 통로로 본다. 카드뉴스(캐러셀)는 저장과 정보 전달에 강하고, 릴스는 도달이 넓다. 둘 다 만들어 두면 좋은데, 손으로 매번 올리는 게 문제였다. 폰으로 캐러셀 여덟 장을 순서대로 올리고 캡션을 붙이는 일은 한 번은 되지만 매번은 못 버틴다. 그래서 코드로 올리기로 했다.
갈림길 하나: Instagram 로그인 vs 페이스북 로그인
가장 먼저 부딪힌 건 “어떤 방식으로 API를 쓸 것인가”였다. 2026년 기준 인스타 발행 API는 크게 두 갈래다.
- Instagram 로그인 방식 — 페이스북 페이지가 필요 없다.
- Facebook 로그인 방식 — 인스타 계정을 페이스북 페이지에 연결해야 한다.
많은 자료가 “페이스북 페이지가 필수”라고 적어놔서 처음엔 페이지까지 만들 각오를 했다. 그런데 공식 문서를 파보니, 본인 계정에 올리는 용도라면 Instagram 로그인 방식으로 페이지 없이 가능했다. 페이지 연결이라는 관문 하나가 통째로 빠졌다. 이 갈림길에서 방향을 잘못 잡으면 뒤의 셋업이 전부 달라지니, 여기서 시간을 쓰는 게 맞다.
계정부터: 프로페셔널(비즈니스)로 전환
발행 API는 개인 계정에서는 안 된다. 프로페셔널 계정(비즈니스 또는 크리에이터)이어야 한다.
여기서 함정이 하나 있었다. 블로그 글들은 “개인 브랜드니까 크리에이터가 낫다”고들 하는데, API로 릴스를 발행하려면 비즈니스 계정이어야 한다. 크리에이터 계정은 API 릴스 발행이 막혀 있다. 크리에이터의 장점은 대부분 “손으로 키우는 인플루언서” 관점이라, 자동 발행이 목적인 이쪽과는 조건이 다르다. 그래서 비즈니스로 전환했다.

Meta 앱 만들기
계정을 정리했으면 개발자 콘솔(developers.facebook.com)에서 앱을 만든다. 여기 로그인하려면 페이스북 계정은 필요하다. 앞에서 없앤 건 페이스북 페이지지, 개발자 콘솔 로그인용 계정은 별개다. 이 둘을 헷갈리기 쉽다.
앱 만들기는 우측 상단 버튼에서 시작한다.

앱 이름과 이메일을 넣고,

이용 사례를 고르는 화면에서 “Instagram에서 메시지 및 콘텐츠 관리”를 선택한다. 여러 이용 사례가 나오는데, 게시물 발행 권한이 들어 있는 건 이거다. 나머지(광고, 페이지 관리 등)는 지금 필요 없다.

중간에 비즈니스 포트폴리오를 만들라고 하는데, 이름만 넣고 넘어가면 된다. “인증되지 않은 비즈니스”로 떠도 상관없다. 비즈니스 인증은 남의 계정에 발행하거나 대규모로 갈 때만 필요하다.

앱을 만들면 이용 사례 맞춤 설정 화면으로 넘어간다.

권한 하나가 핵심
맞춤 설정에서 권한을 추가하는데, 목록에 광고·카탈로그·비즈니스 관리 같은 게 잔뜩 나온다. 다 무시하고 딱 두 개만 챙기면 된다.
instagram_business_basic— 계정 기본 정보 읽기instagram_business_content_publish— 게시물 발행. 이게 핵심이다.
content_publish가 빠지면 나머지가 다 돼도 발행이 안 된다. 목록을 아래로 내려 instagram_으로 시작하는 두 개를 찾아 추가한다.

여기서 막혔다: 테스터 초대가 안 보인다
앱은 개발 모드로 시작한다. 개발 모드에서는 테스터로 등록된 계정만 그 앱을 쓸 수 있다. 그래서 내 인스타 계정을 앱의 “Instagram 테스터”로 추가해야 한다. 이건 앱 검수(2~4주)를 건너뛰는 합법적인 우회로다. 본인 계정에 올리는 용도라면 검수 없이 이 방식으로 충분하다.
문제는 초대를 수락하는 단계였다. 개발자 콘솔에서 테스터로 추가하면 상태가 “대기 중”으로 뜬다. 그런데 인스타에서 초대를 찾으니 안 보였다. 추가하자마자 확인한 터라, 뭔가 잘못된 줄 알고 한참을 들여다봤다.
원인은 싱거웠다. 초대가 실시간으로 반영되지 않았다. 잠시 뒤 새로고침하니 초대가 떠 있었다. 반영에 약간의 시차가 있었을 뿐이다.
초대 수락 위치는 이렇다.
- 앱 및 웹사이트 → 테스터 초대(Tester Invites) 탭 → 수락
- 웹이면
instagram.com/accounts/manage_access/에서 그 탭을 찾으면 된다. - 계정을 여러 개 쓴다면, 초대받은 그 계정으로 로그인했는지도 함께 확인한다.
수락하면 개발자 콘솔의 역할 상태가 “대기 중”에서 “활성”으로 바뀐다. 추가하자마자 안 보인다고 당황하지 말고, 새로고침하고 잠깐 기다리면 된다. 나는 이걸 몰라 없는 문제를 붙잡고 있었다.
토큰 받기
역할이 활성이 되면 API 설정 화면의 “액세스 토큰 생성”에서 계정을 추가하고 로그인해 토큰을 받는다. 이 토큰이 이후 모든 발행 요청에 들어간다.
토큰에는 유효 기간이 있다. 처음 받는 건 짧게는 한 시간짜리이고, 이걸 60일짜리 장기 토큰으로 교환해서 쓴다. 60일이 지나면 만료되므로 갱신이 필요한데, 이 갱신을 자동화하는 방법은 다음 편에서 다룬다.
앱 기본 설정 화면에는 앱 ID와 시크릿, 개인정보처리방침 URL 같은 게 있다. 개인정보처리방침 URL은 앱을 정식 공개(게시)할 때만 필수라, 개발 모드로만 쓸 거면 비워둬도 된다.

정리 — 셋업에서 배운 것
관문이 많아 보이지만, 실제로 시간을 잡아먹은 건 몇 개로 압축된다.
- 갈림길에서 방향부터 정하라. Instagram 로그인 방식을 고르면 페이스북 페이지가 통째로 빠진다. 여기서 잘못 들면 뒤가 다 달라진다.
- 릴스를 자동 발행하려면 비즈니스 계정이어야 한다. 크리에이터는 API 릴스가 막힌다. 계정 유형은 처음에 맞춰라.
- 계정과 페이지는 다르다. 개발자 콘솔 로그인용 페이스북 계정은 필요하고, 공개 페이지는 필요 없다.
- 테스터 초대는 실시간이 아니다. 추가하고 바로 안 보여도 당황 말고 새로고침하고 잠깐 기다리면 뜬다. (여러 계정을 쓴다면 초대받은 그 계정으로 로그인했는지도 확인.)
여기까지가 발행을 위한 준비다. 계정, 앱, 권한, 테스터, 토큰. 정작 재미있는 부분 — 블로그 글을 카드뉴스와 릴스로 바꿔 코드로 발행하고, 그 과정에서 만난 함정들 — 은 다음 편에서 다룬다.