# Instagram 플레이북 (공통)
전 브랜드 공통. 이 계정에서만 통하는 것은 `<브랜드>/platforms/instagram.md` 로 간다.
겹칠 때의 우선순위와 승격 규칙은 `platform-playbook` 스킬 참조.
갱신: 2026-08-14 | 다음 재검증: 2026-11 (분기 1회)
---
## 1. 하드 제약 — 못 이긴다
출처: `.claude/skills/instagram-api/SKILL.md` §4 (2026-08 확인)
| 항목 | 제한 |
|---|---|
| 캡션 | **2200자**, 해시태그 **30개**, @멘션 20개 (초과 시 게시 실패) |
| 발행 쿼터 | 계정당 24시간 **100건** (Threads 250건과 다르다) |
| 캐러셀 | **2~10장** (Threads 20장과 다르다) |
| 피드 이미지 | JPEG, ≤8MB, 가로 320~1440px, 종횡비 **4:5 ~ 1.91:1** |
| 릴스 | MP4/MOV, ≤1GB, 3초~15분, 9:16 권장 |
| 스토리 | 이미지 ≤8MB / 영상 ≤60초, 9:16 |
| 컨테이너 수명 | 24시간 |
| API 호출 쿼터 | 24시간당 `4800 × 노출수` |
⚠ **규격 밖 이미지는 실패하지 않고 잘려서 올라간다.** 이게 가장 흔한 사고다.
카드뉴스 4:5(0.8)는 경계선상이라 통과하지만 1440px 초과면 리사이즈해야 한다.
```bash
sips --resampleWidth 1080 card-01.png --out card-01.jpg
```
- **본문에 클릭 가능한 링크가 없다.** Threads 와 가장 큰 차이다. 링크는 프로필
또는 스토리(스티커)로 보낸다. 캡션에 URL 을 써도 텍스트로만 남는다.
## 2. 지표
| 유형 | 사용 가능 지표 |
|---|---|
| 이미지/캐러셀 | `reach` `likes` `comments` `saved` `shares` `views` `total_interactions` `profile_visits` `follows` |
| 릴스 | 위 + `ig_reels_avg_watch_time` `ig_reels_video_view_total_time` |
| 스토리 | `reach` `views` `replies` `shares` `navigation` `profile_visits` `follows` |
- `impressions` 는 v22 이후 폐기 → `views` 를 쓴다.
- **`saved` 와 `profile_visits`→`follows` 가 Threads 에 없는 전환 신호다.**
기획서 §6.2 Signal A 의 전환 기여 항목이 여기서는 실측된다.
- 그래서 **Instagram 의 참여율 가중치는 Threads 와 같을 수 없다.** 저장·프로필 방문이
실제 전환에 더 가까우므로 별도 가중을 준다. 두 채널을 같은 자로 재지 않는다.
## 3. 유통 특성
- 피드는 팔로워 중심, **릴스는 팔로워 밖으로 퍼진다.** 같은 계정 안에서도
포맷별로 도달 분포가 다르므로 **포맷을 섞어 평균을 내면 안 된다.**
기획서 §6.1 의 정규화 기준이 "동일 계정·포맷"인 이유가 이것이다.
- 캐러셀은 첫 장이 실질적인 후크다. 나머지는 이미 넘긴 사람만 본다.
## 4. 공통 패턴 (근거 있는 것만)
| 패턴 | 상태 | 근거 |
|---|---|---|
| — | — | 아직 2개 브랜드 교차 검증된 항목 없음 |
**비어 있는 게 정상이다.** 근거 없는 통념("해시태그는 몇 개가 적정", "릴스는 몇 초")은
적지 않는다. 적는 순간 검증 없이 기준이 된다.
### 승격 대기 (단일 브랜드 관측)
| 관측 | 브랜드 | n | 비고 |
|---|---|---|---|
| — | — | — | 아직 없음 |
## 5. 반증된 통념
| 통념 | 실측 | 출처 |
|---|---|---|
| — | — | 아직 없음 |
## 6. 운영 주의
- 로컬 파일은 S3 업로드 후 공개 URL 로 넘긴다. 사설 URL 이면 게시는 되고
**이미지만 안 나온다.**
- 영상 publish 400 은 대개 아직 `IN_PROGRESS`. status 폴링 후 재시도.
- `(#4) Application request limit reached` 는 24시간 롤링이 빠질 때까지 대기 외에
방법이 없다. 폴링 대신 웹훅이 근본 해법.
수집 상한은 여기가 아니라 온보딩 규칙(`brand-voice.md §온보딩 표본 규칙`)에 있다.