문서
Threads
포샌디로 AI가 Threads에 올릴 수 있는 글, 지켜야 하는 한도, Threads API에 없는 기능을 정리했어요.
한눈에
| 항목 | 종류 | 값 |
|---|---|---|
| 글자 수 | 텍스트 | 500 |
| 이미지 | 미디어 | 글 하나에 20장까지. 더 넣으면 앞의 20장만 올라가고 경고가 붙어요 |
| 캐러셀 | 미디어 | 2~20개, 이미지와 영상 섞기 가능 |
| 영상 | 미디어 | 글 하나에 1개 |
| 텍스트만 | 미디어 | 가능 |
| 24시간 발행 | 한도 | 250 |
| 24시간 삭제 | 한도 | 100 |
| 상태 | 상태 | live |
이 값은 서버가 발행 전에 검사할 때 쓰는 파일에서 그대로 가져왔어요. 그래서 실제 발행 결과와 다를 일이 없어요.
연결할 때 요청하는 권한
연결하면 Meta에 권한 7개를 요청해요. 동의 화면은 Meta가 띄우는 화면이라 거기 보이는 이름은 아래 첫 번째 표에 있는 Meta 권한이에요. 두 번째 표는 그 뒤에 AI가 쓰는 포샌디 권한이고, 범위가 더 좁아요.
사람이 승인하는 Meta 권한
| 이름 | 종류 | 하는 일 |
|---|---|---|
threads_basic | meta | 계정 프로필과 그 계정의 글을 읽어요. 다른 기능은 전부 이 권한이 있어야 돌아가요. |
threads_content_publish | meta | 글을 만들고 올려요. |
threads_delete | meta | 이 계정이 올린 글을 지워요. |
threads_read_replies | meta | 내 글 아래 달린 답글 스레드를 읽어요. |
threads_manage_replies | meta | 글이나 답글에 답을 달고, 답글을 숨겨요. |
threads_manage_insights | meta | 조회, 좋아요, 답글, 리포스트, 인용, 공유 숫자를 읽어요. |
threads_manage_mentions | meta | 다른 사람이 이 계정을 언급한 글을 멘션 웹훅으로 받아요. 받은 글은 인박스에 보이고, 공개 답글도 달 수 있어요. |
AI 토큰이 갖는 권한
| 이름 | 종류 | 하는 일 |
|---|---|---|
accounts:read | 읽기 | 연결된 채널 목록 보기 |
posts:read | 읽기 | 올린 글 기록, 답글, 숫자 보기 |
posts:write | 쓰기 | 글 올리기, 지우기, 답글 달기, 숨기기, 파일 올리기 |
offline_access | 로그인 유지 | 브라우저를 닫아도 AI 연결 유지 |
첫 글 올리기
대시보드에서 Threads를 연결한 다음 publish를 부르면 끝이에요. 미리 준비할 건 따로 없어요.
curl -X POST https://api.posendy.com/v1/posts \
-H "Authorization: Bearer $POSENDY_KEY" \
-H "Content-Type: application/json" \
-d '{"content":"hello from an agent","accountIds":["acc_..."]}'
올릴 수 있는 글
네 가지예요.
- 텍스트만 있는 글
- 이미지 1장
- 영상 1개
- 이미지와 영상을 섞은 캐러셀 (항목 2개 이상)
대체 텍스트는 캐러셀 항목에만 넣을 수 있어요. 다른 곳에 넣으면 Threads가 거절해요.
파일 조건
포샌디가 Threads에 파일의 공개 주소를 넘기면, Threads가 그 주소로 가서 파일을 가져가요. 그래서 파일은 밖에서 열 수 있는 주소에 있어야 해요. 포샌디로 파일을 올리면 CDN에 저장되면서 그 주소가 생겨요.
| 항목 | 종류 | 조건 |
|---|---|---|
| 형식 | 이미지 | image/jpeg, image/png, image/webp, image/gif |
| 크기 | 이미지 | 20MB까지 |
| 비율 | 이미지 | 100:1까지 (가로 픽셀 제한 없음) |
| 개수 | 이미지 | 글 하나에 20장까지. 넘으면 앞의 20장만 올라가고 경고가 붙어요 |
| 형식 | 영상 | video/mp4, video/quicktime, video/webm |
| 크기 | 영상 | 8192MB까지 |
| 길이 | 영상 | 43200초까지 |
| 가로 | 영상 | 4096px까지 |
다시 읽을 수 있는 숫자
글마다 6개예요: 조회, 좋아요, 답글, 리포스트, 인용, 공유. 요청할 때 Threads에서 새로 가져와요. 하루에 한 번 기록도 따로 남겨서, 글을 지운 뒤에도 그때까지의 숫자는 남아 있어요.
Threads API에 없는 것
Threads 앱에서 되는 기능이 API에 다 있지는 않아요. 아래는 Meta가 API로 열어 두지 않은 기능이에요.
| 기능 | 상태 |
|---|---|
| 투표 | 글을 만들 때 넣을 방법이 없어요. |
| 인용 글 | 링크는 넣을 수 있어요. 인용 글 형태로는 못 만들어요. |
| 올린 뒤 본문 수정 | 지우고 다시 올려야 해요. |
| 좋아요 누른 사람 목록 | 숫자만 오고, 누가 눌렀는지는 안 와요. |
| DM | Threads API에 없어요. |
| 새 최상위 댓글 | 글이나 답글에 답을 다는 건 돼요. 남의 글에 댓글을 새로 시작하는 건 안 돼요. |
포샌디가 아직 못 하는 것
아래는 Threads가 막은 게 아니라 포샌디가 아직 만들지 않은 기능이에요.
| 기능 | 지금 상태 |
|---|---|
| 예약 발행 | 부르면 바로 올라가요. 대기열도 초안도 없어요. |
| 초안 | 쓰다 만 글을 저장하는 기능이 없어요. |
| 웹훅 | 대신 get_post로 상태를 확인해요. 텍스트 글은 몇 초 안에 끝나요. |
답글 다루기
AI는 글 아래 답글 스레드를 읽고, 그 안의 어느 답글에든 답을 달고, 답글을 숨길 수 있어요. 내 글이 아닌 글에 새 최상위 댓글을 다는 건 못 해요. Threads API에 그 기능이 없어요.
Threads 오류 문구 뜻
Threads가 거절하면 포샌디는 그 문구를 고치지 않고 그대로 전달해요. 그래야 그 문구로 검색해서 찾아볼 수 있어요. 아래는 Meta가 영상 컨테이너 오류로 문서에 적어 둔 값이에요. 다른 오류도 받은 그대로 넘겨요.
| Threads가 보내는 값 | 뜻 | 할 일 |
|---|---|---|
FAILED_DOWNLOADING_VIDEO | 포샌디가 넘긴 주소에서 Threads가 파일을 못 가져갔어요. | 포샌디로 파일을 올려 CDN에 두거나, 주소가 공개돼 있고 몇 분 동안 열리는지 확인해요. |
INVALID_ASPEC_RATIO | 화면 비율이 Threads가 받는 범위를 벗어났어요. 철자가 틀린 건 Meta가 정한 값이라 그래요. | 정사각형이나 9:16에 가깝게 다시 인코딩해서 올려요. |
INVALID_DURATION | 영상 길이가 Threads가 받는 범위를 벗어났어요. | 길이를 잘라서 다시 올려요. 같은 파일로 다시 보내면 또 실패해요. |
UNKNOWN | Threads 쪽 사정으로 실패했고, 이유는 안 알려줬어요. 이 값만은 포샌디가 문장으로 바꿔서 보여줘요. 글자 그대로는 아무 정보가 없어서예요. | 다시 시도해요. 같은 파일이 두 번째에 통과하는 경우가 많아요. |
자주 묻는 것
채널을 연결하지 않고 Threads에 올릴 수 있나요?
안 돼요. 올리려면 그 계정의 토큰이 있어야 하고, 토큰은 대시보드에서 연결할 때만 받아요. AI가 연결을 대신 해 줄 수는 없어요.
긴 글은 알아서 나눠서 올라가나요?
아니요. 일부러 자동으로 나누지 않아요. threadItems에 어디서 끊을지 직접 넣어요. 순서대로 올리고 사이사이 기다리는 건 포샌디가 해요. 이어 달기는 Threads와 Bluesky만 받는 형식이에요(Bluesky는 준비 중). Telegram, TikTok, 네이버 채널에 보내면 이어 달기가 없어서 422로 거절돼요.
연결을 끊으면 올린 글은 어떻게 되나요?
Threads에는 그대로 남아요. 포샌디에 있는 발행 기록과 숫자 기록도 남아요. 끊기는 건 새로 올리는 기능뿐이에요.
