오늘은 어제의 결정대로 “돈”이 아니라 “콘텐츠”에 집중했다. 토스 심사는 3~5영업일 대기 중이고, Gumroad 자동화도 이미 완료된 상태라 당장 매출 측면에서 손댈 부분은 없었다. 대신 유나 Threads 자동화를 본격적으로 밀어붙였다.
이번 세션 요약
- Meta for Developers 앱
Hwajodang생성 및 Threads API long-lived token 발급 - Instagram 프로페셔널 계정 전환 (크리에이터)
- 유나 이미지 679장 → 635장 정리 및 재번호
- Threads 캡션 Excel 배치 3개 (총 70장) 생성
- 톤 가이드 확립 (대화형 / 요일 금지 / 사주 10%)
앱스토어와 Threads 자동화 중 무엇을 먼저 할지 고민했지만, n8n은 이미 실행 환경이 갖춰져 있고 앱스토어는 비용과 심사 리드타임이 길다. 결론은 명확했다. 지금 당장 실행 가능한 트랙은 n8n이다.
1. Threads API 토큰 — OAuth 우회 전략
아키텍처 결정
포스트 큐 저장소는 Google Sheets로 결정했다. 이유는 단순하다. 상태 관리(대기/완료/실패)와 일정 관리가 직관적이며, n8n과의 연동도 최소 비용으로 가능하다.
Meta 앱 생성의 핵심 포인트
- Use case: Threads API 액세스
- 비즈니스 포트폴리오 생성 필요
- 권한: threads_basic / threads_content_publish
중요: “앱 검수 요청”을 누르면 안 된다. 본인 계정 자동화는 개발 모드로 충분하며, 검수는 불필요한 지연 요소다.
카테고리 선택 전략
유나는 캐릭터 기반 계정이므로 크리에이터 + 예술 조합을 선택했다. 다만 “예술” 카테고리는 프로필 표시를 비활성화하여 브랜딩 충돌을 방지했다.
OAuth 콜백 URL 문제
루트 URL은 거절되며, /auth/threads/callback 같은 명시적 경로가 필요하다. 실제 사용하지 않더라도 형식만 맞추면 된다.
핵심 발견: 사용자 토큰 생성기
Meta 콘솔의 사용자 토큰 생성기를 통해 OAuth 전체 플로우 없이 바로 long-lived token을 발급할 수 있다.
| 방식 | 용도 |
|---|---|
| OAuth 플로우 | 외부 사용자 인증 |
| 토큰 생성기 | 본인 계정 자동화 |
Cloudflare tunnel처럼 URL이 변하는 환경에서는 이 방식이 사실상 필수다.
토큰 발급 절차 요약
- Threads 테스터 추가
- Threads 웹에서 초대 수락
- 콘솔에서 토큰 생성
토큰 유효기간은 60일. 만료 전 갱신 필요. Git에 절대 업로드 금지.
2. 이미지 정리 — 679 → 635
문제 정의
가로/세로 폴더 분리 + 불규칙 파일명 → 자동화 불가능 구조
해결 전략: 2단계 리네임
- 모든 파일을 임시 이름으로 변경
- 충돌 제거 후 순차 번호 재부여
결과: 완전 평탄화 + 정렬된 구조
최종 상태
- 635장 유지 (44장 제거)
- 파일명:
0001.png ~ 0635.png - 총 용량: 656MB
스토리지 전략
- 리사이즈 (1080px) → 용량 절감
- Cloudinary → 여유 있음
- Vercel Blob → 비용 무시 가능
3. 캡션 시스템 — 톤 설계 과정
1차 문제: 독백형
초기 캡션은 감상 위주 서술 → 사용자와의 연결 부족
2차 개선: 대화형 구조
- 질문으로 마무리
- 개인 경험 + 독자 초대
- 공감 유도 문장 추가
3차 수정: 요일 제거
예약 포스팅 특성상 요일 표현은 오류를 유발한다.
“Sunday morning” → 실제 발행 시점과 불일치 가능 → 신뢰도 하락
최종 톤 가이드
| 항목 | 규칙 |
|---|---|
| 톤 | 대화형 |
| 구조 | 질문 포함 |
| 요일 | 금지 |
| 시간대 | 허용 |
| 사주 | 10% 비율 |
현재 70장 완료 (전체의 11%)
4. 자동화 전략 재정의
초기 접근: 대량 자동 생성 → 현실적으로 비효율
현재 접근:
- 소규모 배치 생성
- 피드백 반복
- 톤 안정화 이후 자동화
자동화는 “최적화 단계”이지 “탐색 단계”에서 쓰면 오히려 비용이 증가한다.
5. Threads API 구조 핵심
- 이미지 업로드 불가 → URL 필요
- 사전 스토리지 업로드 필수
[로컬 이미지] → [스토리지 업로드]
↓
[Google Sheets 큐]
↓
[n8n]
↓
[Threads POST]
오늘의 핵심 인사이트
- OAuth는 항상 최적이 아니다
- 톤 설계는 반복이 필수
- 요일 표현은 예약 콘텐츠의 리스크
- 자동화는 타이밍이 중요하다
다음 단계
- 캡션 배치 확대 (100장 이상)
- 이미지 업로드 스크립트 구현
- Google Sheets 큐 구축
- n8n 워크플로우 연결
현재 상태: API + 콘텐츠 파이프라인 구축 완료
남은 축: 이미지 호스팅 + 자동 발행 시스템