Threads 게시물

Threads API를 사용하여 이미지, 동영상, 텍스트 또는 슬라이드 게시물을 게시합니다.

이 문서에서 다루는 내용은 다음과 같습니다.

단일 스레드 게시물

단일 이미지, 동영상 또는 텍스트 게시물을 게시하는 절차는 2단계로 구성됩니다.

  1. 텍스트만 있는 미디어 컨테이너를 만들거나 공용 서버에서 호스팅되는 이미지 또는 동영상과 함께 POST /{threads-user-id}/threads 엔드포인트를 사용하여 텍스트(선택 사항)로 미디어 컨테이너를 만들 수 있습니다.
  2. POST /{threads-user-id}/threads_publish 엔드포인트를 사용하여 미디어 컨테이너를 게시합니다.

제한 사항

  • 텍스트 게시물은 500자로 제한됩니다.
  • 이모티콘은 UTF-8 바이트 수로 계산됩니다.

1단계: Threads 미디어 컨테이너 만들기

POST /{threads-user-id}/threads 엔드포인트를 사용하여 Threads 미디어 컨테이너를 만듭니다.

매개변수

이름설명

is_carousel_item

부울

필수 항목.
이미지 또는 동영상이 슬라이드에 표시됨을 나타냅니다.

값:true, false(단일 스레드 게시물의 경우 기본값)

media_type

문자열

필수 항목.
현재 미디어 유형을 나타냅니다.

값:TEXT, IMAGE, VIDEO

참고:CAROUSEL은 단일 스레드 게시물에 사용할 수 없습니다.

image_url

URL

선택 사항. media_type=IMAGE에 필요.
이미지의 URL 경로입니다.

참고: 제공되는 URL을 사용하여 cURL로 이미지를 불러오기 때문에 이미지가 공용 서버에 있어야 합니다.

video_url

URL

선택 사항. media_type=VIDEO에 필요.
동영상의 URL 경로입니다.

참고: 제공되는 URL을 사용하여 cURL로 동영상을 불러오기 때문에 동영상이 공용 서버에 있어야 합니다.

text

문자열

선택 사항. media_type=TEXT에 필요.
게시물과 관련이 있는 텍스트입니다. URL이 포함된 경우 text 필드에 있는 첫 번째 URL이 게시물의 링크 미리 보기로 사용됩니다.

참고: 게시물 글자 수 제한에서 이모티콘은 UTF-8 바이트 수로 계산됩니다.

추가적으로 지원되는 매개변수는 POST /{threads-user-id}/threads 엔드포인트 참고 자료를 참조하세요.

요청 예시

curl -i -X POST \ -d "media_type=IMAGE" \ -d "image_url=<IMAGE_URL>" \ -d "text=<TEXT>" \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"

응답 예시

{
  "id": "<THREADS_MEDIA_CONTAINER_ID>"
}

2단계: Threads 미디어 컨테이너 게시

POST /{threads-user-id}/threads_publish 엔드포인트를 사용하여 이전 단계에서 반환된 미디어 컨테이너 ID를 게시합니다.

서버가 업로드를 완전히 처리할 수 있도록 충분한 시간적 여유를 제공하기 위해 평균 30초 정도 기다린 후 Threads 미디어 컨테이너를 게시하는 것이 좋습니다. 자세한 내용은 미디어 컨테이너 상태 엔드포인트를 참조하세요.

매개변수

이름설명

creation_id

정수

필수 항목.
Threads 미디어 컨테이너 ID입니다.

요청 예시

curl -i -X POST \ -d "creation_id=<MEDIA_CONTAINER_ID>" \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads_publish"

응답 예시

{
  "id": "<THREADS_MEDIA_ID>"
}

슬라이드 게시물

슬라이드 게시물에 이미지, 동영상 또는 그 두 가지의 조합을 최대 20개까지 게시할 수 있습니다. 슬라이드를 게시하는 절차는 3단계로 구성됩니다.

  1. 슬라이드에 표시할 각 이미지와 동영상에 대한 개별 미디어 컨테이너를 POST /{threads-user-id}/threads 엔드포인트를 사용하여 만듭니다.
  2. POST /{threads-user-id}/threads 엔드포인트를 사용하여 미디어 컨테이너를 포함할 단일 슬라이드 컨테이너를 만듭니다.
  3. POST /{threads-user-id}/threads_publish 엔드포인트를 사용하여 슬라이드 컨테이너를 게시합니다.

참고: 슬라이드 게시물은 프로필의 사용 제한에서 단일 게시물로 간주됩니다.

제한 사항

  • 슬라이드는 이미지, 동영상 또는 그 두 가지의 조합을 최대 20개로 제한합니다.
  • 슬라이드는 최소 2개의 하위 항목이 필요합니다.

1단계: 미디어 컨테이너 만들기

POST /{threads-user-id}/threads 엔드포인트를 사용하여 슬라이드에 표시될 각 이미지 또는 동영상에 대한 미디어 컨테이너를 만듭니다.

매개변수

이름설명

is_carousel_item

부울

필수 항목.
true로 설정하면 이미지 또는 동영상이 슬라이드에 표시됨을 나타냅니다.

값:true, false

media_type

문자열

필수 항목.
현재 미디어 유형을 나타냅니다.

값:IMAGE, VIDEO

참고:CAROUSEL은 단일 스레드 게시물에 사용할 수 없습니다.

image_url

URL

선택 사항. media_type=IMAGE에 필요.
이미지의 URL 경로입니다.

참고: 제공되는 URL을 사용하여 cURL로 이미지를 불러오기 때문에 이미지가 공용 서버에 있어야 합니다.

video_url

URL

선택 사항. media_type=VIDEO에 필요.
동영상의 URL 경로입니다.

참고: 제공되는 URL을 사용하여 cURL로 동영상을 불러오기 때문에 동영상이 공용 서버에 있어야 합니다.

text

문자열

선택 사항.
게시물과 관련된 텍스트입니다. URL이 포함된 경우 text 필드에 있는 첫 번째 URL이 게시물의 링크 미리 보기로 사용됩니다.

참고: 게시물 글자 수 제한에서 이모티콘은 UTF-8 바이트 수로 계산됩니다.

추가적으로 지원되는 매개변수는 POST /{threads-user-id}/threads 엔드포인트 참고 자료를 참조하세요.

요청 예시

curl -i -X POST \ -d "image_url=<IMAGE_URL>" \ -d "is_carousel_item=true" \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"

응답 예시

{
  "id": "<THREADS_MEDIA_CONTAINER_ID>"
}

작업이 성공할 경우 API는 슬라이드 컨테이너를 만들 때 사용할 수 있는 미디어 컨테이너 ID를 반환합니다.

슬라이드에 표시할 각 이미지 또는 동영상에 대해 이 절차를 반복합니다.

2단계: 슬라이드 컨테이너 만들기

POST /{threads-user-id}/threads 엔드포인트를 사용하여 슬라이드 컨테이너를 만듭니다.

매개변수

이름설명

media_type

문자열

필수 항목.
현재 미디어 유형을 나타냅니다.

값:CAROUSEL

children

리스트<int>

필수 항목.
게시된 슬라이드에 표시되어야 하는 이미지 또는 동영상의 미디어 컨테이너 ID를 쉼표로 구분한 리스트입니다.

참고: 슬라이드에는 이미지, 동영상 또는 이 두 가지가 혼합된 이미지가 최소 2개 이상, 최대 20개 이하로 포함되어야 합니다.

text

문자열

선택 사항.
게시물과 관련된 텍스트입니다.

추가적으로 지원되는 매개변수는 POST /{threads-user-id}/threads 엔드포인트 참고 자료를 참조하세요.

요청 예시

curl -i -X POST \ -d "media_type=CAROUSEL" \ -d "children=<MEDIA_ID_1>,<MEDIA_ID_2>,<MEDIA_ID_3>,..." \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"

응답 예시

{
  "id": "<THREADS_CAROUSEL_CONTAINER_ID>"
}

3단계: 슬라이드 컨테이너 게시

POST /{threads-user-id}/threads_publish 엔드포인트를 사용하여 슬라이드 게시물을 게시합니다.

참고: 프로필은 24시간 이내에 게시물을 최대 250개까지 게시할 수 있습니다. 슬라이드를 게시할 경우 이는 단일 게시물로 간주됩니다.

매개변수

이름설명

creation_id

정수

필수 항목.
Threads 슬라이드 컨테이너 ID입니다.

요청 예시

curl -i -X POST \ -d "creation_id=<MEDIA_CONTAINER_ID>" \ -d "access_token=<ACCESS_TOKEN>" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads_publish"

응답 예시

{
  "id": "<THREADS_MEDIA_ID>"
}

작업이 성공하면 API가 슬라이드 사진첩의 Threads 미디어 ID를 반환합니다.

주제 태그, 링크, GIF

게시물에서 주제와 링크는 참여를 유도하는 방식으로 표시됩니다.

주제 태그

주제는 토론의 핵심적 주제를 보여줌으로써 게시물이 더욱 친숙하게 다가갈 수 있게 합니다. topic_tag 매개변수를 사용하거나 게시물 본문 안에 태그를 포함하면 게시물에 주제를 포함할 수 있습니다.

topic_tag 매개변수 사용

참고: 주제 태그는 1자 이상, 50자 이내여야 합니다. 다음 문자는 허용되지 않습니다.

  • 마침표(.)
  • 앰퍼샌드(&)
요청 예시
curl -i -X POST \ -d "media_type=TEXT" \ -d "text=<Text>" \ -d "access_token=<ACCESS_TOKEN>" \ -d "topic_tag=<TAG>" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"

텍스트 내 주제 태그 사용

이 방법은 선호되지는 않지만 이전 버전과의 호환성을 위해 유지됩니다.

주제는 게시물 본문 내에 인라인으로 포함하여 게시물에 첨부할 수도 있습니다. 게시물당 하나의 주제 태그만 허용되므로 어떤 유형의 게시물(텍스트만 포함, 이미지, 동영상, 슬라이드)에서든 API를 통해 포함된 첫 번째로 유효한 태그가 해당 게시물의 태그로 간주됩니다.

텍스트 내 태그를 사용하여 게시물에 주제 태그를 추가할 때 유의해야 할 정보는 다음과 같습니다.

  • 유효한 태그는 해시 기호(#)로 시작합니다.
  • 또한 텍스트는 해시 기호 없이 앱에서 구성됩니다.
  • 주제는 1자 이상, 50자 이내여야 합니다.
  • 해시 기호가 앞에 붙은 정수(예: #1)는 태그로 변환되지 않습니다. 이는 이 시나리오에서 #이 숫자 기호를 의미하는 것으로 가정하기 때문입니다.
  • Threads API로 텍스트 내 태그를 사용할 때 다음 문자는 허용되지 않으므로, 해시 기호로 시작하는 텍스트 내 태그는 다음 문자 전에 끝나야 합니다.

    • 공백, 탭, 줄 바꿈 문자
    • 마침표(.)
    • 앰퍼샌드(&)
    • 골뱅이 기호(@)
    • 느낌표(!)
    • 물음표(?)
    • 쉼표(,)
    • 세미 콜론(;)
    • 콜론(:)

링크

게시물에 링크를 첨부하려면 미디어 컨테이너를 만들 때 link_attachment 매개변수를 사용하세요. link_attachment 매개변수를 제공하지 않는 경우, 텍스트만 있는 게시물에서 API를 통해 처음으로 설정한 첫 번째 링크가 링크 첨부로 구성되며 사용자가 더욱 쉽게 참여하고 클릭할 수 있도록 미리 보기 카드로 표시됩니다.

제한 사항

  • 이 기능은 텍스트 전용 게시물에만 제공됩니다. 이미지, 동영상, 슬라이드 게시물에는 제공되지 않습니다.

게시

POST /{threads-user-id}/threads 엔드포인트로 API를 호출하여 미디어 컨테이너를 만들 때 링크를 첨부할 수 있습니다.

이름설명

link_attachment

URL

선택 사항.
Threads 게시물에 연결하고 링크 미리 보기로 표시해야 하는 URL입니다. 이는 유효하고 공개적으로 액세스할 수 있는 URL이어야 합니다.

참고:media_type=TEXT 게시물에만 사용할 수 있습니다.

요청 예시
curl -i -X POST \ -d "media_type=TEXT" \ -d "text=<TEXT>" \ -d "access_token=<ACCESS_TOKEN>" \ -d "link_attachment=<URL> \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"
응답 예시
{
  "id": "<THREADS_MEDIA_CONTAINER_ID>"
}

위의 요청은 Threads 미디어 컨테이너를 생성하며, 컨테이너가 게시되면 미디어에 링크 미리 보기가 첨부됩니다.

미디어 가져오기

GET /threads 또는 GET /{threads_media_id} 엔드포인트로 요청을 보내 미디어 개체를 가져올 때link_attachment URL의 값을 가져올 수 있습니다.

이름설명

link_attachment_url

URL

Threads 게시물에 첨부된 URL입니다.

요청 예시
curl -s -X GET \ "https://graph.threads.net/v1.0/<THREADS_MEDIA_ID>?fields=id,link_attachment_url&access_token=<ACCESS_TOKEN>"
응답 예시
{
   "id": "<THREADS_MEDIA_ID>",
   "link_attachment_url": "<LINK_ATTACHMENT_URL>",
}

GIF

GIF는 사용자가 반응, 감정 또는 아이디어를 시각적으로 표현할 수 있도록 하여 게시물을 더 매력적으로 보이도록 합니다.

제한 사항

  • 이 기능은 텍스트 전용 게시물에만 제공됩니다. 이미지, 동영상, 슬라이드 게시물에서는 작동하지 않습니다.
  • Tenor는 현재 사용 가능한 유일한 GIF 제공업체입니다.

게시

POST /{threads-user-id}/threads 엔드포인트로 API를 호출하여 미디어 컨테이너를 만들 때 GIF를 첨부할 수 있습니다.

이름설명

gif_attachment

개체

선택 사항.
게시물에 첨부할 GIF의 ID 및 GIF 제공업체입니다.

필드:gif_id, provider

요청 예시
curl -i -X POST \ -d "media_type=TEXT" \ -d "text=<Text> \ -d "access_token=<ACCESS_TOKEN>" \ -d "gif_attachment={"gif_id":"<GIF_ID>","provider":"TENOR"}" \ "https://graph.threads.net/v1.0/<THREADS_USER_ID>/threads"

참고:Tenor API 응답에서 수신한 id 필드의 값은 API 호출에서 <GIF_ID>로 사용해야 합니다.

응답 예시
{
 "id": "<THREADS_MEDIA_ID>"
}

위의 요청은 Threads 미디어 컨테이너를 생성하며, 컨테이너가 게시되면 미디어에 GIF가 첨부됩니다.

미디어 사양

이미지 사양

  • 형식: JPEG 및 PNG 이미지 유형이 이미지 게시물에 공식적으로 지원되는 형식입니다.
  • 파일 크기: 최대 8MB입니다.
  • 화면 비율 제한: 10:1
  • 최소 너비: 320(필요한 경우 최솟값으로 확대)
  • 최대 너비: 1440(필요한 경우 최댓값으로 축소)
  • 높이: (너비 및 화면 비율에 따라) 상이
  • 컬러 스페이스: sRGB입니다. 다른 컬러 스페이스를 사용하는 이미지는 컬러 스페이스가 sRGB로 전환됩니다.

동영상 사양

  • 컨테이너: MOV 또는 MP4(MPEG-4 Part 14). 편집 리스트 없이 moov atom이 파일 맨 앞에 위치해야 합니다.
  • 오디오 코덱: AAC, 최대 샘플 속도 48khz, 1 또는 2채널(모노 또는 스테레오)입니다.
  • 동영상 코덱: HEVC 또는 H264, 프로그레시브 스캔, 폐쇄 GOP, 4:2:0 크로마 서브샘플링입니다.
  • 프레임 속도: 23-60 FPS
  • 화면 크기:
    • 최대 열(수평 픽셀): 1920
    • 필수 화면 비율은 0.01:1~10:1이지만 잘림이나 빈 공간이 생기지 않도록 하려면 9:16을 권장합니다.
  • 동영상 비트레이트: VBR, 최대 100Mbps입니다.
  • 오디오 비트레이트: 128kbps입니다.
  • 지속 시간: 최대 300초(5분), 최소 0초 초과입니다.
  • 파일 크기: 최대 1GB입니다.